Files
ngit-grasp/tests
DanConwayDev 8c2ee32ee6 fix(git): isolate staged expiry recovery failures
A malformed or unreadable staging record should not keep the entire relay offline. Skipping that record creates no new expiry authority and preserves live refs and their history.

Recover each record independently, log failures with the record path, and continue recovering healthy views. Leave suspect metadata and data intact for inspection. Registry enumeration failure remains fatal; this change does not add automatic metadata repair or batch retained-root writes.

Validation: reproduced the corrupt JSON failure before the fix. All 18 staging unit tests and 62 integration/helper tests passed, including invalid-path isolation, healthy-record recovery, data preservation and relay restart with corrupt metadata. Workspace all-target clippy with warnings denied, cargo fmt --check and git diff --check passed.

Assisted-by: GPT-6
2026-09-29 11:43:55 +00:00
..