Repository navigation
Conversation
Apply canonical ingestion, exact staging retirement, recovery and force-publication fixes to the indexed-catalog and fixed-SQLite branch. Keep its captured catalog formats and lookup authority unchanged. Strengthen multi-edit qualification with one shared exact-retirement oracle.
This was referenced Oct 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Native
crab addand Git-clean previously kept separate ingestion and payload lifetimes. Switching paths could retain another full large-file representation, while push/recovery could lose delegated recipes or retire the wrong owners. This integration applies the shared streaming staging engine, Git-index handoff/recovery and exact post-publication retirement to the authenticated indexed-catalog branch.This is a draft integration PR, stacked on #577 (
codex/sqlite-wal-safety,4ebfc3dcece). It brings together the staging series through #576; the indexed catalog, cache WAL and SQLite changes belong to the base. It is not the completed eight-stage initiative.Changes
Evidence and review map
crab/src/cmd/add.rs,crab/src/git/clean.rs→crates/crab-staging/src/stream.rs→ canonical recipe/payload ownershipcrab/src/git/filter_process.rs,crab/src/git/index.rs→ staging publication history and leasescrab/src/git/capsule_push.rs,crab/src/git/push_staging.rs→StagingPushSnapshot→ confirmed publication and exact retirementmainIs this the best fix? The intended ownership is one ingestion engine plus caller-owned publication transactions, rather than duplicate native/Git payload paths. This draft needs combined runtime, lifecycle and scaling evidence before that can receive a final verdict.
Validation
0e84ca14b00:cargo check -p crab --lib --bin crab --locked --no-default-features --features simd-accel,gix-pathmatch --jobs 2(19m46s). The minimal profile reports 17 warnings; this is not a strict-lint pass.cargo fmt --all -- --check,git diff --checkand 17 Python qualification tests (11 source-isolation, six protocol-log tests).0e84ca14b00: release-profile staging regression build and all seven tests inpush_snapshot_guard,publication_history_recoveryandretained_recipe_visibility(build 6m17s).0e84ca14b00: the release CLI build withsimd-accel,gix-pathmatchand no default features (30m41s); binary/source hashes retained. Current-source integrated smoke passes 163 commands / 84 checks after replacing an obsolete pre-push lease-count assertion with exact retained file-version coverage. The failed original run is preserved; an independent 16-command / 19-check probe proves the two published/history plus two delegated owners push, retire to zero and cold-reconstruct both versions. Exact post-push zero retirement and both cold byte checks remain unchanged. The integrated native-first entropy workload now passes 75 commands / 57 checks on this same frozen binary: two 10,737,418,240-byte files, four native/Git/native/Git versions, no duplicate full local payload, exact zero-owner retirement after each push, incremental uploads, all eight cold historical SHA-256 checks, Git integrity and remote fsck with zero errors/repairs. Report SHA-256c64adcfbb6dce9cd3a5c5fbadfcbc66d633fc285edfa69aec1c07cde6391e6ab; binary SHA-256d4b8a1e9f17c5b7933d685021f1203e076f7b7bcf61c86f64ebaa65e8e5b8f77. Source capture is0e84ca14b00plus the recorded qualification patch;c70c8a374f7commits that harness/docs correction without changing Rust. This receipt does not qualify later catalog consumers.The requested
crab/docs/benchmarks/large-file-push-audit-summary.jsonandcrab/docs/benchmarks/large-file-push-audit.mdare excluded. No benchmark fixture, architecture inventory or expected-failure baseline is relaxed.