Expand description
Publish Status Scanner with O(1) Cache
Scans PAIML stack repositories for publish status with intelligent caching. Uses content-addressable cache keys to achieve O(1) lookups for unchanged repos.
§Cache Invalidation
Cache keys are computed from:
- Cargo.toml content hash (blake3)
- Git HEAD commit SHA
- Worktree modification time
crates.io versions are cached with 15-minute TTL.
§Performance Target
- Cold cache: <5s (parallel fetches)
- Warm cache: <100ms (O(1) hash checks)
Structs§
- Cache
Entry - Cache entry for a single repo
- Crate
Status - Status of a single crate
- GitStatus
- Git status summary for a repo
- Publish
Status Cache - Persistent cache for publish status
- Publish
Status Report - Full publish status report
- Publish
Status Scanner - Scan workspace for PAIML crates and return publish status
Enums§
- Publish
Action - Recommended action for a crate
Functions§
- compute_
cache_ key - Compute cache key for a repo Key = hash(Cargo.toml content || git HEAD SHA || Cargo.toml mtime)
- determine_
action - Compare versions and determine action
- format_
report_ json - Format report as JSON
- format_
report_ text - Format report as text table
- get_
git_ status - Get git status for a repo
- get_
local_ version - Extract version from Cargo.toml