Harden change scanning and backup diagnostics #7

Merged
kleb merged 18 commits from feature/safe-change-scanning into main 2026-07-31 07:07:02 +02:00
Owner

Summary

  • fail closed when image capture does not have an immutable capture point, fix ext4 1 KiB mapping, tighten NTFS sparse coverage and dm-era parsing, and add per-volume capture outcomes
  • introduce repository format v4 with restartable legacy image integrity auditing, read-only legacy repositories, and guarded restores for unproven images
  • add redacted durable Activity storage, request correlation, paged run detail, source preflight, persistent operator errors, and the connected first-backup workflow
  • bound CBT verification and upload state, stream index publication, and preserve existing FastCDC boundaries

Validation

  • go test ./...
  • go test -race ./internal/activity ./internal/progress ./internal/runhistory ./internal/capture/image ./internal/repo
  • go vet ./internal/capture/image ./internal/capture/fstree ./internal/capture/cbt ./internal/ext4 ./internal/ntfs ./internal/activity ./internal/progress ./internal/runhistory ./internal/service ./internal/web ./internal/repo
  • Linux internal/service cross-compile
  • npm run check
  • npm run e2e (15 tests)

Platform gates

Linux coordinated dm-era/LVM acceleration, NTFS journal subtree reuse, encrypted checkpoint spilling, and formal large-scale memory qualification remain disabled until their platform fixtures pass.

## Summary - fail closed when image capture does not have an immutable capture point, fix ext4 1 KiB mapping, tighten NTFS sparse coverage and dm-era parsing, and add per-volume capture outcomes - introduce repository format v4 with restartable legacy image integrity auditing, read-only legacy repositories, and guarded restores for unproven images - add redacted durable Activity storage, request correlation, paged run detail, source preflight, persistent operator errors, and the connected first-backup workflow - bound CBT verification and upload state, stream index publication, and preserve existing FastCDC boundaries ## Validation - `go test ./...` - `go test -race ./internal/activity ./internal/progress ./internal/runhistory ./internal/capture/image ./internal/repo` - `go vet ./internal/capture/image ./internal/capture/fstree ./internal/capture/cbt ./internal/ext4 ./internal/ntfs ./internal/activity ./internal/progress ./internal/runhistory ./internal/service ./internal/web ./internal/repo` - Linux `internal/service` cross-compile - `npm run check` - `npm run e2e` (15 tests) ## Platform gates Linux coordinated dm-era/LVM acceleration, NTFS journal subtree reuse, encrypted checkpoint spilling, and formal large-scale memory qualification remain disabled until their platform fixtures pass.
Collaborator

kReview review

Verdict: no findings

No findings to address in the reviewed diff.

Low risk: no concrete correctness, security, or data-integrity defects are provable from the supplied diff.

Reviewed by kReview at ba852dac0c. This comment is conservative and based only on the PR diff and metadata.

Est. cost ~$30.15 total (5.7M in / 107.7k out) · this run ~$1.02 (179.5k in / 4.5k out) / gpt-5.6-sol.

<!-- codex-forgejo-review --> <!-- codex-forgejo-review-head:ba852dac0c32312cb890a401be1919d6d4918ab5 --> ## kReview review **Verdict:** no findings No findings to address in the reviewed diff. Low risk: no concrete correctness, security, or data-integrity defects are provable from the supplied diff. _Reviewed by kReview at `ba852dac0c`. This comment is conservative and based only on the PR diff and metadata._ _Est. cost ~$30.15 total (5.7M in / 107.7k out) · this run ~$1.02 (179.5k in / 4.5k out) / gpt-5.6-sol._ <!-- codex-forgejo-review-state:eyJoZWFkU2hhIjoiYmE4NTJkYWMwYzMyMzEyY2I4OTBhNDAxYmUxOTE5ZDZkNDkxOGFiNSIsInN1bW1hcnkiOiJMb3cgcmlzazogbm8gY29uY3JldGUgY29ycmVjdG5lc3MsIHNlY3VyaXR5LCBvciBkYXRhLWludGVncml0eSBkZWZlY3RzIGFyZSBwcm92YWJsZSBmcm9tIHRoZSBzdXBwbGllZCBkaWZmLiIsImZpbmRpbmdzIjpbXSwiY3VtdWxhdGl2ZUNvc3QiOnsidXNkIjozMC4xNTI2MDg5OTk5OTk5OTgsImlucHV0VG9rZW5zIjo1Njc3NDI5LCJvdXRwdXRUb2tlbnMiOjEwNzczMiwibW9kZWwiOiJncHQtNS42LXNvbCJ9fQ== -->
kleb merged commit 19ce67ad00 into main 2026-07-31 07:07:02 +02:00
kleb deleted branch feature/safe-change-scanning 2026-07-31 07:07:02 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
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
kleb/kBackup!7
No description provided.