4.2 KiB
P1R2 元治理规格计划留痕
任务背景
本次进入 P1R-2 Meta Real API spec + plan 阶段,目标是先完成 Meta 域真实业务 API 的事实盘点、规格和执行计划,不进入代码实现。
P1R-2 的核心不是继续增强 MuseContractPersistenceService,也不是把通用持久化响应包装成 Meta 业务结果,而是把 Meta 域从“通用持久化可响应”推进到“真实 Meta 治理 API 可验收”的规格和计划阶段。
执行位置
/Users/qingse/.config/superpowers/worktrees/oh-my-muse/dev-1.0.0
分支:
dev/1.0.0
说明:/Users/qingse/Sync/local-git/oh-my-muse 当前不是本阶段真实工作面,核验时位于 feature/p1-muse-cloud-backend-20260524 且有未跟踪文件。dev/1.0.0 已由上面的 superpowers worktree 占用。
已验证事实
P1R 覆盖矩阵中 Meta 域当前状态:
16 generic_persistence / incomplete
Meta 16 个 operation 全部来自 docs/api-contracts/meta/openapi.yaml,当前没有 dedicated / needs_verification、catch_all、sse_placeholder 或 missing。
当前 Meta 模块事实:
muse-module-meta-server只有AdminMuseMetaContractController。- 该 Controller 使用 wildcard 路由接管
meta-schemas、protection-nodes、function-chains。 - 当前请求统一委托
MuseContractPersistenceService.handle(...)。 - 当前没有 Meta 专用 Controller、Service、DTO、DO、Mapper、command/audit 服务和状态机。
当前 DDL 事实:
- V3 已有
muse_meta_schema、muse_meta_schema_version、muse_meta_field、muse_meta_visibility_policy、muse_meta_protection_node、muse_meta_function_chain。 - V3 不足以覆盖 validation result、impact preview、gray rule、FunctionChain version/slot/node relation、Meta command/audit。
- MetaSchema active 唯一约束不能按
tenant_id + schema_key过度约束,应按tenant_id + schema_id,因为 V3 允许(domain, scope, target_type, schema_key)组合唯一。
本阶段产物
- 规格:
docs/superpowers/specs/2026-05-27-P1R-2-meta-real-api-design.md - 计划:
docs/superpowers/plans/2026-05-27-P1R-2-meta-real-api.md
Review 结果
本阶段使用 fresh subagent 做了两轮文档 review。
第一轮 review 未通过,阻塞点包括:
blocked状态没有 OpenAPI/coverage 可执行入口。- Meta wildcard catch-all 路由退役顺序不清。
- Task 1 clean worktree 预期未考虑新增 review 文档。
- DDL active 唯一约束 identity 与 V3 不一致。
- rollback/deprecate 缺少 OpenAPI required 字段落地要求。
previewMetaSchemaDraftImpact缺少等价幂等键。- 权限和
code/data/msgcontroller 验收不够明确。
修正后第二轮 review 通过:
- P1R-2 收口状态统一为
dedicated / needs_verification,禁止completed和 coverageblocked收口。 - 增加 Task 9,专门退役 Meta 合同兜底路由,并要求 route ownership 测试证明 16 个路径不再调用
MuseContractPersistenceService。 validateMetaSchemaDraft/previewMetaSchemaDraftImpact确认为使用schemaKey + draftVersion + actor + draftHash的等价幂等键,不静默改 OpenAPI。- rollback/deprecate/publish/activate/gray/function-chain activate 均补齐 commandId、reason、version、validationResultId、impactPreviewId、权限、同源校验和 audit 要求。
- 计划补充
P1rMetaMigrationSqlTest聚焦验证 V10 迁移 SQL 和 active 唯一索引边界。
当前阶段边界
本阶段只完成规格和计划,没有实现代码。
未修改:
docs/api-contracts/meta/openapi.yamldocs/superpowers/reports/p1r-api-coverage.*muse-cloud/scripts/**muse-cloud/muse-module-meta/**实现代码
当前不应把任何 Meta operation 标为 completed。
下一步
进入 P1R-2 实现前,应从 docs/superpowers/plans/2026-05-27-P1R-2-meta-real-api.md Task 1 开始,按 fresh subagent + 两轮 review 执行。
实现阶段完成口径:
- Meta 16 个 operation 退出
generic_persistence。 - Meta 16 个 operation 全部为
dedicated / needs_verification。 - Content 51 个 operation 保持
dedicated / needs_verification。 - 不修改脚本掩盖缺口。
- 不把 Meta 标为
completed。