Todo / Intake 系统
Todo / Intake 系统 live 记录与记忆
复合态:确定层自动注册占比极小(事件源 manual 3160 / extracted 315 / dispatch 4 / design_register 2)
职责:需求/任务台账;todo intake 是需求入口(逐字原文/TODO/执行序/requirement record 同脊柱),todo add 是杂务入口
策展 as-of 2026-07-19 · 状态真源 data/systems_status.mjs(人工策展,机器测不出 live/partial)
证据锚
config/CRONTAB.md· 2026-07-19contexts/todo/logs/todo_events.jsonl· 2026-07-19
未决项(2)
- 新根意图链收敛时是否退役 todo.py「第二需求系统」角色,需呈用户裁决(L6,未裁)
- VIS-6:每日 TODO 扫描力度不够,决策点散落,决策扫描 cron 化未实现
进出边(消费链登记)
← Error Ledger 与 Triage 环(broken:triage 停摆 9 天);← Error Ledger 与 Triage 环(violation:违约自动注册 91)
结构图(3 张 · 快照)
设计图设计图 · todo_system · 块 1
flowchart TB
subgraph legend["图例(色=layer分组;白虚=external)"]
direction LR
lg1["结构/域模型层"]:::lStruct
lg2["注册/归属机制层"]:::lRegister
lg3["执行形态层"]:::lExec
lg4["历史需求层(多通道)"]:::lHistory
lg5["intake→execorder层"]:::lIntake
lg6["操作类历史需求层"]:::lOps
lg7["external 外部参与者"]:::external
end
subgraph g_struct["结构 / 域模型(M2/M3 承载)"]
du_register_interface["du_register_interface<br/>人与Agent共用发现即落盘接口"]:::lStruct
du_domain_concept["du_domain_concept<br/>域=一个adhoc_jobs程序文件夹"]:::lStruct
du_todo_as_bt_domain["du_todo_as_bt_domain<br/>整理进BT Buildout新域"]:::lStruct
du_extract_historical_reqs["du_extract_historical_reqs<br/>从其他session提取归入"]:::lStruct
du_same_domain_mgmt["du_same_domain_mgmt<br/>同域TODO集中管理"]:::lStruct
du_domain_adhoc_link["du_domain_adhoc_link<br/>域↔adhoc_jobs双向连接(隐含)"]:::lStruct
end
subgraph g_register["注册 / 归属机制(M2 核心张力所在)"]
du_direct_add_when_clear["du_direct_add_when_clear<br/>归属清晰时直接添加"]:::lRegister
du_accumulate_unfiled["du_accumulate_unfiled<br/>归属不清先累计队列"]:::lRegister
du_periodic_review["du_periodic_review<br/>每天两次整理判归类"]:::lRegister
du_provenance_pack["du_provenance_pack<br/>判域+完成添加+说明来源(M2张力点)"]:::lRegister
end
subgraph g_exec["执行形态"]
du_new_run_landing["du_new_run_landing<br/>作为新Run执行先排Phase"]:::lExec
du_reviewer_recency_first["du_reviewer_recency_first<br/>复核器最近优先降序"]:::lExec
du_edit_domain_afterwards["du_edit_domain_afterwards<br/>事后改域置confirmed"]:::lExec
du_ops_guide_doc["du_ops_guide_doc<br/>操作指南覆盖两入口"]:::lExec
du_scene_split_ask["du_scene_split_ask<br/>交互可问自动化不问"]:::lExec
end
subgraph g_history["历史需求(M1/M4/M5 承载,起源与扩展)"]
du_origin_capture["du_origin_capture<br/>统一入口捕获未完成任务"]:::lHistory
du_daily_check_multichannel["du_daily_check_multichannel<br/>每日检查未完成工作"]:::lHistory
end
subgraph g_intake["intake 线(确定层×语义层联动)"]
du_intake_guide_to_execorder["du_intake_guide_to_execorder<br/>内容进prompt/EO"]:::lIntake
du_intake_phase_judge["du_intake_phase_judge<br/>判该放哪个实践phase"]:::lIntake
du_track_analysis_quality["du_track_analysis_quality<br/>质量+覆盖检查追踪进EO"]:::lIntake
du_inject_verbatim_prompt["du_inject_verbatim_prompt<br/>注入之前prompt原文"]:::lIntake
du_todo_ddp_coupling["du_todo_ddp_coupling<br/>TODO与DDP良好耦合"]:::lIntake
du_change_verify_ledger["du_change_verify_ledger<br/>记录后续需修改验证内容"]:::lIntake
du_intake_verbatim["du_intake_verbatim<br/>逐字保真原话(隐含节点)"]:::lIntake
end
subgraph g_ops["操作类历史需求(M1 入口能力,已实现的能力确认)"]
du_query_count["du_query_count<br/>查询现有todo条数"]:::lOps
du_edit_priority["du_edit_priority<br/>改某条todo优先级"]:::lOps
end
subgraph g_external["external 外部参与者(9 类边界)"]
ext_human_agent["human/agent<br/>人工添加/Agent审查添加"]:::external
ext_adhoc_jobs_dirs["adhoc_jobs_dirs<br/>文件系统"]:::external
ext_base_tooling_buildout["base_tooling_buildout<br/>REQ_DESIGN.md索引"]:::external
ext_buildout_run_infra["buildout_run_infra<br/>runs/目录结构"]:::external
ext_cron_classifier["cron/classifier_agent<br/>定时触发+分类器"]:::external
ext_apple_claude_logs["apple_reminders/claude_logs<br/>多设备可见/日志提取源"]:::external
ext_wechat_email_notify["wechat/email/notify<br/>多通道提醒分发"]:::external
ext_execorder_ddp["execution_order/ddp_protocol<br/>EO/DDP需求记录"]:::external
end
%% ---- design_edges(du→du,24 条,全部命题标签,实线=设计承诺依赖) ----
du_register_interface -->|"每次注册要带最小充分包"| du_provenance_pack
du_domain_concept -->|"域要与adhoc_jobs文件夹建立连接"| du_domain_adhoc_link
du_extract_historical_reqs -->|"提取结果回填本域"| du_todo_as_bt_domain
du_same_domain_mgmt -->|"同域TODO集中管理接到adhoc_jobs连接"| du_domain_adhoc_link
du_direct_add_when_clear -->|"归属清晰时走直接添加能力"| du_register_interface
du_accumulate_unfiled -->|"累计的东西由复核器消费"| du_periodic_review
du_periodic_review -->|"复核发现不准则事后改域"| du_edit_domain_afterwards
du_provenance_pack -->|"判域+完成添加回落注册接口"| du_register_interface
du_provenance_pack -->|"来源/原始需求落盘要逐字"| du_intake_verbatim
du_reviewer_recency_first -->|"复核器排序策略(最近优先)"| du_periodic_review
du_edit_domain_afterwards -->|"改域要校验域有效性"| du_domain_concept
du_ops_guide_doc -->|"两入口即接口两侧的说明对象"| du_register_interface
du_scene_split_ask -->|"自动化路径=复核器不问"| du_periodic_review
du_scene_split_ask -->|"交互路径=在场可问"| du_direct_add_when_clear
du_origin_capture -->|"起源即注册接口的最初设想"| du_register_interface
du_daily_check_multichannel -->|"每日检查是复核诉求的前脉络"| du_periodic_review
du_intake_guide_to_execorder -->|"加进execution order要判phase"| du_intake_phase_judge
du_intake_phase_judge -->|"判完phase回写指引内容"| du_intake_guide_to_execorder
du_track_analysis_quality -->|"两项质量指标追踪进phase判定"| du_intake_phase_judge
du_inject_verbatim_prompt -->|"提取原文进intake逐字层"| du_intake_verbatim
du_todo_ddp_coupling -->|"添加与DDP存放需良好耦合"| du_intake_guide_to_execorder
du_change_verify_ledger -->|"记录要带描述回挂provenance"| du_provenance_pack
du_query_count -->|"统计能力立于注册接口之上"| du_register_interface
du_edit_priority -->|"同属edit子命令能力面"| du_edit_domain_afterwards
%% ---- external_partners 边(虚线=外部弱耦合/接入点) ----
ext_human_agent -.->|"发现即注册来源"| du_register_interface
ext_base_tooling_buildout -.->|"REQUIREMENTS_DESIGN.md索引挂载"| du_todo_as_bt_domain
ext_adhoc_jobs_dirs -.->|"域枚举动态派生自此目录"| du_domain_adhoc_link
ext_cron_classifier -.->|"定时触发+分类器判归类"| du_periodic_review
ext_buildout_run_infra -.->|"作为新run落地执行载体"| du_new_run_landing
ext_apple_claude_logs -.->|"多设备可见面+日志自动提取源"| du_origin_capture
ext_wechat_email_notify -.->|"每日检查分发三通道"| du_daily_check_multichannel
ext_execorder_ddp -.->|"内容进prompt和execution order"| du_intake_guide_to_execorder
ext_execorder_ddp -.->|"添加与DDP存放耦合"| du_todo_ddp_coupling
classDef lStruct fill:#e8f4fd,stroke:#1f78b4,color:#0d3d5c;
classDef lRegister fill:#f3e8fd,stroke:#8e44ad,color:#3d1a4d;
classDef lExec fill:#eafaf1,stroke:#27ae60,color:#0d3d20;
classDef lHistory fill:#fef5e7,stroke:#e67e22,color:#5c3a0d;
classDef lIntake fill:#fdedec,stroke:#c0392b,color:#5c1410;
classDef lOps fill:#eaf2f8,stroke:#2980b9,color:#0d2d4d;
classDef external fill:#fff,stroke:#999,stroke-dasharray:4 3,color:#333;
真源 adhoc_jobs/context_infra_base_tooling_STATE_20260709/domains/todo_system/bundle_r_todo_system_20260711/diagrams/design_diagrams.md · bundle 20260711 · 结构图快照,非实时
mermaid 实现图实现图 · todo_system · 块 1
flowchart TB
subgraph 图例区["图例(颜色=verdict / 线型=依赖强弱)"]
direction LR
lgLanded["landed 已落地(10)"]:::landed
lgPartial["partial 部分(缺B)"]:::partial
lgOrphan["orphan 孤儿(E)"]:::orphan
end
subgraph CLI["CLI 主入口层"]
C1["C1 todo.py<br/>CLI 主入口+库枢纽"]:::landed
end
subgraph LIB["库/module 层"]
direction TB
C2["C2 domain_registry.py<br/>域解析"]:::landed
C3["C3 intake_phases.py<br/>intake 词表"]:::landed
C4["C4 requirement_record.py<br/>需求记录"]:::landed
C5["C5 status_sidecar_sync.py<br/>状态旁路"]:::landed
C6["C6 todo_events.py<br/>事件账本"]:::landed
C7["C7 todo_register.py(E)<br/>注册"]:::orphan
C8["C8 todo_state.py(E)<br/>状态流转表"]:::orphan
C11["C11 project_registry.py(缺B)<br/>项目匹配"]:::partial
C12["C12 dispatch_parse.py<br/>dispatch 解析"]:::landed
end
subgraph CRON["cron wrapper 层"]
direction TB
C9["C9 todo_sync.py<br/>Reminders 同步"]:::landed
C10["C10 todo_daily_reminder.py(缺B)<br/>多通道提醒"]:::partial
C13["C13 review_domains_cron.sh<br/>复核触发"]:::landed
end
subgraph GATE["gate 层(跨目录)"]
C14["C14 todo_event_gate<br/>intake 事件 gate"]:::landed
end
subgraph EXT["外部消费方(跨域)"]
direction TB
EXT_QGF["quality_gate_framework<br/>(域外 host)"]:::external
EXT_AIHB["ai_heartbeat<br/>(todo_extractor.py)"]:::external
EXT_EVOWF["evolution_workflow<br/>(record/trace_mining)"]:::external
end
%% impl_edges(11 条,IMPL_FACTS.md 原表)
C1 -->|"imports"| C2
C1 -->|"imports"| C3
C1 -->|"imports"| C4
C1 -->|"imports"| C5
C1 -->|"imports"| C6
C1 -->|"imports"| C7
C1 -->|"imports"| C8
C1 -.->|"runtime import(cmd_intake内条件触发)"| C14
C9 -->|"imports(反向依赖)"| C1
C10 -->|"imports(反向依赖)"| C1
C13 -.->|"invokes shell subprocess"| C1
%% external_consumers 精选边(至少覆盖任务点名的两条 + 一条枢纽耦合)
C14 -.->|"register(owner_domain=quality_gate_framework)"| EXT_QGF
EXT_AIHB -.->|"subprocess调用match子命令"| C11
EXT_EVOWF -.->|"imports+程序化直调todo.main()"| C1
EXT_EVOWF -.->|"imports"| C4
EXT_EVOWF -.->|"imports"| C6
class lgLanded landed
class lgPartial partial
class lgOrphan orphan
class EXT_QGF,EXT_AIHB,EXT_EVOWF external
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 external fill:#ffffff,stroke:#6c757d,color:#41464b,stroke-dasharray:2 2;
真源 adhoc_jobs/context_infra_base_tooling_STATE_20260709/domains/todo_system/bundle_r_todo_system_20260711/diagrams/impl_diagrams.md · bundle 20260711 · 结构图快照,非实时
mermaid 差距图差距图 · todo_system · 块 1
flowchart TB
subgraph legend["图例(色=gap类型 / 线=关系 / 后缀=状态标记)"]
direction LR
lgDnb["dnb 设计有实现无"]:::dnb
lgDrift["drift 声明与实测不一致"]:::drift
lgOrphan["orphan 孤儿(E)"]:::orphan
lgPartial["partial 部分(缺B/缺C)"]:::partial
lgLanded["landed 对照正样本"]:::landed
lgSolid(("实线=已连接/真实调用"))
lgDash(("虚线=未连接/声明未兑现/零消费"))
end
subgraph g_design_side["设计侧节点(复用 design_diagrams.md)"]
direction TB
du_change_verify_ledger["du_change_verify_ledger<br/>记录后续需修改验证内容"]:::dnb
du_accumulate_unfiled["du_accumulate_unfiled<br/>归属不清先累计队列"]:::drift
du_periodic_review["du_periodic_review<br/>每天两次整理判归类"]:::drift
du_daily_check_multichannel["du_daily_check_multichannel<br/>每日检查(三通道)"]:::drift
du_scene_split_ask["du_scene_split_ask<br/>交互可问自动化不问"]:::partial
du_track_analysis_quality["du_track_analysis_quality<br/>质量+覆盖检查追踪进EO"]:::partial
du_direct_add_when_clear["du_direct_add_when_clear<br/>归属清晰时直接添加"]:::landed
du_reviewer_recency_first["du_reviewer_recency_first<br/>复核器最近优先降序"]:::landed
end
subgraph g_impl_side["实现侧节点(复用 impl_diagrams.md)"]
direction TB
C1["C1 todo.py<br/>CLI主入口+unfiled归集"]:::drift
C13["C13 review_domains_cron.sh<br/>复核触发(尾部超时)"]:::drift
C10["C10 todo_daily_reminder.py<br/>多通道提醒(缺B)"]:::partial
C4["C4 requirement_record.py<br/>需求记录"]:::partial
C7["C7 todo_register.py(E)<br/>注册"]:::orphan
C8["C8 todo_state.py(E)<br/>状态流转表"]:::orphan
C11["C11 project_registry.py(缺B)<br/>项目匹配"]:::partial
end
subgraph g_gap_rows["gap 行(GAP_STATS.yaml 一等条目)"]
direction TB
REQ22["REQ-22<br/>designed_not_built"]:::dnb
REQ07["REQ-07<br/>drift"]:::drift
REQ16["REQ-16<br/>drift"]:::drift
REQ14["REQ-14<br/>functional_not_landed(缺C)"]:::partial
REQ19["REQ-19<br/>functional_not_landed(缺C)"]:::partial
C7GAP["C7<br/>orphan"]:::orphan
C8GAP["C8<br/>orphan"]:::orphan
C11GAP["C11<br/>partial_missing_behavior(缺B)"]:::partial
REQ08["REQ-08<br/>landed(对照,同根容量矛盾)"]:::landed
end
%% 对照正样本:真实跑通/无 gap 的边(淡背景对照,非本图主角)
du_direct_add_when_clear -->|"归属清晰时走直接添加(真实跑通,无gap)"| C1
du_reviewer_recency_first -->|"复核器排序策略真实生效(无gap)"| C1
%% REQ-22: designed_not_built — 单一账本设计边未被构建成对应形态
du_change_verify_ledger -.->|"设计要单一专门账本,实为9程序分散requirement_records/(431条,无单一集中目录)"| REQ22
REQ22 -.->|"comp=null,实为分散机制非零实现"| C4
%% REQ-07: drift — 累计队列有出口设计,实测净入不出
du_accumulate_unfiled -.->|"设计:累计是为了被复核消化,非无限堆积"| REQ07
REQ07 -.->|"实测:unfiled 2074/3148=65.9%净入不出单向漏斗"| C1
REQ07 -.->|"与cron尾部45s超时同根,净吞吐远低于存量消化速度"| C13
%% REQ-16: drift — 三通道承诺,微信结构性不通
du_daily_check_multichannel -.->|"设计承诺三通道(email/notify/微信)"| REQ16
REQ16 -.->|"实测:微信send_text返回ret=-2,结构性失败,非偶发"| C10
%% C7/C8: orphan — 零域外消费者
C7 -.->|"零域外消费者(仅C1内部import+自身单测)"| C7GAP
C8 -.->|"零域外消费者(仅C1内部import+自身单测)"| C8GAP
%% REQ-14: functional_not_landed — 文档规约有,代码强制缺(缺C)
du_scene_split_ask -.->|"设计:交互式先问,自动化不问"| REQ14
REQ14 -.->|"GUIDE文档自承:约定非工具强制,缺代码级gate校验(missing C)"| C1
%% REQ-19: functional_not_landed — 底层基建强,专门检查本身未落地(缺C)
du_track_analysis_quality -.->|"设计:需求分析质量+消息覆盖检查两项专门检查"| REQ19
REQ19 -.->|"intake三件套基建强(9程序431条)但两项专门检查grep零命中(missing C)"| C4
%% C11: partial_missing_behavior — 存在性/消费者证据有,行为未跑(缺B)
C11 -.->|"单一窄域外消费者(subprocess调用)静态引用已核,动态调用未跑(missing B)"| C11GAP
%% 同源标注:REQ-07 drift 与 REQ-08 landed 是同一漏斗两面
REQ07 -.->|"同一容量漏斗两面(du_accumulate_unfiled↔du_periodic_review共享同一断点)"| REQ08
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;
真源 adhoc_jobs/context_infra_base_tooling_STATE_20260709/domains/todo_system/bundle_r_todo_system_20260711/diagrams/gap_diagrams.md · bundle 20260711 · 结构图快照,非实时
图源为仓内 bundle mermaid 逐字提取(仅隐私清洗),渲染失败时原样退化为代码块。结构图是绘制时点的快照,非实时状态。