Error Ledger 与 Triage 环
Error Ledger 与 Triage 环 broken 记录与记忆
复合态:记录侧活,triage 消费侧停摆 9 天无 cron;这是 07-19 trace 审计「solid」的唯一负结论
职责:errors.jsonl 记录运行时错误,triage 应把候选送人审再回填 requirement_record,形成出错→登记→处置→反馈闭环
策展 as-of 2026-07-19 · 状态真源 data/systems_status.mjs(人工策展,机器测不出 live/partial)
证据锚
contexts/survey_sessions/trace_base_tooling_state_audit_20260719_manual.md· 2026-07-19contexts/runtime/error_ledger/errors.jsonl· 2026-07-19
未决项(3)
- T3920 P0:triage 断链(triage_candidate_queue 停在 07-10/07-11)
- T3921 P0:top 错误 missing_task_id 复发 40%
- chain_emit 违约自动注册 91 条(86 active 未审),无禁用开关,未处置
进出边(消费链登记)
→ Todo / Intake 系统(broken:triage 停摆 9 天);→ Todo / Intake 系统(violation:违约自动注册 91);← Receipts / Trace 记录面(degraded:receipt_id 90% 空)
结构图(5 张 · 快照)
一、设计架构图(6 du 节点 + 7 external 节点 / 4 条 du→du 边 + 8 条 external 边)设计图 · error_trace_feedback · 块 1
flowchart TB subgraph lBoundary_group["契约/边界层"] du_etf01_thin_boundary["du_etf01_thin_boundary<br/>薄域边界声明"] end subgraph lEdgeLogic_group["边逻辑层"] du_etf02_triage_checker["du_etf02_triage_checker<br/>triage 检查器(读侧)"] du_etf03_receipt_backfill["du_etf03_receipt_backfill<br/>receipt_id 回填(写侧)"] du_etf04_intake_prefill["du_etf04_intake_prefill<br/>intake 预填(预填)"] du_etf05_receipt_abnormal_edge["du_etf05_receipt_abnormal_edge<br/>receipt 异常扫描边(异常写侧)"] end subgraph lGovernance_group["元/治理层"] du_etf06_ddp_dogfood["du_etf06_ddp_dogfood<br/>DDP dogfood 四段流程"] end subgraph external_group["域外系统锚(external_partners,不接管)"] ext_error_ledger["error_ledger<br/>errors.jsonl"] ext_tool_receipts["tool_receipts<br/>receipts.jsonl"] ext_rr4_capture["rr4_capture<br/>intake_bridge.py"] ext_todo["todo<br/>todo.py intake"] ext_chain_emit["chain_emit<br/>emit_agent_finding"] ext_ddp["ddp<br/>check_artifact.py"] ext_decision_guidance["decision_guidance<br/>D-4 协议"] end %% ---- 设计承诺边 design_edges(4 条,du→du)---- du_etf03_receipt_backfill -->|reuses-matching:回填复用 triage 匹配聚合| du_etf02_triage_checker du_etf04_intake_prefill -->|extends-queue:预填字段扩展候选队列| du_etf02_triage_checker du_etf05_receipt_abnormal_edge -->|shares-receipt-match:共享 receipt↔error 匹配底层| du_etf03_receipt_backfill du_etf06_ddp_dogfood -->|charters:DDP 四流承载边界声明| du_etf01_thin_boundary %% ---- external_partners 边(8 条,标 read/write/reuse-pattern/prefill-target/verify/consume)---- du_etf02_triage_checker -.->|read:读台账产物| ext_error_ledger du_etf02_triage_checker -.->|read:非零 receipt 作匹配源| ext_tool_receipts du_etf03_receipt_backfill -.->|read:非零 receipt 作匹配源| ext_tool_receipts du_etf05_receipt_abnormal_edge -.->|read:非零 receipt 作扫描源| ext_tool_receipts du_etf03_receipt_backfill -.->|write:备份后重写 receipt_id| ext_error_ledger du_etf05_receipt_abnormal_edge -.->|write:显式触发 auto_emit 追加| ext_error_ledger du_etf04_intake_prefill -.->|reuse-pattern:候选队列同构模式源| ext_rr4_capture du_etf04_intake_prefill -.->|prefill-target:只预填命令数组不自动调用| ext_todo du_etf05_receipt_abnormal_edge -.->|"(设计未点名):auto_emit 实现侧接线待登记"| ext_chain_emit du_etf06_ddp_dogfood -.->|verify:DDP gate 消费本域四流| ext_ddp du_etf06_ddp_dogfood -.->|consume:M5 决策边界消费 D-4| ext_decision_guidance %% ---- classDef:按 layer 的结构色(不表状态)---- classDef lBoundary fill:#dcfce7,stroke:#15803d,stroke-width:1.5px,color:#14532d; classDef lEdgeLogic fill:#dbeafe,stroke:#1d4ed8,stroke-width:1.5px,color:#1e3a8a; classDef lGovernance fill:#fef9c3,stroke:#a16207,stroke-width:1.5px,color:#713f12; classDef external fill:#ffffff,stroke:#64748b,stroke-width:1.5px,color:#334155,stroke-dasharray: 4 3; class du_etf01_thin_boundary lBoundary; class du_etf02_triage_checker,du_etf03_receipt_backfill,du_etf04_intake_prefill,du_etf05_receipt_abnormal_edge lEdgeLogic; class du_etf06_ddp_dogfood lGovernance; class ext_error_ledger,ext_tool_receipts,ext_rr4_capture,ext_todo,ext_chain_emit,ext_ddp,ext_decision_guidance external; subgraph legend["图例(layer 色 + external 虚框)"] direction LR legend_lBoundary["契约/边界层"] legend_lEdgeLogic["边逻辑层"] legend_lGovernance["元/治理层"] legend_external["域外系统(external,不接管)"] end class legend_lBoundary lBoundary; class legend_lEdgeLogic lEdgeLogic; class legend_lGovernance lGovernance; class legend_external external;
真源 adhoc_jobs/context_infra_base_tooling_STATE_20260709/domains/error_trace_feedback/bundle_r_error_trace_feedback_20260711/diagrams/design_diagrams.md · bundle 20260711 · 结构图快照,非实时
IMPL_DIAGRAMS — error_trace_feedback(实现图)实现图 · error_trace_feedback · 块 1
flowchart TB
classDef landed fill:#d4edda,stroke:#28a745,color:#155724;
classDef partial fill:#fff3cd,stroke:#d39e00,color:#856404;
classDef orphan fill:#e2e3e5,stroke:#6c757d,color:#41464b,stroke-dasharray:3 3;
classDef drift fill:#ffe5d0,stroke:#fd7e14,stroke-width:2px,color:#7a3d00,stroke-dasharray:5 3;
classDef dnb fill:#f8d7da,stroke:#c00,color:#721c24,stroke-dasharray:5 3;
classDef mixed fill:#cfe2ff,stroke:#0d6efd,color:#084298;
classDef ext fill:#ffffff,stroke:#adb5bd,color:#495057,stroke-dasharray:2 2;
subgraph L1["边逻辑层(CLI 入口 / 台账写侧)"]
C1["C1 tools/error_ledger/triage.py<br/>cli_edge"]
C2["C2 tools/error_ledger/auto_emit.py<br/>cli_edge"]
C3["C3 tools/error_ledger/resolve.py<br/>orphan E"]
end
subgraph L2["契约文档层"]
C4["C4 tools/error_ledger/MODULE.md<br/>mixed"]
end
subgraph L3["共享中枢层(非本域独占)"]
C5["C5 tools/chain_emit.py<br/>shared_bridge"]
end
subgraph L4["元/治理层"]
C6["C6 DDP 四流<br/>ddp_artifact"]
end
subgraph L5["验证仪器层(叶子,并发 campaign 新增)"]
C7["C7 tools/error_ledger/contract/<br/>叶子探针,0下游"]
end
subgraph EXT["external-system(域外,图外部锚)"]
EL["error_ledger<br/>errors.jsonl"]
TR["tool_receipts<br/>receipts.jsonl"]
RR4["rr4_capture<br/>intake_bridge.py"]
TODO["todo<br/>todo.py"]
CE_EXT["chain_emit(域外消费者 record.py)"]
UG["unified_gate<br/>base.py:346"]
PR["phase_runtime<br/>gate_registry.py:171"]
IC["infra_core<br/>regulator_runner.py:656"]
DDP["ddp<br/>check_artifact.py"]
end
%% component_edges(构件间边)
C1 -->|imports emit_auto_error| C2
C2 -->|imports EmitResult/emit_agent_finding| C5
C7 -.->|consumer_probe_reads candidate_queue| C1
C7 -.->|consumer_probe_reads signature探测| C2
C7 -.->|consumer_probe_reads interface_surface| C4
%% external_consumers(域外系统边)
C1 -->|read load_errors| EL
C1 -->|read iter_nonzero_receipts| TR
C1 -->|write backfill_receipt_ids apply=True| EL
C1 -->|reuse-pattern build_prefill| RR4
C2 -->|write append_record| EL
C2 ==>|write:subprocess todo.py intake **drift核心边**| CHAIN["chain_emit.emit_agent_finding"]
CHAIN ==>|write:双跳直达 todo intake| TODO
C2 -.->|consumed-by base.py:346| UG
C2 -.->|consumed-by gate_registry.py:171| PR
C2 -.->|consumed-by regulator_runner.py:656| IC
C4 -.->|prefill-target command数组| TODO
C5 -.->|consumed-by record.py(域外)| CE_EXT
C6 -->|verify check_artifact 8/8 PASS| DDP
class C1 landed
class C2 drift
class C3 orphan
class C4 mixed
class C5 landed
class C6 landed
class C7 landed
class EL,TR,RR4,TODO,CE_EXT,UG,PR,IC,DDP ext
真源 adhoc_jobs/context_infra_base_tooling_STATE_20260709/domains/error_trace_feedback/bundle_r_error_trace_feedback_20260711/diagrams/impl_diagrams.md · bundle 20260711 · 结构图快照,非实时
图例实现图 · error_trace_feedback · 块 2
flowchart LR legend_landed["landed(构件本身 B+C 双证)"]:::landed legend_drift["drift(实现与设计冲突,橙虚,C2 头号发现)"]:::drift legend_orphan["orphan(域外引入/无下游消费者,灰虚,后缀 E)"]:::orphan legend_mixed["mixed(working-tree/HEAD 双态,蓝,C4 专用)"]:::mixed legend_ext["external-system(域外系统节点,白虚框)"]:::ext legend_solid["实线 = 产生/写入/调用/强依赖"] legend_dashed["虚线 = 读取/弱依赖/consumer_probe"] legend_bold["粗线 = ETF-05 drift 核心边"] classDef landed fill:#d4edda,stroke:#28a745,color:#155724; classDef drift fill:#ffe5d0,stroke:#fd7e14,stroke-width:2px,color:#7a3d00,stroke-dasharray:5 3; classDef orphan fill:#e2e3e5,stroke:#6c757d,color:#41464b,stroke-dasharray:3 3; classDef mixed fill:#cfe2ff,stroke:#0d6efd,color:#084298; classDef ext fill:#ffffff,stroke:#adb5bd,color:#495057,stroke-dasharray:2 2;
真源 adhoc_jobs/context_infra_base_tooling_STATE_20260709/domains/error_trace_feedback/bundle_r_error_trace_feedback_20260711/diagrams/impl_diagrams.md · bundle 20260711 · 结构图快照,非实时
一、差距总览图(9 组 (du,comp) 配对 / 按 gap 分类分组)差距图 · error_trace_feedback · 块 1
flowchart TB subgraph gDrift["drift 组(count=1,头号发现)"] direction TB ETF_05_x_C2["du_etf05 × C2<br/>auto_emit.py"] ETF_05_x_C5["du_etf05 × C5<br/>chain_emit.py"] end subgraph gPartial["functional_not_landed(count=2)"] direction TB ETF_03_x_C1["du_etf03 × C1 缺C<br/>回填子能力"] ETF_04_x_C1["du_etf04 × C1 缺C<br/>预填子能力"] end subgraph gOrphan["orphan 组(count=1 主+C7 叶子)"] direction TB ORPHAN_C3["C3 孤儿E<br/>resolve.py"] ORPHAN_C7["C7 叶子E<br/>contract/"] end subgraph gLanded["landed_reference(count=3)"] direction TB ETF_01_x_C4["du_etf01 × C4<br/>MODULE.md"] ETF_02_x_C1["du_etf02 × C1<br/>triage.py读侧"] ETF_06_x_C6["du_etf06 × C6<br/>DDP 四流"] end %% ---- 组间命题边(gap 归类关系,均带标签,禁裸箭头)---- ETF_05_x_C2 -->|"设计'不自动注册' vs 代码无条件触发"| ETF_05_x_C5 ETF_03_x_C1 -->|"共享 C1,同缺持续消费"| ETF_04_x_C1 ORPHAN_C3 -.->|"与 C1 同层但零回写域文档"| ETF_02_x_C1 ETF_02_x_C1 -->|"landed 正样本对照同 comp 的 partial"| ETF_03_x_C1 %% ---- classDef:按 GAP_STATS 类别的状态色(照抄标准 hex)---- classDef drift fill:#ffe5d0,stroke:#fd7e14,stroke-width:2px,color:#7a3d00,stroke-dasharray:5 3; classDef partial fill:#fff3cd,stroke:#d39e00,color:#856404; classDef orphan fill:#e2e3e5,stroke:#6c757d,color:#41464b,stroke-dasharray:3 3; classDef landed fill:#d4edda,stroke:#28a745,color:#155724; class ETF_05_x_C2,ETF_05_x_C5 drift; class ETF_03_x_C1,ETF_04_x_C1 partial; class ORPHAN_C3,ORPHAN_C7 orphan; class ETF_01_x_C4,ETF_02_x_C1,ETF_06_x_C6 landed; subgraph legend["图例"] direction LR legend_drift["drift(橙虚)"] legend_partial["F=functional-not-landed缺C"] legend_orphan["灰虚=未证活性(E)/孤儿"] legend_landed["landed(绿实,正样本)"] end class legend_drift drift; class legend_partial partial; class legend_orphan orphan; class legend_landed landed;
真源 adhoc_jobs/context_infra_base_tooling_STATE_20260709/domains/error_trace_feedback/bundle_r_error_trace_feedback_20260711/diagrams/gap_diagrams.md · bundle 20260711 · 结构图快照,非实时
三、头号发现下钻图(ETF-05 drift,salience=high)差距图 · error_trace_feedback · 块 2
flowchart LR subgraph drillETF05["ETF-05 drift 下钻(salience=high)"] direction TB DESIGN_CLAIM["设计承诺:<br/>不自动注册(两处强调)"] CODE_REALITY["代码实况:<br/>auto_emit经chain_emit无条件触发"] SITE1["调用点1<br/>unified_gate/base.py:346"] SITE2["调用点2<br/>regulator_runner.py:656"] SITE3["调用点3<br/>gate_registry.py:171"] SCALE["覆盖规模<br/>44.8%(56/125行)"] EVID["独立第二重证实:<br/>13/13 PASS+当天新增46条"] end DESIGN_CLAIM -->|"设计与实况相悖(drift核心矛盾)"| CODE_REALITY CODE_REALITY -->|"实际触发点"| SITE1 CODE_REALITY -->|"实际触发点"| SITE2 CODE_REALITY -->|"实际触发点"| SITE3 SITE1 -->|"汇总规模"| SCALE SITE2 -->|"汇总规模"| SCALE SITE3 -->|"汇总规模"| SCALE SCALE -->|"证据支撑"| EVID classDef claim fill:#ffe5d0,stroke:#fd7e14,stroke-width:2px,color:#7a3d00,stroke-dasharray:5 3; classDef reality fill:#ffe5d0,stroke:#fd7e14,stroke-width:2px,color:#7a3d00; classDef site fill:#fff3cd,stroke:#d39e00,color:#856404; classDef scale fill:#cfe2ff,stroke:#0d6efd,color:#084298; class DESIGN_CLAIM claim; class CODE_REALITY reality; class SITE1,SITE2,SITE3 site; class SCALE,EVID scale;
真源 adhoc_jobs/context_infra_base_tooling_STATE_20260709/domains/error_trace_feedback/bundle_r_error_trace_feedback_20260711/diagrams/gap_diagrams.md · bundle 20260711 · 结构图快照,非实时
图源为仓内 bundle mermaid 逐字提取(仅隐私清洗),渲染失败时原样退化为代码块。结构图是绘制时点的快照,非实时状态。