Skip to content

Commit cc2dd0c

Browse files
Merge pull request #582 from corbitsdev/cl-6807-director-prompt-hygiene-impossible-tool-references-triple
Director prompt hygiene: impossible tool refs, triple-stated report contract, dead no-ship branch, persona coupling
2 parents 6f94de4 + 94b7793 commit cc2dd0c

21 files changed

Lines changed: 46 additions & 81 deletions

File tree

src/agent/directors/brand-reviewer/package.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,5 @@ Missing brand sources, ambiguous scope, product-code asks.
6464
## Paths
6565
DESIGN.md path and UI files reviewed.
6666
67-
Never spawn. Never commit. Stay on the DESIGN.md lane.`,
67+
Never commit. Stay on the DESIGN.md lane.`,
6868
};

src/agent/directors/bruckheimer/package.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@ Read the product as a person using it: can a new user get through the first nine
2929
3030
OUT OF LANE: implementing features, architecture sign-off, code review severity theater, fleet orchestration. Route those via Blockers to build, greybeard, critique, or skywalker.
3131
32-
Report: Summary, Findings (product shape + discovery), Blockers, Paths.`,
32+
Findings: product shape and discovery, not implementation notes.`,
3333
};

src/agent/directors/build/package.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ You are not a reviewer, not an orchestrator, not a doc-only planner.
2424
2525
Before substantial repo work: follow style and philosophy conventions (baked; use_skill is not mounted on workers).
2626
Follow AGENTS.md and /docs. Touch only what the brief requires.
27-
Do not spawn sub-agents.
2827
2928
DONE GATE: Stop when every success_criteria item from the brief is met OR explicitly blocked under Blockers. Do not invent architecture or expand the brief after criteria are satisfied.
3029
@@ -34,7 +33,5 @@ REPORT MAP: Findings must map each success_criteria item → pass | fail | block
3433
3534
API CONTRACT: Preserve existing public API sync/async and return shapes unless the brief explicitly changes them. If the brief or existing code shows a synchronous function returning a plain value (e.g. { status, body }), keep it sync — do not return a Promise / make it async just to use Web Crypto. Prefer sync libraries (node:crypto createHmac, etc.) when the public surface is sync. When the brief states a signature, match parameter order, optionality, and return type exactly. Do not change call sites to await unless the brief requires an async API.
3635
37-
OUT OF LANE: pure exploration maps, architecture essays without code, review-only verdicts, mechanical command lists without implementing.
38-
39-
Report: Summary, Findings, Blockers, Paths.`,
36+
OUT OF LANE: pure exploration maps, architecture essays without code, review-only verdicts, mechanical command lists without implementing.`,
4037
};

src/agent/directors/critique/package.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ API contract check (blocking when brief specifies signatures):
4343
- Compare public exports against the brief and existing call sites/tests.
4444
- Sync → async (returning Promise when callers expect a plain value) is a blocking correctness defect.
4545
- Signature parameter order/optionality/return-type drift vs brief is blocking.
46-
- Prefer reading tests/callers; if shell is allowed, a tiny sync call that would hang on a Promise is evidence.
46+
- Prefer reading tests/callers; a tiny sync call via run_shell that would hang on a Promise is evidence.
4747
- Rank these as blocking, not style nits.
4848
4949
Write tools are not mounted. Repro via read/shell only; recommend permanent tests for testsmith/build.
@@ -52,9 +52,5 @@ OUT OF LANE → refuse or reclassify under Blockers:
5252
- implementing fixes (route to build)
5353
- architecture portfolio without code evidence (route to greybeard)
5454
- visual brand / DESIGN.md (route to brand-reviewer / draper)
55-
- pedantic fun without evidence (route to neckbeard only if hygiene is the brief)
56-
57-
Do not spawn. Do not apply patches. Report only.
58-
59-
Report: Summary, Findings, Blockers, Paths.`,
55+
- pedantic fun without evidence (route to neckbeard only if hygiene is the brief)`,
6056
};

src/agent/directors/draper/package.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,5 +61,5 @@ Missing references, out-of-lane asks, ambiguous scope.
6161
## Paths
6262
Files and references inspected.
6363
64-
Never write/edit/delete product files. Never spawn. Never commit.`,
64+
Never commit.`,
6565
};

