ADR-0134 — Suspec's self-contained spine: the mandatory triad, artifacts-are-the-glue, additive accelerators
Context
Suspec's parts must compose into a working loop while each stays independently usable. The failure mode to prevent: a canonical step silently depending on an optional part — a universal skill, the MCP, the CLI, an agent catalog — so the loop breaks, or degrades unnoticed, when that part is not installed. The framework ships many pieces (artifacts, templates, kit skills, CLI, MCP, agent catalog, universal skills); what was never stated as an invariant is which are the mandatory spine and which are additive accelerators, and that the spine must complete with none of the accelerators present.
Decision
The spine is the artifacts and their relationships; everything else is additive. Level: convention (architectural).
-
The mandatory triad.
spec → run → closeis the mandatory loop — a change is specified, run (implemented with evidence), and closed (reviewed-and-recorded).intake,task, andrevieware optional steps layered on when the work warrants them. -
Artifact relationships are not optional, even when the step is. An optional step, once used, carries its mandatory dependency: a
taskdepends on itsspec; areviewreconciles against itsspec. A review reconciles against the spec, never the task — two optional steps must not depend on each other, or they stop being independently optional. Review coverage keys on the spec's ACs; a task, if present, is only an evidence source, never the review's target. -
Skills and tools are additive accelerators, never dependencies. Every canonical step completes with the artifacts + the assumed harness alone. A universal/global skill, the MCP, the CLI, or the agent catalog MAY accelerate a step, but the step MUST have a self-contained path that needs none of them. No canonical (kit) part may assume an optional part exists — no kit skill references or depends on a universal skill (
revolver-review,fix-flaky-test, …), on the MCP, or on another skill. A kit skill that punts a case to an optional global skill is a defect to close. -
Automated checks are early-warning, never a replacement. The CLI and MCP surface fast, cheap signals (a lint, a reconcile). A green automated check never substitutes for the manual/agent pass: if
suspec checkpasses, an agent or human still validates the work — the check is an early-warning layer, additive to the real review, not a stand-in for it. This applies to every QOL/tooling addition (ADR-0085's reconcile-only posture is the CLI case of this rule). -
The assumed floor is a capable agent harness (≈ Claude Code / Codex). It can spawn a subagent, read and write files, and run commands. Capabilities the floor provides are not "optional parts": the independence invariant (reviewer ≠ implementer, ADR-0119) is satisfied by spawning a fresh subagent to review — a harness capability, not an installed catalog. The
suspec-revieweragent /suspec-agentscatalog is an accelerator over that path, never the only way to get independence.
Consequences
- Kit skills carry their own method, reference no sibling skill and no universal skill; the
skill-to-skill links and the optional-global-skill punts (e.g.
write-fix/write-testing→ the globalfix-flaky-test) are removed. - The review skill reconciles against the spec, states the spawn-a-fresh-subagent independence
path, and names no universal skill (no
revolver-reviewmention in the canonical review). - The CLI, MCP, agent catalog, and universal skills are each documented as additive accelerators with a by-hand fallback.
- The kit
AGENTS.mdfloor states the harness-capability assumption alongside the examine-don't-ruminate norm (ADR-0133). - Open (governed by this ADR, decided separately): where the method lives vs the shared loop
artifacts. The loop artifacts (
spec/task/review/finding) are the mandatory glue — the interface between skills — and stay single-sourced; the method is the skill's own (body +references/). The naive "movetemplates/into a skill'sreferences/" is rejected:templates/is referenced by canon ADRs, the single-sourcing rule, and the CLI (init/update/check), and the artifacts are shared glue, not one skill's scaffold.
Status
Accepted (2026-07-05). Names the architectural spine implicit across ADR-0057/ADR-0060/ADR-0075/ADR-0085/ADR-0112. Honors ADR-0063/ADR-0117; relates ADR-0119/ADR-0085/ADR-0133.
Need a starting point? Install the skills