Skip to main content

Crate spec_driven_docs

Crate spec_driven_docs 

Source
Expand description

Spec-driven documentation: current specs, immutable decision records, and executable gates kept coherent for people and coding agents.

This crate is the canon’s distribution: the sdd binary installs, verifies, upgrades, and gates instances, and carries the whole payload — spec seeds, templates, lint configs, and the method chapters — embedded at compile time. The method itself lives in the repository’s markdown, not here; this crate only ships and enforces it.

Major modules:

  • domain — pure types and invariants: manifest, profiles, rule and gate identifiers, marker-block splicing, versions.
  • embedded — every compile-time embedded asset and its accessors.
  • gates — the delivered gate implementations and their registry.
  • services — install, verify, upgrade, and hook-rendering orchestration.
  • adapters — filesystem I/O at the edges.
  • plan — the typed document every landing write comes from.
  • release — the bundle and resolver boundary every landing verb reads a release through.
  • self_depend — how a consumer pins this tool and keeps the pin fresh.
  • transaction — the lock, staging, and journal a recoverable multi-file write runs through.
  • cli / commands — clap parse shapes and their handlers.
  • errorerror::AppError and the exit-code matrix.

§The supported target

Linux is the only target this crate supports (ADR-linux-is-the-only-supported-target). The refusal below states that boundary to the compiler rather than to a reader, because the source is otherwise portable enough that a build elsewhere would succeed and then keep promises nothing here proves. The guard names the operating system and not the architecture: no source in this crate varies by architecture, and dist-workspace.toml states which architecture the release builds.

Modules§

adapters
I/O at the edges.
cli
Root clap parser.
commands
Subcommand handlers.
context
Shared per-invocation context handed to every command handler.
domain
Pure domain types and invariants.
embedded
Compile-time embedded assets: the payload and the method, in the binary.
error
Crate-level error type and exit-code mapping.
gates
The delivered gates: every check an instance wires as a pre-commit hook.
logging
tracing-subscriber installation. Called once from main.
output
The output boundary: every byte the binary prints goes through here.
payload_roots
plan
One typed document that every landing write comes from.
probes
The environment probe catalog.
release
The release boundary: what a release is, and how one is obtained.
self_depend
How a consumer obtains this tool, and how its pin stays fresh.
services
Orchestration services: the work behind the lifecycle commands.
transaction
Recoverable multi-file writes.