runward

RW™ · V0.38.0

Docs · Reference

CLI commands.

The 17 commands, generated from the --help of the published package. Exit codes : 0 success · 1 gaps · 2 missing prerequisite.

Global flags

OptionWhat it does
-V, --versionoutput the version number
--no-colordisable colored output
--verbosedetailed logs
--yesnon-interactive: accept all defaults (CI)
--dry-runprint planned actions without writing
init [options]scaffold the mission structure (interactive wizard, or --yes)
check [options]can I cross the gate — gate audit, exit 1 on gaps (CI-friendly)
verify [options] <attestation>re-check a `check --attest` attestation offline — the tree has not drifted and the verdict re-derives, on the repo alone (ADR-0055)
bundle [options] <artifacts...>bind delivery artifacts (the verdict attestation, seal, OSCAL, SBOM) into one in-toto-attested manifest — a single provenance for an assessor (ADR-0055)
spec-check [options] <spec...>deterministic spec conformance: every acceptance criterion is LINKED to a present delivered artifact, and every criterion identifier the bundle references is declared — never a claim it is semantically met (ADR-0056)
status [options]where am I — mission snapshot: current gate, decision journal, workflows
doctorenvironment and installation checks
wire [options]recommend the auto-trigger channel for the AI harness running this command (read-only; never wires — the operator does, ADR-0012)
update [options]refresh runward/workflows/ and runward/rules/ from this package version (mission state untouched)
characterize [options]read-only inventory of an existing codebase → runward/characterization.md (brownfield/retro-doc)
manifest [options]rule-conformance manifest overview; --sync scaffolds missing rows and migrates renamed slugs (form only, never content)
propose [options]deterministic proposer (ADR-0066): fill empty manifest rows as proposed:applied where a rule's signature matches inside its declared territory — no model call; the gate refuses every proposal until you ratify
ratify [options]turn proposals into your decisions, against displayed evidence (ADR-0066); interactive only — --attest-blind is the recorded, disclosed escape
gate-hook [options]the harness seam (ADR-0065): reads the hook payload on stdin, runs the strict verdict in process, and refuses in the harness's native shape — blocks once (native re-entry guards honoured), traces every release to runward/gate-bypass.log, fails open on infrastructure and never on a verdict
rules [options]the effective rule set (mission copy, else package); --json is a stable machine contract
explain [options] <rule>print a rule's contract (impact, phases, why, signature) and its full text — the rationale inline
compliance [options] [regime]assemble a regime-framed evidence pack from the mission (deterministic, read-only; a readiness draft, never a compliance claim)
help [command]display help for command

runward init

scaffold the mission structure (interactive wizard, or --yes)

runward init [options]
OptionWhat it does
-p, --path <path>project directory (default: prompt, or . with --yes)
-t, --tools <list>comma-separated tool profiles: claude,cursor,copilot,gemini,windsurf,continue,junie,trae,kiro
--forceoverwrite existing files
--examplescaffold a filled reference mission (request-triage) — the whole chain is green out of the box

runward check

can I cross the gate — gate audit, exit 1 on gaps (CI-friendly)

runward check [options]
OptionWhat it does
-p, --path <path>project directory
--strictalso verify the rule-conformance manifests: rows, typed pointers, signatures, drift, seal (deterministic)
--freezeseal a green strict gate: hash the evidence into runward/evidence-lock.json (implies --strict)
--hooksrun operator hooks from runward/hooks.json around the audit (opt-in)
--coverageadvisory: report deliverable + decision-ratification coverage (does not gate)
--through <phase-id>construction gate: certify only phases up to and including <phase-id> (frame | architect | floor | govern | handover) — a progress signal, never the sole release gate (ADR-0053) (choices: "frame", "architect", "floor", "govern", "handover")
--jsonmachine output: verdict, current gate, deliverable states, conformance gaps (stable contract, for agent-driven runs)
--attestemit the verdict as an unsigned in-toto attestation (in-toto Statement wrapping --json; sign it yourself under your own key)
--sarifemit the verdict as a SARIF 2.1.0 log (annotations on the manifest rows; upload it yourself)
--vsaemit the verdict as a SLSA Verification Summary Attestation (needs --resource-uri; set SOURCE_DATE_EPOCH to keep it byte-idempotent)
--resource-uri <uri>the artifact the VSA is about (a package, image or release URI) — required with --vsa, never guessed

runward verify

re-check a `check --attest` attestation offline — the tree has not drifted and the verdict re-derives, on the repo alone (ADR-0055)

runward verify [options] <attestation>
OptionWhat it does
-p, --path <path>project directory
--jsonmachine output: verified, and the digest/verdict match (stable contract)

