Skip to content

Commit e91f5a3

Browse files
FL4TLiN3claude
andauthored
fix: add self-check checklist to plan expert for format enforcement (#783)
* fix: add self-check checklist to plan expert for format enforcement Plan was generating old-format sections (3 Test Queries, Success Criteria, Failure Conditions) instead of the new format. Add explicit binary self-check rules that must pass before plan.md is finalized: - Exact section name matching (reject old names) - Single test query enforcement - Every signal must be a concrete command, not observation - No soft language in signals - Domain constraint coverage mapping Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: simplify section name check to reject any extra sections Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: enforce user-specified team name as coordinator expert name The model was appending "-coordinator" to the user's team name (e.g., "bash-gaming" became "bash-gaming-coordinator"). Add explicit instruction that the coordinator name must be the exact team name with no suffix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: refine expert naming rules — conditional team name, verb-based delegates - Coordinator: use user-specified team name if given, no suffixes - Delegates: name by function (@name/test, /verify, /build), not persona (/tester, /coder, /designer) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: bump create-expert version to 1.0.16 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a0db7f8 commit e91f5a3

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

definitions/create-expert/perstack.toml

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686

8787
[experts."create-expert"]
8888
defaultModelTier = "high"
89-
version = "1.0.15"
89+
version = "1.0.16"
9090
description = "Creates and modifies Perstack expert definitions in perstack.toml"
9191
instruction = """
9292
You are the coordinator for creating and modifying Perstack expert definitions. perstack.toml is the single source of truth — your job is to produce or modify it according to the user's request.
@@ -131,7 +131,7 @@ pick = ["readTextFile", "exec", "attemptCompletion"]
131131

132132
[experts."@create-expert/plan"]
133133
defaultModelTier = "high"
134-
version = "1.0.15"
134+
version = "1.0.16"
135135
description = """
136136
Analyzes the user's request and produces plan.md: domain constraints, test query, verification signals, and role architecture.
137137
Provide: (1) what the expert should do, (2) path to existing perstack.toml if one exists.
@@ -174,10 +174,27 @@ Every domain constraint from the Domain Knowledge section must be covered by at
174174
If a criterion cannot be expressed as a command with a deterministic expected result, rethink the criterion or the artifact design until it can.
175175
176176
### Architecture
177-
Delegation tree with role assignments. Include one verifier expert that executes the hard signal checks defined in Verification Signals — the generator and the verifier share no context (context separation). The verifier is a single expert with exec capability, direct child of the coordinator, not nested under an executor.
177+
Delegation tree with role assignments.
178+
179+
Naming rules:
180+
- Coordinator: if the user specified a team name, use it exactly — no "-coordinator", "-main", or other suffixes.
181+
- Delegates: `@coordinator-name/verb-or-function` — name by what they do, not who they are. Use `/test`, `/verify`, `/plan`, `/build`, `/write`, not `/tester`, `/coder`, `/designer`. The name should be self-explanatory at a glance.
182+
183+
Include one verifier expert that executes the hard signal checks defined in Verification Signals — the generator and the verifier share no context (context separation). The verifier is a single expert with exec capability, direct child of the coordinator, not nested under an executor.
178184
179185
For each expert, write ONLY: name, one-line purpose, and role (executor or verifier). Do not write deliverables, constraints, or implementation details — that is write-definition's job.
180186
187+
## Self-Check Before Finalizing
188+
189+
Re-read plan.md and verify each rule. If any check fails, fix plan.md before attemptCompletion.
190+
191+
1. **Section names exact match**: plan.md uses exactly these section names and no others — "Expert Purpose", "Domain Knowledge", "Use Cases", "Test Query", "Verification Signals", "Architecture". Extra sections confuse downstream experts.
192+
2. **Single test query**: "Test Query" section contains exactly one query, not multiple.
193+
3. **Every signal is a command**: each entry in "Verification Signals" specifies a concrete command to execute and its expected result. Entries that describe what to observe or what correct output "looks like" without a command are not signals — rewrite them.
194+
4. **No soft language in signals**: signals contain no phrases like "verify that", "check that", "should be", "looks correct", "works properly". Each signal is: run X → expect Y.
195+
5. **Domain constraint coverage**: every constraint in "Domain Knowledge" is exercised by at least one signal. List which signal covers which constraint.
196+
6. **Architecture is names only**: "Architecture" section contains expert name, one-line purpose, and role (executor/verifier) per expert. No deliverables, no constraints, no implementation details.
197+
181198
After writing plan.md, attemptCompletion with the file path.
182199
"""
183200

@@ -201,7 +218,7 @@ pick = [
201218

202219
[experts."@create-expert/build"]
203220
defaultModelTier = "low"
204-
version = "1.0.15"
221+
version = "1.0.16"
205222
description = """
206223
Orchestrates the write → test → verify cycle for perstack.toml.
207224
Provide: path to plan.md (containing requirements, architecture, test query, and verification signals).
@@ -255,7 +272,7 @@ pick = ["readTextFile", "exec", "todo", "attemptCompletion"]
255272

256273
[experts."@create-expert/write-definition"]
257274
defaultModelTier = "low"
258-
version = "1.0.15"
275+
version = "1.0.16"
259276
description = """
260277
Writes or modifies a perstack.toml definition from plan.md requirements and architecture.
261278
Provide: (1) path to plan.md, (2) optionally path to existing perstack.toml to preserve, (3) optionally feedback from a failed test to address.
@@ -379,7 +396,7 @@ pick = [
379396

380397
[experts."@create-expert/verify-test"]
381398
defaultModelTier = "low"
382-
version = "1.0.15"
399+
version = "1.0.16"
383400
description = """
384401
Executes hard signal checks against test-expert's results, verifies their reproducibility, and checks the definition structure.
385402
Provide: (1) the test-expert's factual report (query, what was produced, errors), (2) the verification signals from plan.md, (3) path to perstack.toml.
@@ -442,7 +459,7 @@ pick = ["readTextFile", "exec", "todo", "attemptCompletion"]
442459

443460
[experts."@create-expert/test-expert"]
444461
defaultModelTier = "low"
445-
version = "1.0.15"
462+
version = "1.0.16"
446463
description = """
447464
Executes a single test query against a Perstack expert definition and reports what happened.
448465
Provide: (1) path to perstack.toml, (2) the test query to execute, (3) the coordinator expert name to test.

0 commit comments

Comments
 (0)