July 26, 2026

Spec-Traceability Graduates: From Standalone Command to Automatic Pipeline Layer

/dr-spec is retired. The same graph validator that traced every requirement to its evidence now runs automatically inside /dr-prd, /dr-plan, /dr-do, /dr-qa, and /dr-compliance — no extra step, no separate invocation.

Datarim 2.58.0 retires the standalone /dr-spec command and promotes its engine — spec-graph-gate.sh — to an automatic layer embedded in five pipeline stages. If you used /dr-spec before, you do not lose anything: the same validator now runs for you, silently, at every stage that produces or consumes spec artefacts.

What spec-traceability does

At its core, spec-traceability answers one question: does every requirement have evidence? It builds a directed graph from four artefacts a task already produces:

wish_idD-REQV-ACplan-stepevidence

Each node in this chain is a concrete artefact the pipeline already generates: an acceptance wish in the PRD, a derived requirement (D-REQ-NN), a verifiable acceptance criterion (V-AC-NN), a plan step that implements it, and a piece of evidence — a test, a measurement, a file — that proves the step worked. The graph validator checks that every wish is covered, every criterion is traced, and every step has evidence. No parallel specification tree, no second pipeline, no external dependency.

The journey: standalone → auto-layer

Spec-traceability landed in v2.42.0 as /dr-spec, a standalone read-only verification command. You invoked it manually after a stage to check the requirement graph. It worked, but it added a step — and steps you have to remember are steps you sometimes skip.

The feedback from the first month of use was clear: the validator was valuable enough to run every time, not just when someone remembered to invoke it. In v2.58.0 (<TASK-ID>), /dr-spec was retired and its engine — spec-graph-gate.sh — was wired directly into the pipeline stages that produce or consume spec artefacts:

  • /dr-prd — validates that every wish has a traceable identifier and a coverage assertion.
  • /dr-plan — validates that every acceptance criterion maps to a plan step.
  • /dr-do — validates that every completed step carries evidence (advisory during implementation, since evidence is still accruing).
  • /dr-qa — validates the full graph end-to-end before archive.
  • /dr-compliance — validates that no requirement was dropped during hardening.

The /dr-verify deterministic floor inherits the same graph through the same gate adapter — its Layer 1 findings carry check_name: "dr-spec-lint:<rule>" provenance, unchanged from before.

What changed and what did not

Changed: the invocation surface. You no longer type /dr-spec {TASK-ID}. The graph check runs automatically when its stage completes — it is part of the stage, not a separate command after it.

Unchanged: everything else. The four pure-shell validators over the shared rule registry are the same files:

  • dev-tools/dr-spec-lint.sh — core graph validator, named rules, --scope git-diff support.
  • dev-tools/dr-trace.sh — coverage buckets: covered / uncovered / dangling / orphaned / deferred.
  • dev-tools/dr-lint.sh — umbrella façade with rule-registry introspection and a fail-closed mandatory-rule guard.
  • dev-tools/dr-spec-grade.sh — computed projection only, never hand-edited, never affects routing.
  • dev-tools/dr-spec-rules.yaml — the single source of truth for the rule set.

All five share the same contract: --format json, exit 0/1/2, and a mis-configured ruleset is a configuration error (exit 2), never a silent "0 violations." The advisory-first rollout (dry-run → baseline → advisory window → hard gate) is unchanged.

Why auto-layer is the right surface

A standalone verification command has a discoverability problem: you have to know it exists, remember to run it, and remember when to run it. An automatic layer solves all three:

  • Discoverability — if you run the pipeline, you get the check. No extra knowledge required.
  • Consistency — every stage runs the check relevant to its artefacts. You cannot forget to validate the plan because the plan stage validates itself.
  • Correctness — the check runs at the right moment, against the right artefacts, with the right scope. A manual command run too early or too late could miss or false-positive on in-flight changes.

The cost is zero: the graph validator is pure shell, runs in under a second on a typical task, and its findings use the same severity taxonomy and routing as every other pipeline check. If you were already running /dr-spec manually, the only difference is you no longer have to.

Command count: 27

With /dr-spec retired, Datarim ships 27 commands: 25 /dr-* pipeline and utility commands plus 2 standalone slash-commands (/factcheck and /humanize). The auto-layer removed a command from the surface but kept — and strengthened — its function. See the changelog for the full v2.58.0 entry.