Repository navigation
Give COMPILE_CMD/TEST_CMD explicit no-build-system guidance - #58
Conversation
Closes #56 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Self-review rubric (one intrinsic-critique pass; external anchor is UNVERIFIED — see below):
One FAIL found and fixed in e1f7de5 before this comment: the reword list omitted the "re-run tests" step in the Phase 8 "Branch is behind main" edge case — the same class of test-assuming prose the PR is fixing, and one #56 explicitly flags ( Two judgment calls left deliberately, for a human to weigh rather than silently resolve: (1) the Phase 3 lead-in still reads "Verify the build is clean:" even for a repo with no build — drafted by Claude on behalf of Daniel Stephenson |
* Give COMPILE_CMD and TEST_CMD no-build-system guidance Closes #56 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Include the Phase 8 rebase step in the test-wording reword list Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Summary
{{COMPILE_CMD}}and{{TEST_CMD}}assumed every target repo has a runnable build and test command, so a docs-only or config-only repo (includingcreate-dev-loopitself) forced the generator to improvise the same fallback per generation instead of following an encoded rule.LINT_CMD("omit section if absent") andEXTERNAL_SIGNAL_CMD(explicit manual-validation branch) already handle their absence; these two did not.COMPILE_CMDrow — adds no-build-system guidance: substitute the cheapest mechanical consistency check that would actually catch breakage (placeholdergrep,jq -e, schema lint), or a shell comment naming the real gate so the fence stays valid bash.TEST_CMDrow — adds no-test-suite guidance: confirm the absence (don't assume), substitute a shell comment pointing at the project's manual validation steps, and use the same text at every{{TEST_CMD}}site (Phase 3 verify block, Phase 8 rebase fence).{{VALIDATION_NOTE}}(conditional, Phase 3) — one-line parenthetical under the verify fence stating what actually gates correctness when the fence holds comments rather than commands. Omitted entirely for repos with a real build.{{REVALIDATE_INSTRUCTION}}(Phase 6) — replaces the hardcoded "Run{{TEST_CMD}}after every fix", which rendered as nonsense ("Run# re-run the checklist") for a repo with no test command.COMPILE_CMD/TEST_CMD/REVALIDATE_INSTRUCTION/VALIDATION_NOTE/EXTERNAL_SIGNAL_CMDto name the same check, and directing the generator to reword the three test-naming Edge cases entries accordingly.No Step was added, removed, or renumbered, so README's "What it does" list stays 1:1 with Steps 1–7. Phase numbers are unchanged.
Research grounding
RESEARCH.md §8 (prompt and model drift) is adjacent but not implemented here: its point is that forward-only template fixes leave existing skills silently lagging, and a rule re-derived per generation is the same silent-lag failure by another route. No finding speaks directly to how a template should model build/test commands — flagging that honestly rather than reaching for one. No Implementations entry was added under §8, because this PR does not implement any of that finding's implication bullets (version header, regression fixtures, retrofit channel — already shipped in #33/#35).
Existing generated skills predating this change are unaffected (their placeholders are already substituted); the
create-dev-loop-dev-loopskill already renders the improvised form this PR encodes, so no retrofit PR is needed.Test plan
{{TOKEN}}in the embedded template has a Step 4 substitution-table row — verified by diffing the token list against the table rows (VALIDATION_NOTE,REVALIDATE_INSTRUCTIONrows added).create-dev-loop.md./create-dev-looprun end-to-end against a real repo) could not run in this headless session: it writes outside the repo (~/local-skills/,~/.claude/commands/) and creates a GitHub repo. This PR changes the embedded template and the Step 4 table, so per the loop's own rule the anchor is required — do not merge without a human running/create-dev-loopagainst a repo with no test suite and confirming the Phase 3/6 sites render sensibly.Closes #56
This PR description was drafted during a Gardener session (Stephenson-Software/gardener).