sdd.md
1.36 KB
The planner workflow finished. It produced the SDD for DU-01: 打通执行日志真实写入路径 (fixing bugs A1/A2 — execution logs never actually get written to disk, and log download crashes with an uncaught FileNotFoundError).
Key points from the SDD:
- Root cause confirmed: execution_log.append_log() exists and works fine, but work_graph_orchestrate._make_run_fn()'s run_fn closure never calls it — so execution_log_file rows are tracked correctly in the DB but the backing file is never written. Bug A2 (download crash) is a direct downstream symptom.
- Design: pass conn into make_run_fn, log 4 event types (node_start/node_completed/node_failed/quota_limit) inside the retry-aware run_fn closure; wrap only the open()/read() in _sendfile_download to return a new LOG_FILE_MISSING 404 instead of a bare exception.
- Scope explicitly excludes: streaming logs, frontend changes (already correct), fixing the unrelated format='jsonl' naming mismatch, and correcting unit_matrix.json's stale U-027 "done" claim (flagged but left alone, out of authorization).
- Single Development Unit (DU-01), REQ-13, with real-agent (non-mocked) verification required per this repo's convention.
This SDD output now feeds into graphlemon's own c_org_node_trigger/c_org_loop_route state machine for the next stage (Coder). No action needed unless you want to inspect or intervene in that handoff.