runward bundle

bind delivery artifacts (the verdict attestation, seal, OSCAL, SBOM) into one in-toto-attested manifest — a single provenance for an assessor (ADR-0055)

runward bundle [options] <artifacts...>
OptionWhat it does
-p, --path <path>project directory

runward spec-check

deterministic spec conformance: every acceptance criterion is LINKED to a present delivered artifact, and every criterion identifier the bundle references is declared — never a claim it is semantically met (ADR-0056)

runward spec-check [options] <spec...>
OptionWhat it does
-p, --path <path>project root the criteria's file:/test: pointers resolve against (default: .)
--jsonmachine output: verdict, per-criterion linkage, non-scope (stable contract)

runward status

where am I — mission snapshot: current gate, decision journal, workflows

runward status [options]
OptionWhat it does
-p, --path <path>project directory

runward doctor

environment and installation checks

runward doctor [options]

runward wire

recommend the auto-trigger channel for the AI harness running this command (read-only; never wires — the operator does, ADR-0012)

runward wire [options]
OptionWhat it does
-p, --path <path>project directory
--jsonmachine output: detection status, harness, recommended + candidate channels (stable contract)
--installthe operator's writing gesture (ADR-0065): shows the exact file, asks y/N, writes atomically with a probe and a committed journal — TTY-only, refused under an agent runtime signal, and --yes does not exist here
--uninstallthe symmetric removal of what --install wrote, under the same locks (the global --dry-run renders either gesture without writing, exempt from the locks)

runward update

refresh runward/workflows/ and runward/rules/ from this package version (mission state untouched)

runward update [options]
OptionWhat it does
-p, --path <path>project directory
--forceoverwrite locally modified workflows
--corpus <path>vendor runward/rules/ from this local corpus directory (a path, never a registry coordinate)

runward characterize

read-only inventory of an existing codebase → runward/characterization.md (brownfield/retro-doc)

runward characterize [options]
OptionWhat it does
-p, --path <path>project directory (default: .)
--minealso propose candidate retroactive ADRs as DRAFT hypotheses (deterministic git archaeology, no model call)

runward manifest

rule-conformance manifest overview; --sync scaffolds missing rows and migrates renamed slugs (form only, never content)

runward manifest [options]
OptionWhat it does
-p, --path <path>project directory
--syncwrite: append missing rows with an empty status, rewrite renamed slugs, create missing sections

runward propose

deterministic proposer (ADR-0066): fill empty manifest rows as proposed:applied where a rule's signature matches inside its declared territory — no model call; the gate refuses every proposal until you ratify

runward propose [options]
OptionWhat it does
-p, --path <path>project directory

runward ratify

turn proposals into your decisions, against displayed evidence (ADR-0066); interactive only — --attest-blind is the recorded, disclosed escape

runward ratify [options]
OptionWhat it does
-p, --path <path>project directory
--allen-bloc ratification with a mandatory sample drawn deterministically from the mission digest
--by <name>the declared ratifier (defaults to the OS user name; always recorded as declared)
--attest-blindratify without displayed evidence and RECORD the mode as BLIND — disclosed by every later check and carried by the attestation

runward gate-hook

the harness seam (ADR-0065): reads the hook payload on stdin, runs the strict verdict in process, and refuses in the harness's native shape — blocks once (native re-entry guards honoured), traces every release to runward/gate-bypass.log, fails open on infrastructure and never on a verdict

runward gate-hook [options]
OptionWhat it does
--harness <id>one of: ${GATE_HOOK_HARNESSES.join(", ")}
-p, --path <path>project directory

runward rules

the effective rule set (mission copy, else package); --json is a stable machine contract

runward rules [options]
OptionWhat it does
-p, --path <path>project directory
--jsonmachine output: { runward, source, count, rules } sorted by slug (versioned, additive)
--phase <id>only the rules mapped to this phase (architect | topology | floor | govern | handover)
--for <paths...>only the rules whose declared territory (appliesTo:) covers these project-relative paths; prints the pattern that matched

runward explain

print a rule's contract (impact, phases, why, signature) and its full text — the rationale inline

runward explain [options] <rule>
OptionWhat it does
-p, --path <path>project directory
--jsonmachine output: the rule plus its body

runward compliance

assemble a regime-framed evidence pack from the mission (deterministic, read-only; a readiness draft, never a compliance claim)

runward compliance [options] [regime]
OptionWhat it does
-p, --path <path>project directory
--regime-version <version>regime mapping version (default: highest shipped, see regimes/)

Generated from runward --help / runward <command> --help · runward v0.38.0

← Docs