Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Implementation Status

This page maps the deployed behavioral specs to the commands and capabilities that implement them. Each row is a requirement in a spec (its scenarios under it); if ah check passes, that behavior is verified in CI.

Last refreshed from the deployed corpus at v0.11.0 (spec scenario counts re-derive any time via openspec/specs/*/spec.md).

Deployed specs

gate — Core verification engine (91 scenarios)

Covers what ah check does: scenario discovery, contract correspondence, test execution (including batched structured-output runners and range-based selection), JSON output, agent-actionability, quality signals, and property-derived contracts with ah sync.

RequirementWhat it verifies
Scenario Discoveryah check finds all scenarios from spec headings; mirrored headings deduplicate; same-id/different-body collisions fail
Sidecar Contract Correspondenceevery scenario has a contract; every contract has a scenario
Contract SchemaTOML contracts validate against the schema; superseded status requires a replacement
Test Runner Executiondeclared tests run per-binding with exit-code verdicts; eligible structured-output bindings batch into one invocation above the threshold (with per-binding attribution, matched-zero, fallback, timeout semantics)
JSON Findingsoutput is a stable JSON envelope with scope/summary/findings
Change Overlay Scope--changes adds staged scenarios; illegal overlays are rejected
Non-Regression ArchetypeNR contracts run in overlay scope
Deterministic Scope Boundarythe gate never inspects test internals or hashes prose
Agent-action fieldsevery finding carries suggested_action, playbook_command, and conditionally apply_command
Quality measurement capabilitiesquality-* findings are informational; tool failures fail the gate
Quality contract schemaquality config is not a test entry; property/snapshot are runnable
Conformance coverage matrixper-spec/per-archetype coverage, machine-readable
Property-Derived Contractslint-clean dual-format specs derive one contract per Properties row (ah sync, with stale-drift detection and human-owned field preservation)
Dual-Format Spec Corpusdual-format spec discovery and gating behave byte-identically for plain specs and for dual-format specs without Properties rows
Range-Based Test Selectionah check --run-tests --base/--head selects by commit range with total precedence and conservative fallback

(All gate scenarios are verified — run ah check --run-tests for the live count.)

cli — Command surface (53 scenarios)

Covers the full ah command interface: init, check, doctor, report, explain, type, scenario, archive, upgrade, lint, signals, feedback, sync, completions — plus JSON-envelope exit semantics (OK agrees with the exit code) and recommendation findings.

RequirementWhat it verifies
CLI Command Namebinary is named ah
Project Initializationah init creates .espectacular/ and hook integration
Correspondence Check Commandah check validates specs and runs tests
Spec Lint Commandah lint analyzes spec files for authoring-quality findings
Sync Commandah sync derives contracts from Properties rows (--check mode for CI)
Health Check Commandah doctor diagnoses config, paths, hooks, archetypes
Archetype Documentation Commandsah type lists and explains archetypes
Scenario Lifecycle Commandsah scenario new and ah scenario supersede
Archive Companion Commandah archive promotes staged contracts
Upgrade Commandah upgrade detects and reports tool-version drift
Doctor enable flagah doctor --enable <capability> writes config blocks
Explain subcommandah explain prints guidance for finding kinds and actions
Coverage report commandah report displays a conformance coverage matrix
Recommendation findingsfindings that need human review are flagged as such

lint — Spec-quality heuristics (32 scenarios)

Covers the ah lint checks: vague qualifiers, imperative steps, conjunctive bloat, missing negative scenarios, missing non-goals, unresolved ambiguity, entangled specs, finding schema, and the specodelic bridge (dual-format relay + relay completeness + property trace).

RequirementWhat it verifies
Vague Qualifier Detectionvague-qualifier precision (bounded qualifiers not flagged)
Imperative Step Detectionimperative-step detection
Conjunctive Step Bloat Detectionconjunctive-bloat with configurable limit
Missing Negative Scenario Detectionhappy-path-only requirements flagged
Missing Non-Goals / Unresolved Ambiguity / Entangled Specification Detectionstructural authoring checks
Lint Finding Schemafindings validate the lint schema
Dual-Format Lint Bridge / Relay Completeness / Scenario Property Tracespecodelic rule findings relay through ah lint; scenario/property trace advisories

adapters — Language adapter dispatch (27 scenarios)

Covers how ah check maps test types to runners and normalizes output.

RequirementWhat it verifies
Adapter detection precedenceconfig > manifest > binary on PATH
Python pytest adapterpytest detection, invocation, failure normalization
Rust cargo test adaptercargo detection, invocation, failure normalization
TypeScript vitest adaptervitest detection, invocation, failure normalization
No-adapter-configured pathmissing-runner finding when type has no runner
Custom runner plugin protocolcustom runners emit JSON envelopes parsed by ah check

explain — Playbook system (19 scenarios)

Covers the ah explain topic system and its compile-time completeness guarantee.

RequirementWhat it verifies
Playbook is compile-enforcedevery finding kind has an ah explain topic at compile time
Topic coverageall finding kinds and suggested actions are covered
Structured JSON output--json emits a machine-readable topic list
Topic listing / Quality finding topics / Adapter topicslisting shape; quality and adapter topics ship with their features
Unknown topic handlingunknown topics exit 1 with “did you mean” suggestions

config, cli-core, spec-authoring — Infrastructure (16 scenarios)

Shared config management (4), CLI scaffold guide + ah sync command (7 across 2 requirements), dual-format spec authoring (5).


How to read this page

  • Deployed means the scenario has a passing contract in ah check on main.
  • Planned means the scenario is staged in an OpenSpec change but not yet implemented (none currently — all active changes are fully implemented and archived).
  • Run ah check locally to see current pass/fail state.
  • Spec source lives in openspec/specs/.