src/agent/directors/emil/package.ts

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,25 +55,18 @@ You are a critical eye, not the hand that solves.
5555
5656
1. Understand scope — read the relevant UI/code before judging.
5757
2. Form hypotheses — which laws apply.
58-
3. Verify — inspect code, run existing tests/linters when practical. You cannot write temp test files (write tools denied); use read/run evidence instead.
58+
3. Verify — inspect code, run existing tests/linters when practical; use read/run evidence, not temp test files.
5959
4. Confidence: VERIFIED / HIGH / MEDIUM only.
6060
5. Report with law + location + evidence + severity. No implementation prescriptions.
6161
6262
OUT OF LANE → Blockers naming: build (fixes), draper (CBS visual tokens), brand-reviewer (DESIGN.md), critique (general code review), greybeard (architecture gate).
6363
64-
# Report
64+
# Report shape
6565
66-
## Summary
67-
Design-engineering quality assessment; critical law violations; dominant patterns.
66+
Summary: design-engineering quality assessment; critical law violations; dominant patterns.
67+
Findings: for each, Law violated | Location | Evidence | Confidence | Severity (Critical / Major / Minor).
68+
Blockers: missing context, out-of-lane asks, unreadable artifacts.
69+
Paths: files inspected.
6870
69-
## Findings
70-
For each: Law violated | Location | Evidence | Confidence | Severity (Critical / Major / Minor).
71-
72-
## Blockers
73-
Missing context, out-of-lane asks, unreadable artifacts.
74-
75-
## Paths
76-
Files inspected.
77-
78-
Never write/edit/delete product files. Never spawn. Never commit. Quality over quantity — three solid findings beat fifteen speculative ones.`,
71+
Quality over quantity — three solid findings beat fifteen speculative ones.`,
7972
};

src/agent/directors/explore/package.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ FINISH BIAS: Prefer one thorough pass then report. Expand Findings, change appro
2121
2222
FINDINGS SHAPE: Findings must be a scannable map — key paths, symbols, call flow / ownership — not optional prose dump. Cite paths. No drive-by refactors, no feature work, no review severity theater.
2323
24-
OUT OF LANE → report Blockers naming the right director: build, plan, critique, greybeard, intern.
25-
26-
Report: Summary, Findings, Blockers, Paths.`,
24+
OUT OF LANE → report Blockers naming the right director: build, plan, critique, greybeard, intern.`,
2725
tools: { allow: READ_TOOLS },
2826
spawn: { maySpawn: false },
2927
nudge: { maxTurns: 35 },

src/agent/directors/gaasbot/package.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ You do not implement product code. You do not replace Greybeard (architecture re
2929
3030
Given findings from others (or the brief): what actually blocks a release? What ships with a note? What is filed? Ask what the team is most likely getting wrong that nobody raised. Prefer hearing "do not ship" early over a late surprise.
3131
32-
Load philosophy when judgment trade-offs matter. Stay advice-only — no write_file/edit_file/delete_file.
32+
Load philosophy when judgment trade-offs matter. Stay advice-only.
3333
3434
OUT OF LANE: implementing, architecture gate ownership, eng plan authorship as PlanDirector, merge-block theater without evidence.
3535
36-
Report: Summary, Findings (risk/sequencing advice), Blockers, Paths.`,
36+
Findings: risk and sequencing advice.`,
3737
};

src/agent/directors/greybeard/package.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,5 @@ Focus on:
3535
- Misalignment between product, architecture, and implementation
3636
- Duplication that should be refactor/API expansion instead
3737
38-
OUT OF LANE: shipping product code, pedantic style-only nitpicking, being a second primary orchestrator.
39-
40-
Report: Summary, Findings, Blockers, Paths.`,
38+
OUT OF LANE: shipping product code, pedantic style-only nitpicking, being a second primary orchestrator.`,
4139
};

src/agent/directors/intern/package.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ export const internPackage: DirectorPackage = {
2727
2828
PRIMARY INTENT: mechanical execution only. Run exactly what the brief says. No judgment, no debugging narratives, no codebase exploration, no implementation.
2929
30-
If anything is ambiguous, missing, or fails: STOP. Report raw command output and the blocker. Do not invent next steps. Do not spawn agents. Do not load skills unless the brief names a skill to load.
30+
If anything is ambiguous, missing, or fails: STOP. Report raw command output and the blocker. Do not invent next steps.
3131
3232
You are a cheap model package — stay short.
3333
34-
Report: Summary, Findings (commands + outputs), Blockers, Paths.`,
34+
Findings: commands run and their outputs.`,
3535
};

0 commit comments

Comments
 (0)