Align capability maturity with frozen boundaries, record IAM readonly PASS without flipping production_ready, and leave Wave 1+ for fail-closed code. Co-authored-by: Cursor <cursoragent@cursor.com>
8.2 KiB
title, status, created, updated
| title | status | created | updated |
|---|---|---|---|
| FEATURE-MATRIX production-ready 连续性审计 | done | 2026-09-16 | 2026-09-16 |
FEATURE-MATRIX production-ready 连续性审计
结论
排除“纯软件项目自举”后,当前证据没有显示新的发布 blocker。CURRENT.md、gap-matrix.md 与 B1–B4 报告一致记录 production_ready=yes,dev/test/main 均为 schema 47。
FEATURE-MATRIX.md 仍需整改,但问题主要是状态语义混杂和证据漂移:同一个 partial 同时表示补证、首发后增强、实验、刻意关闭和真正的能力缺口。矩阵不能仅凭这些 partial 把 production-ready 回退,也不能据此宣称所有能力完整。
本轮只读核对文档和源码,没有运行测试、改业务代码、切换 feature flag 或操作共享环境。运行态事实仍以现有测试报告为准;后续状态提升必须重新验证。
审计边界
- 包含:除“纯软件项目自举”外的
partial行、与这些行直接相关的 done/deferred 边界、发布门禁和证据链。 - 不包含:纯软件项目自举的实现方案、FAV 的实现审计、业务代码整改、部署或环境晋升。
- 权威关系:
FEATURE-MATRIX.md描述能力成熟度;gap-matrix.md描述发布 blocker;CURRENT.md描述当前协作与环境快照。
已确认事实
- 发布门禁 B1–B4 已签,三环境 schema 为 47;U9–U12、FAV、完整 PI change-report 叙事和软件自举明确不挡当前首发。
- 对话刷新、重登、重启和跨用户拒绝已有真实 PI/运行态证据。
- 可靠事件 notify、workflow advance、projection 已 live,生产闭包 hook 已退出;FAV 仍保持 off。
- 多意图 U1–U8 已合入默认
legacy的安全基线,但 U8 真实 PI generate 在其报告中是 SKIP,不能写成真实生成闭环已签。 - 工作流治理的设置页、DutyMode、动作级鉴权和三工作流真实 PI E2E 已签;full/none 文档长链的页面证据仍未完整覆盖。
- 文档版本账本、人工修订、比较、通知和运行时 UI 已通过;change report 仍是明确标识的 deterministic fallback,不是完整 PI 叙事。
逐行核对
| 模块 | 当前判定 | 剩余工作 | 发布关系 |
|---|---|---|---|
| 意图识别 L1 | 当前行范围已具备改为 done 的条件 |
把 U9–U12 移出 L1 行;L1 只保留 18 类、三分支、读写分流和纯依赖边界 | 文档校准,不是 blocker |
| 多意图持久计划 | partial 合理 |
先补 U8 真实 PI + PG + browser + restart + 撤权证据;U9 独立实验;U10–U12 逐 action 扩面 | 默认 legacy,不挡首发 |
| 对话 / ctxmgr baseline | 当前冻结范围可改为 done |
语义摘要是 backlog D3,不是 D5;拆成独立 deferred/partial 行 | 文档校准,不是 blocker |
| 对话安全治理 D7 | deferred 独立行 |
数据分类,数据库/备份/日志控制盘点,留存删除口径和加密边界;若确认当前基线违规则升级 blocker | 待合规口径,不得无限期隐藏在普通 backlog |
| 工作流治理 | partial 合理 |
full 文档真实 PI 人工审批长链;none 文档真实 PI 生成、免审批、账本持久化和阶段不阻塞长链 | 补证优先,不预设改代码 |
| IAM / 鉴权 | 现有缺口文字过时,模块仍应暂保 partial |
历史读取统一 owner/阶段授权已闭环;改为全路由 inventory、PG fail-closed、管理员例外、缓存失效和 410 退役决策 | 若发现现行旁路则升级 blocker |
| 文档版本与修改认知 baseline | 当前冻结范围可改为 done |
账本、人工修订、真实 diff+lineage 和 UI 已签;完整 PI narrative 拆成独立 deferred/partial 行 | 文档校准,不是 blocker |
| 前端工作台 | 当前行范围可改为 done |
其他 409 消费方复用信封解析应另列 hardening,不能让当前能力永久 partial |
文档校准,不是 blocker |
| CI / E2E | partial 合理 |
夜间 RUN_PI_E2E=1、失败分类与证据归档;修复全仓 race 的 TempDir 异步收口 flake |
阻止下一次晋升,不自动否定已发布版本 |
| Artifact promotion | partial/deferred 独立行 |
现状只证明同 commit 与各环境 digest 可追溯;要声明 same-image promotion,需一次构建、按 digest 晋升和可执行 receipt | 发布加固,不反向否定已签版本 |
| 模块解耦与可靠事件 | 当前核心范围可改为 done |
将 FAV 拆成独立 deferred 行;选择性后续解耦按收益触发 |
FAV 保持 off,不挡首发 |
文档漂移
- 多意图行仍写“共享环境 schema 45 待晋升”,与三环境 schema 47 冲突。
- 对话行将语义摘要标成 D5;
chat-agent-p6-backlog.md中语义摘要实际为 D3,D5 是共享 KB 环境隔离评估。 - IAM 行仍把已经闭环的历史读取 owner/阶段授权写成待办。
- 前端行的“缺口/后续”没有未完成项,但状态仍是
partial。 - 模块解耦行把已完成的事件核心和故意关闭的 FAV 混在同一状态中。
2026-09-15-multi-intent-hitl-plan.md、Phase 2 解耦方案、HTTP 信封方案和相关历史研究的头部状态或叙事已被后续报告部分或全部取代。
历史文档不得删除。应在原文增加 implemented/superseded 指针,或更新仍作为活方案的状态与证据链接。
风险发现
IAM fail-open 潜在路径
internal/auth/store_factory.go 在 pool 为空或 IAM 表未就绪时回退 MemoryStore,没有按环境显式拒绝。当前 main schema 47 使该分支未被证实正在触发,因此本审计不直接翻转 production-ready;后续必须先只读核对部署实际选择,再把 fallback 改成仅 dev/test 加显式 opt-in 可用,空值、未知环境和 main/prod 一律 fail closed,并覆盖既有 session 的授权依赖中断负例。
状态提升越级
U8 的代码合入、默认 legacy 安全和真实 PI 放量是三件不同的事。矩阵若只写“U1–U8 完成”,会掩盖真实 PI stop-gate,并可能误导后续把 tier 升到 confirm/full。
none 语义误写
none 表示不需要人工三权审批,不是“none 文档审批长链”。验收应证明真实 PI 生成、版本账本、审批动作不适用和阶段不阻塞。
证据失效
测试报告只证明其 commit、schema、镜像、runner/model/protocol 和环境。代码、迁移、compose、flag、runner 协议变化或环境晋升后,历史 PASS 不能单独证明新部署。
推荐状态模型
能力状态与发布状态必须正交:
done:本行声明的能力边界已完成并有相应层级证据;不表示该领域永无后续。partial:已交付可用子集,行内列出尚未满足的关闭条件。planned:方案已存在但尚未实施。deferred:明确不进入当前路线,且不是发布 blocker。blocked:该行目标无法继续,必须给出 blocker 和恢复条件。production_ready:只由gap-matrix.md的发布门禁决定,不由所有能力行必须done推导。
重验触发器
发生以下任一变化时,受影响行必须重新验证,不能沿用旧 PASS:
- 授权谓词、owner port、会话或阶段作用域变化;
- schema、迁移、compose、镜像或环境晋升;
- feature flag/tier 从 off、legacy 或 shadow 升级;
- PI Runner URL、模型、typed-result 协议或 prompt/schema 变化;
- event consumer writer、lease、receipt、replay 或回滚路径变化;
- 浏览器用户流、SSE 恢复或持久化边界变化。
相关证据
- 能力矩阵:
status/FEATURE-MATRIX.md - 发布缺口:
remediation/gap-matrix.md - 当前环境:
ops/CURRENT.md - 发布门禁任务:
archive/ops/short-term/2026-09-16-production-ready-gates.md - 多意图设计与 U8:
system-design/2026-09-15-multi-intent-hitl-plan.md、test-reports/2026-09-16-multi-intent-u8-task-generate-test-report.md - 对话门禁:
test-reports/2026-09-16-chat-refresh-gate-test-report.md - 工作流 full/none 证据边界:
test-reports/2026-09-14-workflow-plan-409-frozen-and-optional-duties-test-report.md - 文档版本:
test-reports/2026-09-14-document-revision-runtime-ui-test-report.md - 事件与解耦:
test-reports/2026-09-15-phase2-closeout-test-report.md、ops/research/2026-09-15-track-e-retrospective.md