跳到主要内容

ADR-008 supplement · 机制层输出契约扩展(StructuredCognitionResult 1.0 → 1.1)

1. 上下文

1.1 触发与跨工作流消歧

本 supplement 来自 governance/proposals/inbox/ 中由认知体系研究专题发起的「机制层输出契约扩展请求」。请求源头是 Phase 6 R-B 工程视角 review 在比对 Phase 3 8 机制升级稿与 L3 架构当前 StructuredCognitionResult 10 要素后明确指出:升级后的机制层产物(M3 跨时钟相位差矩阵 / M5 传导图含相关性跃迁 / M6 三态适用性 / M7.uq 双峰后验 + 凯利上限 / S1 横切子流程 8 字段 + MCA 7 分轴桶位元数据)共有 6 顶层字段 + 1 元数据无法在 10 要素契约里找到承载槽位(6 顶层字段:phase_evidence / causal_graph / regulation_status / applicability_flags / posterior / s1;1 元数据:Task 上的 mca_bucket)。新增字段量级超过既有契约的 50%,必须走正式 ADR supplement,不能以隐式扩展或文本字段附带方式处理。

跨工作流消歧注:本 supplement 承接本工作流的 ADR-008 主体「战略层与架构层关于结构化认知输出的对齐」,与 finbayes-arch-rewrite 工作流下的 ADR-008「LLM Provider 接口抽象」同号不同物,本 supplement 不涉及后者。supplements 字段显式指向本工作流内的 ADR-008 主体相对路径。

1.2 与 ADR-007 supplement 的承接关系

ADR-007 supplement「金融认知体系第一版正式构成」在 §5.3「已知工程依赖」段明确登记:M3 相位差矩阵 / M5 传导图 / M5.8 相关性跃迁标签 / M6 三态适用性 / M7.uq 双峰后验 + 凯利上限 / S1 8 字段输出 / MCA 桶位元数据的工程落地形态由本 supplement 承接;本 supplement 即兑现该工程依赖项。两份 ADR 的分工与边界:

  • ADR-007 supplement 锁定行为契约:字段语义、触发条件、机制间反向耦合、回路收敛上限、失败模式枚举。
  • 本 ADR-008 supplement 锁定工程契约:字段名(snake_case 最终态)、数据类型、必选可选、版本兼容策略、半人工标注承接、审计 trail 写入要求。

机制定义本身不在本 supplement 重复,仅以「来源机制」回引 ADR-007 supplement 的对应小节。

1.3 紧迫性

本扩展不阻塞 ADR-007 supplement 的 formalize(已完成 accepted),但强阻塞 Phase 4 评测体系的工程化落地:评测维度 D4(场景命中 + 传导链路完整性)、D5(金融规律应用准确性 + 规律不适用识别)、D6(偏差识别 + 不确定性量化)、D7(S1 叙事-数字一致性)均依赖本 supplement 锁定的 6 字段 + 1 元数据才能被结构化采集与可计算化。架构层若不承接,Phase 4 评测只能停留在文本层面,无法进入正式工程评测管线,亦无法支撑 Phase 5 治理流程「季度全量评估」的样本采集。

2. 决议

StructuredCognitionResult 从 1.0 升级到 1.1,整体策略

  • 10 要素契约全部保留,无替换、无删除。
  • 新增 6 个机制层字段(phase_evidence / causal_graph / regulation_status / applicability_flags / posterior / s1)作为 StructuredCognitionResult 顶层并列字段。
  • 新增 1 个 Task schema 元数据字段 mca_bucket(不进入 StructuredCognitionResult 本体)。
  • causal_graph 内补 correlation_regime 子字段(R2 mini-review 补字段,承载 M5.8 相关性跃迁结构性标签)。
  • 顶层引入 structured_result_version: str 版本字段,本次扩展定为 1.1
  • 字段命名严格 snake_case,本节锁定为最终工程契约口径,下游 Pydantic schema 与序列化层以此为准。

