Commit 02fa883
committed
Director prompt hygiene: fix impossible tool refs, dedupe report contract, drop dead no-ship branch, structured evidence gate
- Removed hand-written "Report: Summary, Findings, Blockers, Paths" duplicates
from worker system prompts (build, bruckheimer, explore, gaasbot, plan,
neckbeard, greybeard, intern, shakespeare, tester, testsmith, critique,
emil) — the shared sub-agent report contract and each package's
report.requiredSections already state it.
- Removed "Do not spawn agents"/"Never spawn" duplicates from prompts whose
packages already declare spawn.maySpawn: false (build, neckbeard,
brand-reviewer, draper) — spawn is enforced structurally by not mounting
the task tool.
- Removed impossible tool references: tester/testsmith telling the model not
to use write_file/edit_file or write notes under tmp/ when those tools are
never mounted (READ_TOOLS); critique's "if shell is allowed" hedge when
run_shell is always in its tool set; emil's and draper's write-tool denial
explanations; gaasbot's write-tool disclaimer; plan's ask_operator mention
(never mounted on workers).
- Removed the dead no-ship branch: evaluateSubAgentStop never returned
"no-ship" (only evaluateThrashStop and the never-edited/never-acted paths
fire), so the nudge director's stop === "no-ship" branch was unreachable.
Dropped it from SubAgentStopReason and the nudge director's switch.
ForcedStopReason (a separate type used by forcedStopReport/brief-dispatch
salvage classification) is untouched.
- Replaced persona-string coupling: shouldRequireEvidence keyed off
systemPromptRole.includes("CritiqueDirector"); now keys off a structured
directorId threaded from task-tool's already-resolved director id.
- Added a registry test that cross-checks every director's prompt text
against its mounted tool set for the known tool names, so a future prompt
can't reference a tool it cannot call.1 parent 6ea4085 commit 02fa883
22 files changed
Lines changed: 93 additions & 81 deletions
File tree
- src
- agent/directors
- brand-reviewer
- bruckheimer
- build
- critique
- draper
- emil
- explore
- gaasbot
- greybeard
- intern
- neckbeard
- plan
- shakespeare
- tester
- testsmith
- subagent
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
| |||
35 | 34 | | |
36 | 35 | | |
37 | 36 | | |
38 | | - | |
39 | | - | |
40 | | - | |
| 37 | + | |
41 | 38 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 56 | + | |
61 | 57 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | | - | |
68 | | - | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
69 | 71 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
| 72 | + | |
80 | 73 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
26 | | - | |
| 24 | + | |
27 | 25 | | |
28 | 26 | | |
29 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
40 | | - | |
41 | | - | |
| 39 | + | |
42 | 40 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
0 commit comments