Merge pull request #2080 from obra/fix/x7a-sdd-evidence-bearing-preflight

fix(sdd): preflight emits its checks as a ledger table and rules on what it surfaces
This commit is contained in:
Drew Ritter
2026-08-04 14:22:57 -07:00
committed by GitHub

View File

@@ -156,16 +156,27 @@ a ledger file, not only in todos.
Read the plan once, note its context and Global Constraints, and create a Read the plan once, note its context and Global Constraints, and create a
todo per task. todo per task.
Before dispatching Task 1, scan the plan once for conflicts: Before dispatching Task 1, scan the plan once for conflicts, writing down
what you checked as you check it:
- tasks that contradict each other or the plan's Global Constraints - tasks that contradict each other or the plan's Global Constraints
- anything the plan explicitly mandates that the review rubric treats as a - anything the plan explicitly mandates that the review rubric treats as a
defect (a test that asserts nothing, verbatim duplication of a logic block) defect (a test that asserts nothing, verbatim duplication of a logic block)
Rule on everything you find before execution begins — each finding against The scan's output is a table, not a verdict. One row for every pair of tasks
the plan text that mandates it — and record each ruling in the ledger. If the that share a file or an interface: the two tasks, what one produces against
scan is clean, proceed without comment. The review loop remains the net for what the other consumes, and what you found. One row for every task: whether
conflicts that only emerge from implementation. its own text agrees with itself — the tests it specifies against the code it
specifies, the files it creates against the files it later touches. "The scan
is clean" without those rows is not a scan you ran.
Write the table to the ledger. Rule on everything you find before execution
begins — each finding against the plan text that mandates it — and record
each ruling in the ledger. If the scan is clean, proceed without comment.
Rule on each conflict it surfaces — the spec is the binding authority, the
plan is its argument — record the ruling beside its row, and dispatch
Task 1. The review loop remains the net for conflicts that only emerge from
implementation.
## Model Selection ## Model Selection