PLAT-04-013 统一运营实施边界与验收编排
运营工作包的代码责任范围、契约依赖、数据恢复约束与架构验收
1. 用途和版本依据
本页服务于 WP-PLAT-002 执行计划,将架构复盘转为实现边界。它是开发计划,不是已经落定的全部接口设计;新增端点、数据结构和委托协议须基于提供方现有契约形成具名增量。
后续架构约束以 DEV-X-01-007衔接:用户已明确多仓、React + Go + PostgreSQL + Redis、保留 new-api 底座及旧 Node/Python 无需兼容。Platform 提供统一登录鉴权、可用模型和图片/视频费用预估展示,与 Media 共同管理资源。各产品按重制批次接入,运营新增功能、产品重构和公共接入分别计量,不能把完整商业工作量作为统一技术栈预算。
2026-10-28 本轮只读确认 Platform 本机 HEAD 为 db801bf11c10ef7ba2987026110a95fce8681662,文档基线为 54c436784cc6394bffd2bc03dd9240e5b74c8d13。工作区包含其他任务修改,尤其源码 AGENTS、文档审计附件及索引;本轮不修改这些源代码或审计事实。精确本轮变更记录进入 PROC-02-022。后续代码开工重新固定 SHA 和实际 Owned Paths,不能把本计划当作永远有效的源码快照。
| 提供方/消费者 | 复盘可用依据 | 实施前必须确认 |
|---|---|---|
| Platform | 当前本机源码与正式契约可读;线上标签与实际二进制不一致,文本恢复路由已挂载 | 服务源码/构建输入、契约版本、客户端版本、制品摘要及端点,不把 401 当授权恢复通过 |
| 当前统一 Media assets | 审计定位 temp-media-gateway 的统一素材实现及 9220708 运行实例 | 实际修改仓/分支、公共域名至实例映射、合同和部署版本;不能误选独立历史 media-gateway |
| 旧 File Owner/Runtime | 旧协议和旧写入责任仍存在 | 哪些原任务/引用仍活跃、谁负责恢复;新接入不恢复旧桥接 |
| Creative共享基座与Studio产品 | Studio在基座内推进重制;Creative同时面向其他产品 | 分别确认承载实现和业务产品;按实际产品登记目录、消费、资源引用与运营审计,不把所有Creative操作归为Studio |
| 团队 WP-PLAT-001 | 需求/规格/工作包在独立 docs-team-workspace,已有 Accepted 文档 | 与主文档/实际源码的整合和契约版本;不因独立工作树已存在推断当前发布完成 |
本轮未再执行线上探测、读取云桶或业务库;历史运行事实只引用 PROC-04-005。
2. 唯一权威及请求边界
- Platform:会话、员工角色/动作、商品价格、订阅、订单、资金、权益及活动发放。已有商业 product scope 优先复用;全局 operations 的可选筛选不能充当产品授权。
- Media:原件、稳定资产身份、used/reserved、引用保护、读租约和物理删除;容量待遇由 Platform 唯一计算并带可核对版本,Media 应用准入。运营不直接访问桶或另算容量。
- 产品:项目/作品/提示词/产品公告及领域命令;Admin 经受限管理接口操作。统一工作台无产品数据库凭据,产品也不读取 Platform 业务库。
- 经营投影:只读事实和关联;重放只重建投影,绝不重发奖励、补资金或决定用户资格。
- Creative:跨产品画布与Agent基座。服务运行指标与业务产品指标分别记录;共享工具仍按产品对象范围授权,不以基座身份代替员工委托。见DEV-X-01-008。
- Runtime:现有 Agent/编排及原在途任务须具名交接;普通运营、资产读取与直接模型调用不以旧 Runtime 为必需依赖。目标 Agent 由 Go 产品宿主与公共机制承担,旧 Node/Python 运行责任有明确退役终点。
员工管理请求与用户消费、执行授权、材料授权分开。正式员工委托须绑定真实操作者、产品/动作/对象范围、有效期限和审计关联,产品再次验证对象及预期版本;具体签发方式在 WP-PLAT-004 定稿。拒绝把 product key、登录成功、角色名称或前端所选产品当作完整授权;拒绝万能 root 转发和含全部凭据的通用请求封装。
命令沿稳定身份保存请求摘要及回执,相同命令重复返回原结果、不同内容冲突;授权撤销拒绝新写,原查询/恢复按原权威服务策略执行,不能保留一个绕过撤销的后台入口。版本校验必须发生在权威服务,不能只在浏览器比较。
3. 各包候选 Owned Paths 与集成责任
以下为基于现有源码地图的候选修改区域,不授予整目录无限修改权。代码开工时逐文件登记实际变更与 owner;新增文件名称届时按正式规格确定。表中的新模块是计划,不声称已经存在。所有代码/CI 修改用隔离工作树,文档可在当前文档仓编辑。
| 工作包 | 候选区域/提供方 | 独占责任及共享界面 |
|---|---|---|
| 003 基线 | 文档 PRD/FS/WP、版本矩阵和需新建的决策草案 | 不改源码/部署;主审计附件保持原事实,不把建议标 Accepted |
| 004 授权契约 | Platform service/platform_identity_authorization.go、middleware/platform_identity.go、service/platform_commercial_products.go、service/platform_admin_operations.go,对应 controller/router/契约;提供方薄客户端落点待定 | 统一范围校验、员工委托及最小客户端;所有新业务包复用,不各加一套管理员系统 |
| 005 工作台 | Platform web/src/features/platform/ 的导航、草稿及发布体验;web/src/routes/admin/ 的具名入口 | 只负责壳和交互状态;不接管每个领域事务或重做全局 UI |
| 006 商品 | Platform model/platform_commercial_products.go、service/platform_commercial_products.go、platform_entitlement_subscriptions.go;已有商品/订阅编辑页面 | 商品定义和发布快照;已购资源执行归 007/008,不复制 DTO |
| 007 计量容量 | Platform service/platform_entitlements_allocations.go、platform_accounting_entitlements.go、platform_asset_storage.go 及关联模型/契约;核定 Media 的 unified assets/quota 范围 | 唯一资源分配和容量待遇;Media 实际用量准入由其 owner 修改,资金事务公共路径串行整合 |
| 008 交易交付 | Platform commercial payment/subscription service、对应 controller/model;wallet-subscription-shop、wallet-entitlements、team-funding 等已存在功能区域 | 原订单和交付;团队身份/预算/Key 沿 WP-PLAT-001,不平行重建 |
| 009 售后 | Platform customer subscriptions/admin finance/operation detail;相关服务和页面 | 原单退款、指定订阅调整及诊断;基础资金机制不因 UI 便利而改写 |
| 010 促销券 | Platform 新促销/券领域增量、原核价/订单衔接及对应管理页面 | 优惠版本、预算占用与核销;不复用兑换码/邀请码为同一种对象 |
| 011 活动 | Platform service/platform_business_activity_grants.go、既有 activities 管理与客户端功能及新任务/返利增量 | 可信任务资格和奖励;复用 007 资源交付,不新建奖励钱包 |
| 012 公告投放 | Platform admin-catalog-announcements 及公告/内容相关现有能力、具名 Console 位置;新位置目录/投放领域增量 | 平台正文、投放及 Console 呈现;产品公告只引用或经产品接口维护 |
| 013 产品适配 | 所选真实产品的管理/公告/事件/位置适配;Platform 必需的 scope 及投放客户端 | 每产品单独 Owned Paths/SHA/验收记录;不碰无关业务引擎,不恢复直接供应或本地钱包 |
| 014 报表 | Platform platform_operation_projection、platform_admin_operations 与对应概览/报表增量 | 最小事实、只读聚合和范围校验;不改变上游付款/资源真相 |
| 015 联合验收 | 各受影响工程具名测试、现有发布脚本必要修正、文档证据;基础设施仅限授权发布准备 | 不为本包新增全仓文档门禁、镜像 PR job 或清理历史服务 |
router/platform-router.go、正式契约总文件、启动迁移登记、资金分配及公共导航是高冲突区域;由接单时明确的集成责任人统一排序,其他包提交具名增量。007、008 与团队 WP 的资金/主体路径必须先核定责任,不同时重写同一条原分配逻辑。
4. 契约与最小客户端交付顺序
| 契约族 | 复用起点 | 本轮增量与消费者 |
|---|---|---|
| 身份/商业范围/员工操作 | 现有身份及 commercial-products、admin-operations 契约 | 操作范围强制、员工委托、命令版本与回执;Admin/产品管理适配器 |
| 商品/交易/订阅 | commercial-products、commercial-payments、my-subscriptions、subscription-records、team-management/funding | 动态权益、主体、发布/报价/交付及售后;Console 与产品购买入口 |
| 资源/容量 | entitlements、commercial-consumption、account-assets 与当前 Media assets 契约 | 秒数可信计量、政策版本、团队容量及有效容量回读;Platform 和 Media 联合 |
| 活动/促销/公告投放 | 先盘点已有 invitation/activity/announcement 能力 | 本轮正式增量:资格、预算、任务奖励、正文/位置/投放/阅读;不从 UI 虚构可用接口 |
| 受控事件/报表 | 已有 product business event 与 operation projection | 幂等来源、归属、必要业务事实和版本/迟到处理;不上传私密正文 |
Platform 正式来源为 docs/openapi/platform.json 与 fragments;路由和契约双向核对,消费者固定版本和可识别来源。后端公共客户端统一 Go,浏览器使用 TypeScript 类型及客户端;不为旧 Commerce 追加 Python SDK,也不建设 Node/Python 服务兼容层。包归属与版本发布衔接 DEV-X-01-007 的多仓公共包建议;正式契约继续由提供方维护,不新建全局 Contracts 仓,也不以整系统合仓为前置。当前任务不要求整套执行 SDK 全部完成才做 Admin 本域。
公共客户端明确配置凭据允许集、超时与错误分类、脱敏、原请求关联。读操作可有有界重试;有副作用命令未知时先按原身份查回执,不能在通用层自动换身份重发。若领域明确允许幂等重提,只能复用同命令和同内容并重新通过授权。生成收费 POST 不以网络错误为新派发理由;客户端生成成功类型不能替代真实供应结果证据。
4.1 Platform 必须先交出的接入基础
以现有 Platform 单个 Go 服务承载平台领域,React Admin 通过其员工接口工作;不新增一个持有各产品数据库凭据的运营服务。以下是交付要求和复用定位,源码存在不等于联调或线上已经通过。
| 输入 | 源码复用起点与必须补齐的边界 | 交接完成条件 |
|---|---|---|
| 产品身份及能力清单 | service/platform_identity.go 已有产品集合、凭据动作和 Origin;不是任意仓库名动态注册。复用 studio/drama/commerce 业务身份,先确认 Creative 映射,代际和部署分别登记 | 每产品记录业务ID、仓库/代际、实际端点、会话入口、已验证契约和可读/可写能力;密钥只在服务端。未接入和故障不是无数据 |
| 员工会话与范围 | platform_identity_authorization.go 复用员工动作;platform_commercial_products.go 复用商业产品范围。platform_admin_operations.go 当前全局查询的 product 筛选不构成授权 | 004A形成动作×产品×对象矩阵,前后端消费同一允许能力;所有读取和写入在服务端核权,全局权限必须显式授予 |
| 变更与恢复约定 | 复用 settings/subscription 等领域的版本及原回执;统一约定不等于统一所有领域表或事务 | 每动作声明请求身份、请求摘要、预期版本、成功回执、查询方式、冲突与未知处理;领域效果与回执/审计或持久审计outbox可靠同提交 |
| 模型与媒体预估 | 产品模型目录、媒体消费预览及零售价格引擎已存在;生成参数与计费用量schema分开 | 所有适用模型来自Platform;图片/视频规格、价格版本、钱包/权益结果由同一服务返回。价格变更后刷新;未知不当零;无生成或冻结副作用 |
| 员工资源管理 | 现有 materials 从会话绑定本人账户,不能开放任填 accountID 绕过。Platform→Media已有独立授权请求 | 004/007明确员工可见的账户/团队/产品/资产范围、脱敏和审计;只有受控管理合同通过后才展示他人资产。诊断不默认给私密预览权限 |
| 事实投影及审计关联 | 现有 operations、business event与projection可复用;通用审计当前并不覆盖所有领域 | 014定义来源产品、主体、原操作/订单、事件身份/版本、发生时间与接收时间。按原事实去重和修正;能跳回权威记录,不把多次重放当新消费 |
模型读取复用 GET /api/platform/v1/products/:product/models;图片/视频消费预览复用 POST /api/platform/v1/products/:product/media/consumption-preview。这两个是会话+产品凭据入口,不直接作为员工任意主体的模拟接口。Admin 管理仍走员工权限;跨用户/团队试算须有独立受控主体选择和授权,不能伪装用户会话。当前团队payer、未覆盖媒体规格需核实,只阻塞相关试算场景;不新增文本预估展示/API,已有文本计费和后台价格管理继续保留。
资源工作台先展示当前有效容量政策、used/reserved、归属、引用、租约及回收状态;每个字段来自对应权威,未回读时标为未知。不能因为运营有某产品范围就暴露同一用户全部跨产品文件或账户信息。新1 GB政策、总量/增量组合、个人/团队容量池须按正式决策启用;不通过本页改写原20 GiB待遇。Drama项目投影接入还需正式对象映射,不只扩一个白名单字符串。
4.2 当前源码可复用点与局部阻塞
以下固定引用对应本页既有源码基线,作为开发定位;业务验收另记录证据:
| 能力 | 可复用依据 | 阻塞范围 |
|---|---|---|
| 员工身份和动作 | 授权实现 | 复用,不重写SSO;产品员工仍需范围增量 |
| 全局操作查询 | 列表、详情 | 004A完成前保持全局授权,不向产品员工开放全局结果 |
| 产品身份及商业范围 | 身份定义、商业角色 | 已有产品调用Platform的合同不等于Platform调用产品的员工委托 |
| 媒体消费预览 | 预览服务、主体构造 | 用户预览不能证明任意员工模拟或团队付费覆盖 |
| 素材代理 | 账户绑定及项目限制 | 他人资产、团队与新产品项目接入分别补契约,不放宽本人接口冒充管理端 |
| 配置和发布 | 设置、订阅模板、公告 | 已有版本/发布可复用;单条公告不是多公告、人群、位置、排期与频控系统 |
| 管理前端 | 既有Admin导航 | 在现有routes/admin与features/platform内整合,不重建后台框架 |
4.3 分段开工及验收门槛
| 交付段 | 必需输入 | 可以交付什么 | 尚不能据此宣称什么 |
|---|---|---|---|
| 003A 基线 | 固定源码/契约、产品身份、并行修改归属;隔离PG/Redis计划和夹具 | 复用/增量清单、004A的具名路由和角色矩阵、可复验环境 | 线上制品或所有商业政策已经确认 |
| 004A 本域授权 | 003A;复用会话和动作模型 | Platform本域服务端范围、变更回执、审计;供005接线 | 完整跨产品员工委托或所有产品接入完成 |
| 005 首批接线 | 004A;所选现有领域的真实发布合同 | 员工进入获准产品空间,完成真实草稿→预览→发布→客户回读→审计;模型及订单诊断可用 | 全部新权益已交付,或仅导航可用就完成工作包 |
| 004B 跨产品委托 | 003A目标产品和004A授权语义,具名合同/入口决策 | 绑定操作者、受众、产品、动作、对象范围、期限、撤销与原请求的受限委托;产品独立验证 | 产品Key、EXA或mat1能代替员工授权;模拟宿主能代替真实产品 |
| 013A 接入准备 | 003A和提供方合同草案 | 每能力登记、客户端fixture、事件和位置规格 | 尚未通过合同的跨产品读写可以启用 |
| 013B 受限读取/内容 | 使用既有已验权合同,或完成004B;内容投放另需012 | 单产品真实受限查询、公告或位置回读,逐项记录 | 已完成购买、奖励、团队消费及B08完整闭环 |
| 013C 完整产品运营 | 013B+008/012及本旅程实际使用的活动、资源能力 | A77/B08及对应用户旅程独立验收 | 首个产品可以代替新Studio、Drama、Commerce全部完成 |
004B阻塞的是需要新跨产品员工委托的读取与写入,包括详情、搜索、导出、受限公告及私密内容;“只读”不是绕过授权的理由。Platform已持有的合法投影可在004A范围内先用;进入产品权威详情仍需对应授权。产品业务对象版本由产品校验,报表聚合层不作业务修改。
首批实施必须覆盖两员工/两产品的直接对象访问、范围篡改、混合批量、导出和回执负例;同内容重复命令只产生一次效果,旧版本冲突保稿,响应丢失或进程重启后能读回原结果。撤销后新写拒绝,恢复/历史读取遵循权威服务的现行授权策略。未使用某种读取形态的模块不制造假测试,新增该形态时须补对应范围验证。
目标环境验证使用隔离PostgreSQL和Redis,核对主库及独立日志库连接策略;Redis沿用会话、缓存、限流、预留协调等现有用途,不作为唯一审计或业务账本。运行版本、迁移和必要worker随功能固定。用户登录入口、Cookie/Origin及退出撤销应在实际联调域名验证;外部产品登录只约束相应产品接入,不强迫全部产品同时升级。
合同、服务端、Admin接线及真实回读按功能形成可审查变更。可以先以明确标记的fixture核对交互;它不能代替授权、资金或资源验收。共享导航、总路由、契约总文件、迁移登记和资金分配由一位集成责任人排序,避免为赶并行各自复制公共逻辑。
5. 持久化、迁移与恢复
- 保存草稿/发布版/原订单快照分开;当前编辑不覆盖旧单、已领优惠或已达成活动。新增 schema 使用提供方版本化增量,既有对象 ID 与资金原请求保持。
- 本地事务保存领域状态、命令回执和必要 outbox;跨服务调用不放进可重试数据库事务。跨 Platform/Media 不伪造分布式原子提交,靠原命令和持久回执恢复同一次履约。
- 支付、商品交付、奖励交付、供应执行、费用结算和产品保存分别保留事实。用户可统一看到处理中,内部必须定位卡在哪一段;局部失败不推导整单失败退款。
- 预算/券占用使用原事务和并发约束,未知支付不先释放;重复通知、迟到事件、进程重启不能再次生成奖励或挪用已有承诺。
- 容量发放采用可核对政策版本;Media 返回实际 used/reserved/有效容量。超额不删原件,历史“额外容量”与新“总容量目标”分别解释,不能把旧值当新值直接覆写。
- 公告投放引用正式正文及版本;产品正文保持原权威,重要更新和撤回带明确传播结果。运营公开素材有独立发布授权,受限素材不能因被选中就公开。
- 旧 Writer、原授权、历史文件保护及在途处理先盘点。停止新入口与停止原恢复器是不同动作;新包完成不能自动成为关闭旧实例的理由。
- 只读投影支持去重、乱序和重建;对账只能提示差异并返回权威服务处理,不能在报表侧自动补钱/补奖。
数据库实际变更、索引、回填规模、前后向兼容和停止点在各包开发规格中展开。生产容量缩减、客户迁移及旧文件处理另有批次范围,不使用文档修改或测试授权代替生产授权。
6. 架构验收 B01~B08
| 编号/主责 | 前置与动作 | 必须观察的结果 |
|---|---|---|
| B01/003 | 对照同一能力的源码、契约、客户端、制品摘要与实际入口,刻意包含标签不一致和未核实项 | 不凭名称合并代际;未知来源明确保留;生产候选须补齐来源,不将端点存在当授权验证 |
| B02/004 | 两账号/两产品/不同员工动作,尝试改筛选、直接对象访问、导出、聚合及批量 | 服务端统一限定范围;登录或前端隐藏不能扩大读取/写入,财务权限单独验证 |
| B03/004 | 仅产品凭据、过期/撤销员工授权、错误对象、旧版本和重复命令访问产品管理 | 产品复核操作者/范围/对象;拒绝无权写入,冲突不覆盖,重复只回原效果,不透传 root |
| B04/004 | 模拟提交前后断连、响应丢失及进程重启,观察客户端网络动作 | 只恢复同一命令/原请求;收费操作无自动重派,材料与执行授权不混用,无凭据泄露 |
| B05/007 | 配置容量并交付,两个产品引用同原件,存在预留/读租约/到期/超额 | Platform 待遇与 Media 实际使用/准入相符,重复引用不重复计字节,解绑不直接物删,产品不独立算配额 |
| B06/014 | 重复/乱序投递、延迟退款,清空测试投影后重建 | 权威订单/钱包/权益不变,报表最终与原事实可核对,无重复收入或隐私范围扩大 |
| B07/015 | 停止新售/新活动/新入口时存在原已付订单、待领承诺、在途任务和旧引用 | 原处理责任明确且继续收敛;未知不重派,新接口不覆盖旧任务,关投放不删除原承诺 |
| B08/013 | 同一固定契约由平台与一个获准真实产品消费;关闭 Runtime 进程依赖后执行普通运营和合法素材读取 | 两域权限与完整用户链通过;普通运营无 Runtime 强制依赖,产品私密内容仍由对象 ACL 保护 |
B04 的最小适配宿主不能替代 B08 的真实产品;资金或容量测试的专用数据库缺失/用例 skip 不计通过。测试失效委托和原任务恢复时沿现行授权规则区分“拒绝新写”和“允许恢复范围”,不发明永久特权令牌。
7. 验证编排和发布证据
每包先运行所改文件/工程快检及必要的业务专项。授权、资金、预算、权益、并发交付与恢复使用新建隔离 PG 和具名夹具;素材按需要联调真实隔离 Media,不将假容量响应作为容量生效证明。接口改动同时跑既有正式契约/路由一致性和消费端 fixture。
UI 验证使用真实接口状态,覆盖管理员、个人和团队及桌面/窄屏;所有新文案跟随既有语言体系,关键状态做键盘和读屏验证。业务恢复至少覆盖发送前后中断、首回执丢失、重启、重复命令、版本冲突和部分交付;不对每个 helper 添加镜像测试。
PR 沿用现有受影响工程检查名称,不增加全仓文档 ID、格式或 Issue 门禁;镜像和生产发布不在普通 PR 里运行,制品只做 linux/amd64。独立评审和 CI 状态不得由实现者伪造;证据放 07_过程记录,源码仓仅保留具名原始证据及机械契约。
发布材料包含:源码及构建输入、契约与消费版本、实际制品摘要、服务入口与启用范围、数据增量、每项验证、旧责任和停止方案。因复盘已发现标签漂移,发布后应对照实际制品核验,不仅填写预期标签。源码通过、隔离通过、真实支付通过和线上启用是四种不同结论。
本轮为纯文档,只运行文档链接/元数据、MDX、工作包依赖及验收覆盖检查。未启动任何数据库、服务或模型调用,未运行业务 CI/付费/生产验收。