2.1 phase_evidence

  • 来源机制:M3 时间维度对齐(含 M3.t1–M3.t9 全 9 类时钟槽位 + M3.t9 Minsky 子相位 + M3.t8 Koo 资产负债表时钟)。
  • 数据类型:对象,含两子字段。
    • clocks: list[ClockPhase]:每个 ClockPhaseclock_id: str(取值如 M3.t1M3.t9)/ phase_label: str(机制自定枚举,如 late-debt / growth / speculative / hedge / ponzi 等)/ confidence: float ∈ [0, 1] / evidence_ref: str(指向 Evidence DAG 节点 id)。
    • phase_matrix: ClockPhaseMatrix | null:综合层 N×N 矩阵后处理对象,含 axes: list[str](轴标签即激活时钟 id,N ≤ 9)/ cells: list[list[str]](相位差枚举 aligned / lead-1 / lead-2 / lag-1 / lag-2 / opposed / not-applicable)/ contradictions: list[ContradictionEntry](含 axes: list[str] / type: str / severity: enum["low", "medium", "high"])。LLM 仅产 clocks,综合层产 phase_matrix(避免让 LLM 直出矩阵,对应 ADR-007 supplement §2.1 M3.t7 三段式路径)。
  • 必选可选:M3 启用时必选;M3 全槽位不激活时 clocks 为空数组,phase_matrixnull
  • 与 10 要素关系:并列新增。10 要素中「依据」承载文本依据,相位标签是机制层结构化输出,不应挤入「依据」自由文本,故并列。

2.2 causal_graph

  • 来源机制:M5 事件传导链路(含 M5.1–M5.8 全子机制 + M5.3 shared-book 四形态 + M5.4 制度摩擦层 + M5.5 反向力量 + M5.8 相关性跃迁;M5.9 Mundell-Fleming 占位由 nodes / edges 兼容承载,待 v1→v2 激活)。
  • 数据类型TransmissionGraph 子模型,含以下字段:
    • nodes: list[Node]:每个 Nodeid: str / object_ref: str(指向 M1 实体 / 关系 id)/ node_type: enum["entity", "relation", "attribute"]
    • edges: list[Edge]:每个 Edgeid: str / from_node: str / to_node: str / edge_type: enum["causal", "reflexivity", "shared-book", "institutional-friction", "cross-market-mapping"] / form: str | null(如 shared-book 四形态 acute-liquidity / structural-holder-rotation / policy-credit / a-share-retail-acute)/ path_confidence: float ∈ [0, 1] / translation_loss: float ∈ [0, 1]
    • reverse_forces: list[ReverseForce]:每个 ReverseForceedge_id: str / force_type: enum["arbitrageur", "policy-hedge", "liquidity-supplier", "fundamental-reverter", "structural-flow"] / evidence_ref: str
    • endogeneity: dict[str, enum["endogenous", "exogenous"]](按 edge_id 分类 M5.6 内生/外生)。
    • correlation_regime: CorrelationRegime(R2 mini-review 补字段,承载 M5.8 相关性跃迁,承接 ADR-007 supplement §5.3 工程依赖项):
      • regime_label: enum["normal", "tail-coupled", "regime-switched"]normal 对应 Longin-Solnik 普通区间;tail-coupled 对应尾部相关跃升但非结构性变更(如危机期暂时同步);regime-switched 对应 MPT 反向应用判定的结构性失稳(协方差矩阵不再可信,需触发 M7.uq 双峰重尾后验)。
      • pair_correlations: list[PairCorrelation]:每项含 node_id_a: str / node_id_b: str / correlation: float ∈ [-1, 1] / regime_label_local: enum["normal", "tail-coupled", "regime-switched"]
      • regime_shift_trigger: str | null:触发结构性跃迁的事件描述(如「2008-09-15 Lehman / 2020-03 全市场流动性危机 / 2024-08 carry unwind」);null 表示未触发。
    • unbalanced_loop_warnings: list[UnbalancedLoopWarning]:当某链路 M5.5 反向力量为空时显式 flag,含 edge_id: str / reason: str
  • 必选可选:M5 启用时必选。correlation_regime 在 M5 启用时必选,regime_label 至少为 normal,不可为 null
  • 与 10 要素关系:并列新增。10 要素的「依据」以文本承载因果叙述,无法表达图结构;「成立条件」与「失效条件」是结论侧,不能承担节点 / 边级别的路径粒度。correlation_regime 同时是 D9(跨市场对照推理)评测维度的核心输入。

