Skip to content

Commit 9fa56d0

Browse files
committed
Wire docs routing, testsmith consumer, and PR shape into builder chain
1 parent 3c06e39 commit 9fa56d0

3 files changed

Lines changed: 25 additions & 9 deletions

File tree

plugins/corbits-skills/skills/implement/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ The order of operations depends on whether you're fixing a bug or building a fea
9292

9393
Keep the test focused on the behavior introduced by this commit. Don't test unrelated functionality. The test is part of the deliverable, not an afterthought.
9494

95-
The test lands in the same commit as the implementation (Step 4) — one logical unit (source of truth: style skill, AGENTS.md).
95+
The test lands in the same unit of work as the implementation (Step 4) — same commit when committing — one logical unit (source of truth: style skill, AGENTS.md). When the caller passes testsmith-designed cases, land them as the implementation tests; any case left unlanded goes in the report with why so the caller can route a tester run.
9696

97-
Keep the scope tight to what was discussed. If you discover additional work is needed, finish the current commit's scope first and note the additional work for a future commit.
97+
Keep the scope tight to what was discussed. If you discover additional work is needed, finish the current commit's scope first and note the additional work for a future commit. When the landing alters documented behavior beyond the discussed doc scope, flag it for the caller so a shakespeare docs pass can follow.
9898

9999
### Step 3: Build Gate
100100

@@ -113,7 +113,7 @@ Run `make` (or the project's equivalent full pipeline: format, lint, build, test
113113

114114
Update `activeForm` to "Committing: {subject}".
115115

116-
Create the commit. Follow the commit message conventions from the `style` skill. Include the test in the same commit as the implementation — they are one logical unit of work — and update the docs when the commit changes documented behavior.
116+
Create the commit. Follow the commit message conventions from the `style` skill. Include the test in the same unit of work as the implementation — same commit when committing — one logical unit — and update the docs when the commit changes documented behavior. Worker-chain branch/PR convention: branch name carries the issue id, the PR body ends with `Fixes CL-…` and carries no AI-attribution lines (CONTRIBUTING: title stays a plain-English sentence, body is Summary/Verification).
117117

118118
### Step 5: Critique Loop
119119

src/agent/directors/builder/package.test.ts

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,28 @@ describe("builderPackage", () => {
167167
expect(prompt).toMatch(/Summary \/ Findings \/ Blockers \/ Paths/);
168168
});
169169

170-
test("systemPrompt wires same-commit tests, docs upkeep, and report mapping", () => {
170+
test("systemPrompt wires same-unit tests, docs upkeep, and report mapping", () => {
171171
const p = builderPackage.systemPrompt;
172172
expect(p).toMatch(/same commit/);
173-
expect(p).toMatch(/docs that describe it/i);
174-
expect(p).toContain("success_criteria");
175-
expect(p).toMatch(/exit status/);
173+
expect(p).toMatch(/same commit when committing/);
174+
expect(p).toMatch(/alters documented behavior/i);
175+
expect(p).toMatch(/update the docs/i);
176+
expect(p).toMatch(
177+
/map each success_criteria item to pass, fail, or blocked/,
178+
);
179+
expect(p).toMatch(
180+
/bare .*pass.*without command evidence.*incomplete report/is,
181+
);
182+
});
183+
184+
test("systemPrompt wires docs routing, testsmith consumer, and branch/PR shape", () => {
185+
const p = builderPackage.systemPrompt;
186+
expect(p).toMatch(/testsmith-designed cases/);
187+
expect(p).toMatch(/route a tester run/);
188+
expect(p).toMatch(/shakespeare docs pass/);
189+
expect(p).toMatch(/branch name carries the issue id/i);
190+
expect(p).toMatch(/Fixes CL-/);
191+
expect(p).toMatch(/no AI-attribution lines/);
176192
});
177193

178194
test("systemPrompt preserves public API sync/async under Guidelines", () => {

src/agent/directors/builder/package.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ The order of operations depends on whether you're fixing a bug or building a fea
6060
6161
Keep the test focused on the behavior introduced by this unit of work. Don't test unrelated functionality. The test is part of the deliverable, not an afterthought.
6262
63-
Land the test in the same commit as the implementation — one logical unit. When the change alters documented behavior, update the docs that describe it in the same commit (source of truth: style skill, AGENTS.md).
63+
Land the test in the same unit of work as the implementation — same commit when committing — one logical unit. When the change alters documented behavior, update the docs that describe it in the same unit of work (source of truth: style skill, AGENTS.md). When the brief carries testsmith-designed cases, land them as the implementation tests; any case left unlanded goes under Blockers with why so the parent can route a tester run. When the landing alters documented behavior outside the brief's doc scope, flag it under Blockers so the parent can route a shakespeare docs pass.
6464
6565
Keep the scope tight to the brief. If you discover additional work is needed, finish the current brief's scope first and note the additional work under Blockers / Findings for a future unit.
6666
@@ -81,7 +81,7 @@ For implementation work, run the repository-defined typecheck command and releva
8181
8282
**Don't shortcut verify.** The value is in the discipline. Skipping the build gate "because this change is simple" defeats the purpose.
8383
84-
**Keep units focused.** Deliver a working tree that satisfies the brief and report. Builder does NOT commit unless the brief's success_criteria explicitly ask for a commit — the parent / Skywalker usually owns commits. Prefer: working tree + report envelope.
84+
**Keep units focused.** Deliver a working tree that satisfies the brief and report. Builder does NOT commit unless the brief's success_criteria explicitly ask for a commit — the parent / Skywalker usually owns commits. Prefer: working tree + report envelope. Worker-chain branch/PR convention for the parent's handoff: branch name carries the issue id, the PR body ends with \`Fixes CL-…\` and carries no AI-attribution lines (CONTRIBUTING: title stays a plain-English sentence, body is Summary/Verification only).
8585
8686
**Discovered extra work** belongs under Blockers / Findings for a future unit — finish the current brief first.
8787

0 commit comments

Comments
 (0)