Commit Graph

3 Commits

Author SHA1 Message Date
Brummel fc0e1d0d46 skills: cut blabla and redundancy from skill prose
Per-skill prose tightening from the same audit swarm; each finding
passed an adversarial second reviewer. No behavioural change.

- audit: drop garbled "Conventions require deferred audits to
  compound" sentence (says the opposite of intent; the preceding
  line already closes the loophole).
- brainstorm: drop forward-pointing meta-comment about the
  Rationalisations table.
- debug: drop third restatement that debugger.md is the single
  source for the carrier/handoff fields.
- docwriter: drop motivational opener; Overview starts at the
  waste argument.
- fieldtest: fold the 2-4-examples rationale into the dispatch
  sentence instead of restating the count a fourth time.
- implement: drop "known platform constraint at the time" aside.
- planner: cut the verbose anti-drift paragraph (which restated
  the very table it claimed not to) down to a cross-reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 13:21:25 +02:00
Brummel 0b969838c0 refactor: single-source carrier/handoff contracts across skills
Apply the debug-skill pattern (commits 6410732..de42974) to the
remaining skills: the agent file is the single source for each
interface field's semantics; the SKILL.md copy is reduced to field
names plus a pointer, marking the agent's contract table
authoritative. Because SKILL.md loads into orchestrator context and
agents/*.md into the subagent's fresh system prompt with no
transclusion, duplicated field tables drift apart over time.

- brainstorm: carrier (spec_path/iteration_scope) -> grounding-check;
  the absolute-path requirement now lives only in the agent.
- planner: carrier (spec_path/iteration_scope/focus_hint) ->
  plan-recon, including the mandatory/optional markers and the
  BLOCKED-on-missing rule SKILL.md had omitted.
- fieldtest: carrier + produced fields -> fieldtester; the skill-level
  `status` roll-up (clean/friction_found/bugs_found/infra_blocked),
  which is not part of the agent's run-status protocol, stays defined
  in SKILL.md only.
- docwriter: carrier + produced fields -> docwriter agent.
- implement: carrier (iter_id scratch-dir/stats/not-a-branch
  semantics) -> implement-orchestrator; per-task sub-status vocabulary
  moved into the orchestrator-agent (it runs the loop in a fresh
  context and could not read SKILL.md at runtime, yet referenced "the
  sub-status table" by name); task_text_path single-sourced in
  implementer with spec-reviewer cross-referencing.

audit was already the reference implementation (pointers, no restated
contracts) and is unchanged.

closes #2

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 11:10:10 +02:00
Brummel 7f46e9c027 docwriter: skill + agent migrated; commands.doc_build slot added
Third skill via the boss pattern. docwriter was the most
language-coupled of the seven (Rust rustdoc, cargo doc, /// + //!,
intra-doc links). Generalised the discipline while keeping Rust
as the canonical concrete example, with a note that other
languages substitute syntax (TSDoc, Python docstrings, Javadoc).

Profile gains one slot:
- `commands.doc_build` — doc-build command that prints warnings
  on stderr (e.g. "cargo doc --no-deps 2>&1"); used by the
  docwriter agent's verification triple and warning enumeration.
  Optional — projects without API docs omit it.

Vocabulary substitutions:
- AILang → "this project"
- "crates" → "components / packages / crates / modules" (the
  project's idiom)
- "milestone" → "cycle"
- "Boss" → "orchestrator"
- "ailang-docwriter" → "docwriter"

AILang-specific bits replaced:
- `cargo doc --no-deps 2>&1` → `commands.doc_build` slot
- `cargo build --workspace` / `cargo test --workspace` →
  `commands.build` / `commands.test` slots
- `crate / module / item` levels → "top-level / module-level /
  item-level" (the universal taxonomy; concrete syntax via
  language note)
- `src/lib.rs` / `src/main.rs` hardcoded paths → "entry-point
  file" (Rust example kept inline)
- `docs/` / `design/` hardcoded dirs → `paths.design_ledger`,
  `paths.design_contracts`, `paths.design_models`,
  `paths.spec_dir` slots

Universal substance preserved verbatim:
- Iron Law (4 lines)
- Documentation rules (5 bullets) — substantive content; only
  the concrete-syntax examples got the Rust-as-example note
- Hard limits (4 bullets)
- Verification triple (build / test / doc_build)
- Status protocol (DONE / DONE_WITH_CONCERNS / NEEDS_CONTEXT /
  BLOCKED)
- All 7 Common Rationalisations rows (with vocabulary edits)
- All 7 Red Flags bullets
2026-05-28 15:56:33 +02:00