refactor: drop dev-cycle-profile.yml for conventions + CLAUDE.md facts
The profile was never parsed — it was prose the skill bodies told the model to read, so most slots were dead, constant across every project, or fiction (the whole pipeline block, including the "tdd is opt-in" claim, was enforced by nothing). Split it in two: constants become fixed conventions named directly by the skills (new docs/conventions.md), and the few genuinely per-project facts move to each project's CLAUDE.md under '## Skills plugin: project facts'. tdd/fieldtest/docwriter are now always available; the only behavioural toggle left is spec auto-sign. Delete docs/profile-schema.md and templates/project-profile.yml; add docs/conventions.md and a project-facts section to templates/CLAUDE.md.fragment; rewrite all SKILL/agent prose and the pipeline/design/migration/README/INSTALL docs accordingly.
This commit is contained in:
+13
-15
@@ -26,15 +26,14 @@ genuinely captures the symptom, not the post-fix code path.
|
||||
|
||||
## Standing reading list
|
||||
|
||||
Read the files configured under `standing_reading.always` plus
|
||||
`standing_reading.by_role.debugger` in the project profile.
|
||||
The defaults include `CLAUDE.md` for role boundaries and the
|
||||
recent `git log` for the most recent iter commits — the last
|
||||
iteration may have introduced the bug.
|
||||
Always read `CLAUDE.md` (for role boundaries) and
|
||||
`git log -10 --format=full` — the most recent iter commits, as
|
||||
the last iteration may have introduced the bug — plus the
|
||||
per-role standing reading the project lists in its CLAUDE.md
|
||||
project facts for the debugger role.
|
||||
|
||||
If the project has a design-ledger configured under
|
||||
`paths.design_ledger`, walk it for invariants the bug may have
|
||||
crossed.
|
||||
If the project has a design ledger (its CLAUDE.md project
|
||||
facts), walk it for invariants the bug may have crossed.
|
||||
|
||||
The four-phase process below is the single source of truth —
|
||||
the dispatching skill file does not duplicate it.
|
||||
@@ -77,11 +76,10 @@ Each phase completes before the next starts.
|
||||
2. Reproduce with the shortest possible command. If the carrier
|
||||
provides one, verify it; otherwise build one.
|
||||
3. Diagnose by data flow, not by guess:
|
||||
- Build error → run the project's build command
|
||||
(`commands.build` from the profile) with output captured
|
||||
- Test red → run the configured test command
|
||||
(`commands.test`) with verbose output and the failing
|
||||
test name targeted
|
||||
- Build error → run the project's build command (its
|
||||
CLAUDE.md project facts) with output captured
|
||||
- Test red → run the project's test command with verbose
|
||||
output and the failing test name targeted
|
||||
- Wrong stdout → run the artefact that produced it, capture
|
||||
stdout verbatim, compare to expected
|
||||
- Segfault → run the binary, capture exit code; if `valgrind`
|
||||
@@ -220,8 +218,8 @@ At most 250 words, structured:
|
||||
- The fix. That's `implement` mini-mode's job.
|
||||
- Sweeping refactors layered on top of a bug fix.
|
||||
- Changes to the test once it's RED — the test is the contract.
|
||||
- Design-ledger edits (the file at `paths.design_ledger` in
|
||||
the profile, if configured).
|
||||
- Design-ledger edits (the project's design ledger, if it has
|
||||
one — its CLAUDE.md project facts).
|
||||
- Verdicts like "this whole subsystem is broken". Phase 4.5
|
||||
surfaces the architecture question; the orchestrator decides
|
||||
the verdict.
|
||||
|
||||
Reference in New Issue
Block a user