2.3 regulation_status

  • 来源机制:M5.4 制度摩擦层 + M5.3 shared-book contagion 四形态判定(含失败模式 a/b/c/d 的「制度摩擦诱发」分类)。
  • 数据类型RegulationStatus 子模型,含以下字段:
    • friction_layer: list[FrictionItem]:每项含 friction_type: enum["t-plus-n", "price-limit", "trading-halt", "intraday-regulatory-change", "short-sell-restriction", "circuit-breaker", "foreign-investor-quota"] / severity: enum["low", "medium", "high"] / affected_node_ids: list[str] / evidence_ref: str
    • failure_modes: list[FailureModeFlag]:M5.3 四失败模式标记,每项含 mode: enum["a-acute-liquidity", "b-structural-holder-rotation", "c-policy-credit", "d-a-share-retail-acute"] / confidence: float ∈ [0, 1] / triggered_by_friction: bool / evidence_ref: strtriggered_by_friction = true 表示该失败模式由制度摩擦层放大或诱发,需在综合层与 friction_layer 联动审计。
    • regulatory_uncertainty: float ∈ [0, 1]:盘中监管变更可能性,喂回 M7.uq 双峰后验作为右尾偏置项。
  • 必选可选:MCA 轴 3(制度性摩擦)= F2 或 F3 时必选;F1 时可选,缺省为空对象。
  • 与 10 要素关系:与「失效条件」语义相邻但不同层regulation_status外生算子层(制度环境作为传导算子),10 要素「失效条件」是结论层条件(在何市场变化下结论失效)。两者并列,制度摩擦失效条件由综合层从 regulation_status 投影到「失效条件」文本字段,不替换。

2.4 applicability_flags

  • 来源机制:M6.4「规律不适用」显式输出子机制(ADR-007 supplement §M6 三态适用性)。承载 M6 三支柱(估值 / 因子 / 衍生品)在当前 case 上各自是否适用、部分适用或不适用,以及不适用原因。
  • 数据类型ApplicabilityFlags 子模型,结构为按支柱分键的对象:
    • valuation: PillarApplicability
    • factor: PillarApplicability
    • derivatives: PillarApplicability
    • 每个 PillarApplicability 含:
      • level: enum["applicable", "partial", "not-applicable"]
      • reason: str | null:不适用或部分适用原因(如「无基本面锚」/「周期 PE 错觉,mature 期表观便宜」/「标的衍生品市场未成熟」),level = applicable 时可为 null
      • evidence_ref: str | null:指向支撑判定的 Evidence DAG 节点 id(如指向 M1 实体或 M4 场景标签),便于审计回溯。
  • 必选可选:M6 启用时必选(7 任务类型中除「解释」外大多数任务都会激活 M6);M6 不激活时整体字段可为 null,但综合层默认按三支柱全 applicable 处理。
  • 与 10 要素关系:与「成立条件 / 失效条件」语义相邻但不同层applicability_flags规律层元标签(哪种规律对该对象可用),10 要素「成立条件」是结论层条件(在何前提下结论成立)。两者并列,不可合并;综合层可从 applicability_flags 投影补充叙述到「成立条件 / 失效条件」文本字段,但事实源以本字段为准。
  • 与其他新增字段关系:当 applicability_flags.valuation.level = "not-applicable" 时联动 S1 attention 二阶分支启用(见 §2.6 s1.second_order_branch);当 applicability_flags.derivatives.level = "not-applicable"posterior.fit_method 不得选 bayesian-module 中依赖衍生品 IV 的实现路径。

