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.error—error::AppErrorand 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.