Skip to content

Make database checkpoint plans fully predictive - #4996

Merged
Widthdom merged 5 commits into
mainfrom
fix-issue4890
Jul 30, 2026
Merged

Make database checkpoint plans fully predictive#4996
Widthdom merged 5 commits into
mainfrom
fix-issue4890

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • introduce an immutable checkpoint plan shared by dry-run output and execution, covering DB/WAL/SHM inputs, every planned payload, the versioned manifest, hashes, byte estimates, conflicts, policies, and uncertainty
  • verify source fingerprints before and after copying, verify copied artifacts, reject drift before atomic publication, and reject non-regular inputs such as Unix FIFOs before hashing
  • preserve legacy JSON counters while adding detailed plan fields, expand human output and command help, and document the contract in both English and Japanese
  • add the required changelog fragment and focused regression coverage for parity, drift, conflicts, manifest collisions, missing sidecars, and FIFO inputs

Validation

  • dotnet build CodeIndex.sln -c Release --no-restore (0 warnings, 0 errors)
  • dotnet format CodeIndex.sln --no-restore --verify-no-changes
  • dotnet run --project tools/CodeIndex.Changelog/CodeIndex.Changelog.csproj -c Release --no-restore -- check (68 fragments)
  • DbCommandRunnerTests: net8 95/95; net9 95/95
  • issue-focused tests: net8 8/8; net9 8/8
  • full net8 suite: 10,922 passed, 7 skipped, 0 failed
  • full net9 suite: 10,448 passed, 420 skipped, 0 failed
  • Codex adversarial review: 2 rounds completed; all findings addressed

Fixes #4890

@Widthdom
Widthdom merged commit 1492009 into main Jul 30, 2026
12 checks passed
@Widthdom
Widthdom deleted the fix-issue4890 branch July 30, 2026 12:23
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.

Preview every planned checkpoint output

1 participant