跳到主要内容

里程碑字段宽紧度演化矩阵

§0 范围

本文件单点定义跨里程碑(M0 → M1 → M1.5 → M2)的字段宽紧度演化矩阵:哪些字段在 M0 阶段以 Optional / stub 形式落地,哪些字段在后续里程碑收紧为 required,以及收紧时是否触发 audit_contract_regression 回归断言。事实源为 ADR-008 supplement 机制层输出契约扩展StructuredCognitionResult 1.1 契约源;本文件做派生编排,不复述字段语义。

范围更正(ADR-016M1 = 状态化 only,不碰认知核实。认知字段(s1 / mca_bucket.worst_axis / tag_version)的真算收紧时点为 M1.5「认知核实化」(M1 后、M2 前),非 M1。下表"M1 状态"列中这些认知字段维持 M0 stub 水平。

§1 字段矩阵

字段路径M0 状态M1 状态M2 状态收紧时点收紧时 audit_contract_regression 触发?
StructuredCognitionResult11Minimal.s1Optional(s1_mode + coupling_direction + confidence 三字段必填,其余 stub)同 M0 stub(M1=状态化,不碰认知核实)required(含 backtrigger / second_order_branchM1.5 认知核实化 启用 S1 完整子流程时(拆出 M1,见 ADR-016)是(新增 required 字段属破坏性变更,需 baseline regression test 通过 + audit trail)
Task.mca_bucket.worst_axisOptional(M0 允许 None)同 M0(仍允许 None)requiredM1.5 多桶裁决规则落地 + MCAClassifier §7 收敛是(字段语义从 Optional → required,需 audit trail 标注规则版本)
Task.mca_bucket.tag_versionOptional(M0 允许 None)同 M0(仍允许 None)requiredM1.5mca-v1.0 tag_version 锁定是(required 升级;同时影响 audit_events.payload.task_completed.mca_bucket_label 的派生写入)
StructuredCognitionResult11Minimal.regulation_statusOptional / stub(M0 整体留 None;MCA 轴 3 = F2/F3 时仅以 audit_events.payload.semi_manual_override 兜底)Optional(M3 启用:MCA 轴 3 = F2/F3 时必填)required(M5.3 / M5.4 全子机制上线后)M3 启用制度摩擦层时(条件 required)是(条件 required 升级需 schema regression + 审计联动 friction_layer)

§2 收紧路径要求

字段从 Optional → required 的工程动作:

  • 在对应 milestone 的 m{N}-*.yaml 里程碑契约 + tests/contract/test_pydantic_schema_stability.py 加一条 schema regression test,断言原字段从「allow None」收紧为「require non-None」。
  • audit_contract_regression.py --mode=compare 输出中允许字段 Optional → required 升级(默认按破坏性变更 fail,需在 baseline diff 注释里 opt-in 标注「tightening: m{N}-field-evolution」并写入 audit trail,对应 ADR-009 立场降级范式)。
  • 半人工覆盖路径(见 M0 走通骨架 §7 半人工标注 M0 接入)随字段收紧同步迁移:M0 阶段 audit_events.payload.semi_manual_override 中的 field 取值列表必须在 M1+ 启用完整 reviewer 工具串后清空或迁移到 reviewer 标注表。

§3 关联资产