2.5 posterior

  • 来源机制:M7.uq 不确定性量化 + M7.meta-v1 元认知层(是否触发慢思考的二值判定)。
  • 数据类型BimodalPosterior 子模型,含以下字段:
    • fit_method: enum["prompt-direct", "multi-scenario-fit", "bayesian-module"]:对应 ADR-007 supplement §2.1 M7.uq 三条实现路径,v1 默认 multi-scenario-fit(LLM 输出 ≥ 5 组情景 → 后处理拟合双峰)。
    • mode_a: PosteriorMode:含 value: float / weight: float ∈ [0, 1] / tail_width: float ≥ 0
    • mode_b: PosteriorMode:结构同 mode_amode_a.weight + mode_b.weight = 1.0(±1e-6 容差)。
    • kelly_cap: float ∈ [0, 1]认知层对凯利公式上界值的估计,是一个不确定性 / 置信度度量。它产出的认知价值是让用户看清后验分布的双峰 / 重尾形状——即「若此判断完全成立,在用户自己的风险框架下投入比例不应超过此值」——从而把单点预测背后被掩盖的尾部风险显性化。它不是仓位建议、不替执行、不接受外部风险偏好的下行覆盖(语义口径以 MP-3 §2 A.1 为事实源)。M0 阶段消费方为 UI / CLI 翻译层(附「认知上界,非仓位建议」免责标签展示)、评测 EvalHarness(D6 / D7 不确定度匹配维度)、审计 AuditEvent(入 payload 留 30 天);消费方不含交易系统,与战略不变量「FinBayes 不直接下单」严格对齐。
    • slow_thinking_triggered: bool:M7.meta-v1 是否触发慢思考的判定结果(chain-of-thought + 多次采样投票路径是否被激活)。
    • prior_family: enum["bimodal-fat-tail-default", "single-mode-normal", "single-mode-fat-tail", "custom"]:v1 默认 bimodal-fat-tail-default
  • 必选可选:M7.uq 启用时必选(决策辅助 / 交易准备 / 风险识别类任务);解释 / 比较 / 复盘类任务可选。当 causal_graph.correlation_regime.regime_label = regime-switched 时强制必选。
  • 与 10 要素关系:与「不确定性 / 信息缺口」是同义指向,但既有字段是文本字段,无法承载分布形态参数。posterior 作为「不确定性 / 信息缺口」的结构化补充而非替换,文本部分仍保留;综合层从 posterior 投影出文本表述写入「不确定性 / 信息缺口」字段。kelly_cap 独立并列,是认知层对凯利上界的不确定性度量(详见上文字段定义),由 UI 翻译层 / EvalHarness / AuditEvent 消费,非交易系统消费的指令值

