mirror of
https://github.com/obra/superpowers.git
synced 2026-07-22 01:44:02 +08:00
sdd: binding constraint values travel verbatim in every dispatch
This commit is contained in:
@@ -211,9 +211,15 @@ and fix-round diffs need it.
|
|||||||
first — it is your requirements, with the exact values to use verbatim";
|
first — it is your requirements, with the exact values to use verbatim";
|
||||||
(3) interfaces and decisions from earlier tasks that the brief cannot
|
(3) interfaces and decisions from earlier tasks that the brief cannot
|
||||||
know; (4) your resolution of any ambiguity you noticed in the brief;
|
know; (4) your resolution of any ambiguity you noticed in the brief;
|
||||||
(5) the report-file path and report contract. Exact values (numbers,
|
(5) the report-file path and report contract; (6) the plan's binding
|
||||||
magic strings, signatures, test cases) appear only in the brief. Never
|
constraint values — any Global Constraint that mandates an exact
|
||||||
make a subagent read the whole plan file.
|
mechanical form (commit-message rules, naming rules, fixed literals) —
|
||||||
|
pasted verbatim. Task-specific exact values (numbers, magic strings,
|
||||||
|
signatures, test cases) appear only in the brief; binding constraint
|
||||||
|
values are the one exception — they ride in EVERY dispatch, because a
|
||||||
|
subagent that must recall a constraint from memory will reconstruct it
|
||||||
|
from its own priors instead. Never make a subagent read the whole plan
|
||||||
|
file.
|
||||||
- **Report file:** name the implementer's report file after the brief
|
- **Report file:** name the implementer's report file after the brief
|
||||||
(brief `…/task-N-brief.md` → report `…/task-N-report.md`) and put it in
|
(brief `…/task-N-brief.md` → report `…/task-N-report.md`) and put it in
|
||||||
the dispatch prompt. The implementer writes the full report there and
|
the dispatch prompt. The implementer writes the full report there and
|
||||||
@@ -323,14 +329,16 @@ scoped re-review. Five rounds maximum per task:
|
|||||||
verbatim. Its context is intact: it knows the task, the code, and its own
|
verbatim. Its context is intact: it knows the task, the code, and its own
|
||||||
choices. If your harness cannot send another message to a live subagent,
|
choices. If your harness cannot send another message to a live subagent,
|
||||||
dispatch a fresh implementer carrying the brief path, the report-file path,
|
dispatch a fresh implementer carrying the brief path, the report-file path,
|
||||||
and the findings — the report file is the persistent memory either way.
|
the findings, and the binding constraint values verbatim — the report file
|
||||||
|
is the persistent memory either way.
|
||||||
|
|
||||||
**Rounds 4-5 — dispatch a fresh implementer on a more capable model** (per
|
**Rounds 4-5 — dispatch a fresh implementer on a more capable model** (per
|
||||||
Model Selection), with the brief path, the report-file path, the open
|
Model Selection), with the brief path, the report-file path, the open
|
||||||
findings, and this framing: "A prior implementer attempted this task
|
findings, the binding constraint values verbatim, and this framing: "A
|
||||||
[N] times; you own it now. Read the report file for what was tried." A loop
|
prior implementer attempted this task [N] times; you own it now. Read the
|
||||||
that survives three resumes usually means the implementer cannot see its
|
report file for what was tried." A loop that survives three resumes usually
|
||||||
own problem — fresh eyes and a capability bump in one move.
|
means the implementer cannot see its own problem — fresh eyes and a
|
||||||
|
capability bump in one move.
|
||||||
|
|
||||||
**Every round, either way:** the implementer fixes, re-runs the tests
|
**Every round, either way:** the implementer fixes, re-runs the tests
|
||||||
covering the amended code, appends its fix report to the same report file,
|
covering the amended code, appends its fix report to the same report file,
|
||||||
@@ -402,7 +410,8 @@ the ledger's deferred-minor and parked lines so it can triage which must be
|
|||||||
fixed before merge.
|
fixed before merge.
|
||||||
|
|
||||||
If the final whole-branch review returns findings, dispatch ONE fix subagent
|
If the final whole-branch review returns findings, dispatch ONE fix subagent
|
||||||
with the complete findings list — not one fixer per finding.
|
with the complete findings list and the binding constraint values
|
||||||
|
verbatim — not one fixer per finding.
|
||||||
Per-finding fixers each rebuild context and re-run suites; a real
|
Per-finding fixers each rebuild context and re-run suites; a real
|
||||||
session's final-review fix wave cost more than all its tasks combined.
|
session's final-review fix wave cost more than all its tasks combined.
|
||||||
Then run exactly one scoped re-review of the fix wave
|
Then run exactly one scoped re-review of the fix wave
|
||||||
|
|||||||
@@ -15,6 +15,12 @@ Subagent (general-purpose):
|
|||||||
Read your task brief first: [BRIEF_FILE]
|
Read your task brief first: [BRIEF_FILE]
|
||||||
It contains the full task text from the plan.
|
It contains the full task text from the plan.
|
||||||
|
|
||||||
|
## Binding Constraint Values
|
||||||
|
|
||||||
|
[CONSTRAINT_VALUES — the plan's mechanical constraints, pasted verbatim
|
||||||
|
by the dispatcher. If a rule here mandates an exact form (commit-message
|
||||||
|
text, naming, fixed literals), reproduce it exactly — never from memory.]
|
||||||
|
|
||||||
## Context
|
## Context
|
||||||
|
|
||||||
[Scene-setting: where this fits, dependencies, architectural context]
|
[Scene-setting: where this fits, dependencies, architectural context]
|
||||||
|
|||||||
Reference in New Issue
Block a user