feat(src): verify complete IBM i source captures #102

Merged
binjovi-bot merged 3 commits from feat/strict-source-capture into trunk 2026-09-09 14:43:31 +00:00
Owner

Source export could silently lose members after 1,024 entries, accept truncated reads, and treat access failures as empty directories. This change removes the fixed member limit and propagates transfer and listing errors.

zelnet src export --strict writes a new capture directory, compares two complete passes, and emits a manifest with member paths, byte counts, SHA-256 hashes, and an explicit completion state. Unknown source kinds fail strict capture. The manifest covers selected source text; it does not claim an atomic application snapshot or binary/source equivalence.

Validation: all 881 Zig tests pass. Live strict capture passed for the two Lemonade source members in SOMEARA1 and SOMEARA2; the independent recovery verifier passed. The same capture correctly failed in SOMEARAB, where the source files are absent. Regression tests cover over 1,024 members, invalid names, truncated buffers, source drift, and IFS access errors.

Source export could silently lose members after 1,024 entries, accept truncated reads, and treat access failures as empty directories. This change removes the fixed member limit and propagates transfer and listing errors. `zelnet src export --strict` writes a new capture directory, compares two complete passes, and emits a manifest with member paths, byte counts, SHA-256 hashes, and an explicit completion state. Unknown source kinds fail strict capture. The manifest covers selected source text; it does not claim an atomic application snapshot or binary/source equivalence. Validation: all 881 Zig tests pass. Live strict capture passed for the two Lemonade source members in SOMEARA1 and SOMEARA2; the independent recovery verifier passed. The same capture correctly failed in SOMEARAB, where the source files are absent. Regression tests cover over 1,024 members, invalid names, truncated buffers, source drift, and IFS access errors.
feat(src): reject incomplete exports and verify strict capture manifests
Some checks failed
binjovi/ci Binjovi failed the frozen plan
952d28379e
ci: retry strict source capture after native agent rollout
Some checks failed
binjovi/ci Binjovi failed the frozen plan
78b4f65c80
ci: verify source capture with isolated package agents
All checks were successful
binjovi/ci Binjovi completed the frozen plan
303d01375a
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/zelnet!102
No description provided.