2.6 s1

  • 来源机制:S1 横切子流程(叙事-数字一致性),跨 M5 + M6 + M7 联合判定。
  • 数据类型NarrativeNumberConsistency 子模型,含以下字段:
    • s1_mode: list[enum["a-far-extrapolation", "b-source-missing", "c-narrative-data-detachment", "d-unit-accounting-incompatible", "positive-coupling"]]:可多选,承接 ADR-007 supplement §2.3 四失败模式 + 正向耦合标签 + 模式 d 计量单位 / 会计准则不可比。
    • coupling_direction: enum["narrative-leads-numbers", "numbers-lead-narrative", "decoupled", "positive-coupled"]
    • coupling_strength: float ∈ [0, 1]
    • evidence: S1Evidence:含 narratives: list[str](叙事原文或摘要)+ numbers_ref: list[str](指向 10 要素「依据」中的数字证据节点 id,不复制内容避免双源漂移)。
    • falsification_ref: str | null:指向 10 要素「失效条件」中对应可证伪条件节点 id(不复制内容)。可证伪条件抽取走 ADR-007 supplement §2.3 四要素模板(quantitative_target / time_horizon / observable_source / falsification_threshold)+ self-consistency n=5 投票。
    • backtrigger: list[BackTrigger]:每项含 target: enum["M5", "M6", "M7", "M7b-meta"] / reason: str / priority: enum["high", "medium", "low"]
    • confidence: float ∈ [0, 1]
    • second_order_branch: AttentionMarketBranch | nullapplicability_flags.valuation.level = "not-applicable" 时启用(即 M6 估值支柱不适用,Case 10 meme 类锁定),含 attention_signals: list[AttentionSignal](含 signal_type: enum["funding-rate", "on-chain-first-sign", "concentration", "kol", "micro-cycle-phase"] / value: float / evidence_ref: str)+ narrative_self_consistency: float ∈ [0, 1]
    • convergence_flag: ConvergenceFlag:含 loop_count: int ∈ [0, 3](N=3 上限,承接 ADR-007 supplement §2.3 回路收敛 v1 锁定)/ converged: bool / convergence_method: enum["hash-stable", "confidence-soft", "max-loops", "multimodal-archive"]
  • 必选可选:S1 作为横切子流程在所有任务终态前都会触发,故必选;applicability_flags.valuation.level = "applicable"second_order_branch = null,其余字段必填。
  • 与 10 要素关系
    • s1.evidence.numbers_ref 与 10 要素「依据」存在语义重叠,通过引用 id 而非复制避免双源漂移。
    • s1.falsification_ref 与 10 要素「失效条件」语义一致,统一以 10 要素「失效条件」为事实源s1 内只保留引用 id。
    • 其余字段(s1_mode / coupling_direction / coupling_strength / backtrigger / confidence / second_order_branch / convergence_flag)为独立新增。

2.7 mca_bucket(Task schema 元数据)

  • 来源机制:MCA 7 分轴横切维度(ADR-007 supplement §2.2)。
  • 位置不进入 StructuredCognitionResult,进入 Task schema 元数据层。理由:MCA 标签是任务发起时刻的横切上下文,不是单次认知输出的内在要素;评测桶分层依赖任务元数据而非认知输出本身。
  • 数据类型MCABucket 子模型,含以下字段:
    • axis_1_investor_structure: enum["L1", "L2", "L3"]
    • axis_2_derivatives_maturity: enum["D1", "D2", "D3"]
    • axis_3_institutional_friction: enum["F1", "F2", "F3"]
    • axis_4_non_market_actor: enum["N1", "N2", "N3"]
    • axis_5_credit_environment: enum["C1", "C2", "C3"]
    • axis_6_information_availability: enum["I1", "I2", "I3"]
    • axis_7_currency_cross_border: enum["K1", "K2", "K3"]
    • bucket_label: enum["B1", "B2", "B3", "B4", "B5a", "B5b", "B6", "B7"]:7 MCA 桶位(R1 拆 B5 为 B5a / B5b)的最终归类。
    • worst_axis: str:三档阈值最差档(如 axis_4_N3 / axis_3_F3),用于评测分桶 + 风险预算预警。
    • tag_version: str:MCA 轴位标签版本,年度校准刷新(如 mca-v1.0)。
  • 必选可选:必选。所有 Task 入库时必须有 mca_bucket,缺省由意图识别层根据 Fin Object 属性自动判定 + 落入 Audit Trail。

3. 与原 ADR-008(1.0)的差异表

