Skip to content

fix(store): upgrade SQLite WAL integrity - #1308

Draft
dnlrsls wants to merge 2 commits into
Gentleman-Programming:mainfrom
dnlrsls:fix/2.1.0-01-sqlite-wal-reset
Draft

dnlrsls wants to merge 2 commits into
Gentleman-Programming:mainfrom
dnlrsls:fix/2.1.0-01-sqlite-wal-reset

Conversation

@dnlrsls

@dnlrsls dnlrsls commented Sep 21, 2026

Copy link
Copy Markdown
Member

🔗 Linked Issue

Closes #1303


🏷️ PR Type

  • type:bug — Bug fix
  • type:feature — New feature
  • type:question — Question requiring tracked work
  • type:docs — Documentation only
  • type:refactor — Code refactoring (no behavior change)
  • type:chore — Maintenance, dependencies, tooling
  • type:breaking-change — Breaking change

📝 Summary

  • Upgrade the SQLite runtime to include the upstream WAL-reset integrity fix.
  • Add a startup assertion that prevents release builds from regressing below the fixed SQLite runtime.
  • Handle the test store close explicitly so this isolated slice passes errcheck.

📂 Changes

File Change
CHANGELOG.md Updated by the focused SQLite WAL integrity slice.
go.mod Updated by the focused SQLite WAL integrity slice.
go.sum Updated by the focused SQLite WAL integrity slice.
internal/store/startup_gate_test.go Updated by the focused SQLite WAL integrity slice.

🧪 Test Plan

  • Unit tests pass locally: go test ./... (known baseline Windows failures remain in unrelated packages)
  • E2E tests pass locally: go test -tags e2e ./internal/server/...
  • Lint passes locally: make lint (make unavailable; direct golangci-lint passed with 0 issues)
  • Manually tested the affected functionality
  • Focused store/startup tests passed on the reviewed work unit and final integrated candidate.
  • Final integrated candidate passed vet, deadcode ratchet, six release builds, binary quick self-test, and performance ratchet.

🤖 Automated Checks

These run automatically and all must pass before merge.


✅ Contributor Checklist

  • I linked an approved issue above (Closes #N)
  • I added exactly one type:* label to this PR
  • I ran unit tests locally: go test ./...
  • I ran e2e tests locally: go test -tags e2e ./internal/server/...
  • I ran lint locally: make lint (direct equivalent passed)
  • Docs updated if behavior changed
  • Commits follow conventional commits format
  • No Co-Authored-By trailers in commits
  • I checked every changed path against the Transient Artifact Policy

Chain Context

Field Value
Chain Engram 2.1.0 blocker integration
Tracker PR Not needed — stacked PRs to main
Position 1 of 16
Base main @ 70870987
Depends on None
Follow-up fix/2.1.0-02-pull-while-blocked
Review budget 113 / 400 changed lines
Starts at Audited main baseline
Ends with SQLite runtime and release assertion include the WAL-reset fix

Chain Overview

main
└── 📍 01 SQLite WAL integrity
└── 02 pull while push is blocked
└── … 14 further slices

Scope

Autonomy

  • CI is expected to pass for this PR branch
  • This PR has one deliverable scope
  • This PR can be rolled back without unrelated changes
  • Tests cover this unit

💬 Notes for Reviewers

This PR is intentionally draft. Native RDD approved the immutable source and correction patches before this delivery rebuild. Native START was unavailable for the derived range; high-risk ASSESS fallback required and received independent verification. Merge authorization is separate.

@dnlrsls dnlrsls added the type:bug Bug fix label Sep 21, 2026
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:bug Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(store): upgrade SQLite past WAL-reset corruption bug

1 participant