crate-seq publish pipeline
cli command dispatch → publish pipeline → registry → ledger persistence
components
- client user cli
invokes crate-seq subcommands
- process crate-seq init
- process crate-seq check
- process crate-seq publish
- process crate-seq tag
- process crate-seq skip
- process crate-seq status
- process crate-seq snapshot
- process select workspace memberscrate-seq-manifest
- process git: discover tagscrate-seq-git
- external registry: query versionscrate-seq-registry
- process build ledger entries
- database ledger: write .crate-seq.tomlcrate-seq-ledger
- database ledger: read entriescrate-seq-ledger
- external registry: query latestcrate-seq-registry
- process diff: pending vs published
- process detect orphaned entries
- process validate snapshot hashes
- process check report
- database ledger: append pending entrycrate-seq-ledger
- process git: create annotated tagcrate-seq-git
- database ledger: mark skippedcrate-seq-ledger
- process snapshot: capture directorycrate-seq-snapshot
- process snapshot: sha-256 hashsha2
- decision --execute?
dry-run by default; pass --execute for live publishing
- process dry run pipeline
- decision workspace?
single crate or multi-crate workspace publish
- process topo sort crates
- process cargo package --listcargo
- process check path deps
- process cargo checkcargo
- process dry run report
- process single publish
- process tiered workspace publish
- process process_entry
- process topo sort into tiers
- process for each tier
- process publish all crates in tier
- decision last tier?
- process wait_for_index
polls crates.io until versions appear before advancing to next tier
crate-seq-registry - process publish report
- process process_entry (per crate)
- process resolve source
resolves version source: git tag checkout or snapshot archive
- process validate_manifest
validates cargo.toml: name, version, license, description
crate-seq-manifest - process manifest: rewrite path deps
rewrites path dependencies to version ranges for registry publishing
crate-seq-manifest - process cargo packagecargo
- process cargo publishcargo
- process registry: backoff retry
exponential backoff retry on transient registry errors
crate-seq-registry - database ledger: mark publishedcrate-seq-ledger
- database ledger: read all entriescrate-seq-ledger
- process status table