维度ADR-008 主体(1.0)本 supplement(1.1)
字段个数10 要素10 要素 + 6 机制层字段(StructuredCognitionResult 内)+ 1 元数据(Task schema 内)
版本号字段顶层 structured_result_version: str(本次锁为 1.1
机制层结构化输出仅文本「依据」+ 文本「失效条件」承载phase_evidence / causal_graph / regulation_status / applicability_flags / posterior / s1 六结构化字段
相关性跃迁未提causal_graph.correlation_regime(R2 mini-review 补字段,承载 M5.8)
制度摩擦未独立结构化regulation_status.friction_layer + 失败模式 a/b/c/d flag
M6 三态适用性未提applicability_flags(R1 修订 / 用户拍板 2026-05-28,三支柱 × 三态枚举 + reason,由文本承接升级为独立字段)
双峰后验未提posterior.mode_a + posterior.mode_b + kelly_cap + 慢思考触发标记
S1 横切子流程未提s1 8 字段输出 + N=3 回路收敛 + attention 二阶分支 + 反向触发
MCA 桶位未提Task schema 元数据 mca_bucket(不进 StructuredCognitionResult)
字段命名风格中文要素名snake_case(工程契约口径)
战略不变量「画像不裁剪事实空间」完全继承,无修改
7 任务类型动态组合10 要素按任务动态组合6 新字段按机制激活动态可选(不强制全量出现)

差异处理路径:本 supplement 不替换原 ADR-008 主体,作为正式 supplement 锁定 1.1 工程契约。下游引用(Pydantic schema / 序列化层 / 审计 trail / 评测管线)按本 supplement 为工程契约事实源。

3.1 版本兼容策略(1.0 → 1.1)

核心兼容承诺

  1. 旧 consumer 必须能忽略新字段不报错:序列化层在反序列化 1.1 输出时若 consumer 声明 structured_result_version = "1.0",6 顶层字段 + 1 元数据必须以「未知字段宽容」模式被跳过,不触发反序列化失败。Pydantic 配置 model_config = ConfigDict(extra="ignore"),下游若需严格模式自行 opt-in。
  2. 新 consumer 必须能识别 1.0 输入并降级处理:当 consumer 收到 structured_result_version = "1.0"(或缺省视为 1.0)的输出时,6 顶层字段 + 1 元数据以 None 缺省值处理;下游评测维度 D4 / D6 / D7 在缺字段时降级为「文本层评测」并在评测元数据中标注 degraded-text-only,不阻断评测管线。
  3. Audit Trail 必须记录版本号:每条 Judgment Record 顶层写入 structured_result_version,撤回或降级时按版本筛选受影响记录。本要求与架构主稿审计 trail 章节配套(具体落地由下一轮 B-1 任务同步到架构主稿)。
  4. 版本升级路径1.1 之后机制扩展(如 ADR-007 supplement §5.1 v1→v2 路径触发新机制纳入)走 1.2 / 2.0 升级。1.x 系列承诺向后兼容(新增可选字段不破坏旧 consumer),2.0 允许 breaking change 但须走变更协议 L4 流程 + 14 天异议期。
  5. Mock Provider 与录制重放兼容:架构主稿测试章节定义的 LLM Mock 三模式(录制 / 重放 / 直通)必须能处理 1.0 与 1.1 混合录制;重放层在版本号缺失时按 1.0 处理。

4. 与 ADR-007 supplement 与 ADR-009 的关系

4.1 与 ADR-007 supplement 的承接

ADR-007 supplement §5.3「已知工程依赖」段列出的工程依赖项与本 supplement 字段映射如下:

ADR-007 supplement 工程依赖项本 supplement 承接位置
M3 跨时钟相位差矩阵phase_evidence.phase_matrix
M5 传导图 + 反向力量 + 制度摩擦causal_graph + regulation_status
M5.8 相关性跃迁标签causal_graph.correlation_regime
M6 三态适用性applicability_flags(三支柱 valuation / factor / derivatives × 三态枚举 applicable / partial / not-applicable,含 reason 与 evidence_ref)
M7.uq 双峰后验 + 凯利上限posterior
S1 8 字段输出 + 回路收敛 traces1
MCA 桶位元数据Task schema mca_bucket
M6.X ↔ M6.1 双向耦合求解顺序本 supplement 不锁定(属综合层 pipeline 设计),由架构主稿 §6 / §9 在下一轮 B-1 任务同步时显式锁两轮迭代收敛
S1 反向触发回路 N=3 与 asyncio.TaskGroup join 屏障语义s1.convergence_flag.loop_count ∈ [0, 3] + 架构主稿 §12 并发章节承接 join 屏障语义(B-1 任务范围)

M6 三态适用性的承接选择 audit trail:起草初稿曾出于「契约扩张面最小化」原则将 M6 三态降级为 10 要素「成立条件」文本承接,并将 applicability_flags 列为「1.1 → 1.2 路径再补」的延后项。用户 2026-05-28 R1 修订拍板恢复为独立顶层字段,理由:(1) M6.4「规律不适用」是 ADR-007 supplement 锁定的核心子机制,文本承接会丧失结构化可计算性;(2) D5(金融规律应用准确性 + 规律不适用识别)评测维度直接以三态标签为输入,文本层无法支撑评测管线;(3) S1 attention 二阶分支启用条件依赖 applicability_flags.valuation.level = "not-applicable",文本承接会让该跨字段联动失去结构化触发依据。本 supplement 与 R-B 原请求 5 字段清单的差异点据此关闭,最终为 6 字段 + 1 元数据。

4.2 与 ADR-009 的范式继承

ADR-009 把 v2 三条「不可妥协边界」有意识降为「v3 当前版本立场」并显式留 audit trail,唯一保留 identity 级的是「认知与执行分工」。本 supplement 继承同一范式:

  • 不变项(修订须走变更协议 L4 + 14 天异议期):10 要素契约 / 战略不变量「画像不裁剪事实空间」/ structured_result_version 版本号字段的存在性 / Audit Trail 写入要求。
  • 可演化项(走 L2 / L3):6 字段内部子结构 / mca_bucket 桶位标签版本 / posterior.fit_method 实现路径选择 / s1.convergence_flag.loop_count 上限值 / applicability_flags 支柱枚举集(如未来纳入 M6.6 控制权溢价 / 协同价值支柱)。
  • 降级 / 回滚也留 audit trail:本 supplement 起草过程中曾考虑将 M6 三态降级为文本承接,最终经用户 R1 修订恢复为独立字段(详见 §4.1 audit trail);后续若再降级或回滚,同样走 audit trail。

5. 后续

5.1 半人工标注承接条款

ADR-007 supplement §5.3 + Phase 5 治理稿 §半人工标注 SLA 段明确以下机制 / 字段在 v1 阶段允许由人工标注填入:

  • M5.3 (c) policy-credit 形态判定:v1 允许 reviewer 在 24 小时 SLA 内人工标注 causal_graph.edges[?].form = "policy-credit",对应 regulation_status.failure_modes[?].mode = "c-policy-credit"。模型自动产出版本作为 candidate,reviewer 复核确认或推翻;推翻案例进入 case 库 holdout 集。
  • M5.3 (d) a-share-retail-acute 形态判定:同上 SLA,对应 regulation_status.failure_modes[?].mode = "d-a-share-retail-acute"
  • MCA 轴 4 = N3 时的非市场参与者注入判定:v1 允许 reviewer 人工标注 mca_bucket.axis_4_non_market_actor = "N3" + 在 Audit Trail 中标注「半人工」flag。
  • M7.meta-v1 慢思考触发判定:v1 允许 reviewer 推翻模型自动判定的 posterior.slow_thinking_triggered,推翻记录进入 Phase 5 季度全量评估的 contested-points
  • M6 三支柱适用性 partial 边缘判定:v1 允许 reviewer 推翻模型自动产出的 applicability_flags[pillar].level,特别是 applicablepartial 之间的边缘判定(如周期 PE 错觉案是否已构成 partial)。not-applicable 判定门槛较硬(无基本面锚 / 衍生品市场未成熟等),人工推翻须附 reason 文本与 evidence_ref 节点 id;推翻记录进入 case 库 holdout 集,喂回 D5 评测维度回归。

必须模型自动产出(不允许人工标注覆盖最终值):

  • phase_evidence.clocks 全部子字段(M3 时钟阶段标签)。
  • phase_evidence.phase_matrix.cells(综合层自动拼装,不接受人工填入单元格)。
  • causal_graph.nodes / causal_graph.edges 主体结构(M1 / M5 链路建模产物)。
  • posterior.mode_a / posterior.mode_b / kelly_cap(M7.uq 拟合产物)。
  • s1.coupling_strength / s1.confidence(S1 量化判定)。

SLA 上限(承接 Phase 5 治理稿):

  • 延迟:reviewer 标注 24 小时 SLA(与 Phase 5 治理稿一致)。超 SLA 由综合层自动 fallback 到模型 candidate 输出 + Audit Trail 标注 sla-breached
  • 准确率:reviewer 标注与模型 candidate 的差异率 ≥ 30% 时触发 mini-review,复核 prompt / 提示工程。
  • IAA(inter-annotator agreement):≥ 2 reviewer 标注同一 case 时,kappa ≥ 0.7 方入评测池;不达标走 Phase 5 治理稿「3:1 多数票」流程。
  • 复核要求:半人工标注 case 的 mca_bucket + 失败模式标记必须双 reviewer 盲交叉;分歧记入 contested-points 不强制收敛。

具体 SLA 落地与 reviewer 工作流细节由 Phase 5 治理稿合并写回时补一份附录段(不在本 supplement 范围)。

5.2 实现路径

  • Pydantic schema 扩展:在工程实施仓 cognition/types.py(参见架构主稿 §27 代码仓位置映射)补 6 新字段 + Task schema 补 mca_bucket + 顶层补 structured_result_version。M0 走通骨架阶段以最小子集落地(仅 phase_evidence.clocks / causal_graph.nodes + causal_graph.edges 主体 / applicability_flags 三支柱 level + reason / posterior.mode_a + posterior.mode_b + kelly_cap / s1.s1_mode + s1.coupling_direction + s1.confidence / mca_bucket 七轴 + bucket_label),剩余子字段在 M1–M3 里程碑逐步补齐。
  • 序列化层:JSON 序列化 + SQLite Audit Trail 写入按 structured_result_version 路由读写器。Mock Provider 录制重放层兼容 1.0 / 1.1 混合录制。
  • 审计 trail 层:每条 Judgment Record 顶层写入 structured_result_version + mca_bucket 元数据;撤回或降级支持按版本筛选。
  • 评测管线:Phase 4 D4 / D5 / D6 / D7 评测器按本 supplement 字段实现结构化评测;缺字段时降级为文本评测并标注 degraded-text-only。D5 直接以 applicability_flags 三支柱 level 为输入。

5.3 测试要求

  • 单元测试:6 新字段 + 1 元数据的 Pydantic 校验 / 取值约束(如 mode_a.weight + mode_b.weight = 1.0 / loop_count ∈ [0, 3] / applicability_flags 三支柱必填 + level 枚举合法性 / 枚举值合法性)/ snake_case 字段名稳定性。
  • 集成测试:1.0 / 1.1 混合 consumer 兼容测试(旧 consumer 忽略新字段不报错 + 新 consumer 识别 1.0 降级处理)。
  • 端到端测试:录制 5 条 case(参考 m0-walking-skeleton 5 条样例输入)的 1.1 输出 + 重放校验稳定性。
  • 评估测试:D4 / D6 / D7 评测器在 1.1 输出下的指标可计算性 + 在 1.0 输入下的降级标注正确性。
  • 回归测试:架构主稿 §21 评估闭环章 Case Library 回归追踪在 1.0 → 1.1 升级窗口期保留双版本对照。

5.4 后续工作(不在本 supplement 范围)

  • B-1 架构主稿同步:将本 supplement 6 字段 + 1 元数据 + 版本号 + 兼容策略写入架构主稿 §4 / §6 / §15 / §18 / §27 对应小节。本任务不改架构主稿本体。
  • L2 产品定义层 §7 表 7 修订:v1 阶段不强制修订,7 任务类型仍以 10 要素为契约基线;v1→v2 路径触发后若 D4 / D5 / D6 / D7 评测显示 6 字段对任务-要素映射有结构性影响,再启动 L2 修订。
  • 半人工标注 SLA 附录:Phase 5 治理稿合并写回时补 reviewer 工作流细节段。
  • Pydantic schema 落盘:工程实施仓动作,不在本仓范围。

6. 关联资产