Skip to content

feat(export): add point-in-time projections - #477

Open
tcballard wants to merge 1 commit into
mainfrom
feat/point-in-time-export
Open

feat(export): add point-in-time projections#477
tcballard wants to merge 1 commit into
mainfrom
feat/point-in-time-export

Conversation

@tcballard

Copy link
Copy Markdown
Collaborator

Summary

  • adds decided export --at <revision> for viewer, documents, and graph projections
  • reconstructs historical governing config and recursive federation/submodule closure from exact committed blobs using read-only, offline Git object access
  • preserves requested-path identity and existing public Rust construction contracts while failing closed on missing objects, unsafe paths, and bounded snapshot limits
  • prevents snapshot writes inside the worktree, Git directory, or Git common directory

Verification

  • cargo clippy -p asdecided-core -p decided --all-targets -- -D warnings
  • 31 focused point-in-time tests: 10 engine snapshot tests and 21 CLI/federation/guard tests
  • affected existing CLI, export, and federation regression suites
  • release build: cargo build --release --locked -p decided
  • corpus validation: 469/469 artifacts valid; relationships, review, and gate completed without blockers
  • clean committed-tree byte parity for viewer, documents, and graph projections
  • SurfaceCheck: 42 passed, 0 failed

A monolithic cargo test --workspace --release attempt exhausted the shared volume while LTO-linking integration binaries; it reported no code or test failure before storage exhaustion. The focused suites and release binary build completed successfully.

Closes #257

Materialize exact historical blobs and bounded federation closures for viewer, documents, and graph exports.

Closes #257

Signed-off-by: Tom Ballard <tom@armytage.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

corpus-sync: point-in-time export — decided export --at <rev>

1 participant