Skip to main content

Module publish_status

Module publish_status 

Source
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§

CacheEntry
Cache entry for a single repo
CrateStatus
Status of a single crate
GitStatus
Git status summary for a repo
PublishStatusCache
Persistent cache for publish status
PublishStatusReport
Full publish status report
PublishStatusScanner
Scan workspace for PAIML crates and return publish status

Enums§

PublishAction
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