Skip to content

[Quality] Correctness prevention: SQL semantics, lifecycle testing and bounded Verus proofs #1225

Open

Description

@grove

Recent correctness reports motivate a focused follow-up to the existing quality work: expand the semantic cases tests can reach, strengthen what a passing test establishes, exercise recovery histories, and add small production-used Verus proofs.

This issue tracks proposed quality improvements from the October 22 research review. It does not claim new runtime reproductions, reopen the entire historical Verus roadmap, or make every future proof an immediate release gate.

Work items and recommended order

First: strengthen executable tests

Next: deliver proofs in bounded production slices

This is a prioritization recommendation, not a serial execution requirement. The SQL tests and protocol tests provide runtime evidence for the corresponding proof slices. The source-to-SQL and database boundaries must remain visible even after a proof passes.

Relationship to existing work

Acceptance criteria (proposed)

  • R1: Each linked issue records its scoped outcome, actual verification evidence and remaining limits. Correct baselines pass; representative semantic defects are rejected for the intended reason.
  • R2: Existing regression protection is retained and new checks run in the documented CI tier. Empty selection, skipped paths, fallback masking and infrastructure errors cannot masquerade as semantic coverage.
  • R3: Every claimed proof uses the production executable implementation, enforced caller assumptions and a reviewed specification. SQL lowering, PostgreSQL semantics, transactions and FFI remain separately qualified where unproved.
  • R4: Progress and release wording distinguish implemented tests, model proofs, executable proofs and runtime-qualified behavior. Partial delivery can ship without implying whole-extension verification.

Verification — PROPOSED — NOT RUN

Use each work item's focused verification plan and existing CI/release records. Record candidate revision, material configuration, actual runtime path and semantic-control outcomes. Follow repository formatting/linting and SQL-facing testing requirements for implementation changes.

Evidence and limits

Research baseline: 00d21749bc20af8b19940b857fae461e0ccfe471. The linked issues include inspected source locations and primary PostgreSQL/Verus references.

The preparatory review was read-only and sampled; no project code, tests, builds or proofs were executed. Acceptance criteria are proposals, and no separate saved Intentline contract was created.

Activity

  1. added
    enhancementNew feature or request
    qualityCorrectness, test reliability, recovery assurance, and formal verification improvements
    on Oct 22, 2026
  2. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    Progress since the merged #1232 integration candidate: #1220 is now closed against its narrow acceptance using the pinned Verus baseline, five rejected executable mutants, packaged PostgreSQL 18 lifecycle cases, and candidate-binding evidence from CI run 40853118868. #1217 and #1222 are also closed. #1218, #1219, #1221, #1223, and #1224 remain open with exact partial evidence and limits recorded in their issue comments; #1198 remains open pending exact-head CI and required sole-owner source review. The umbrella acceptance is still incomplete.

  3. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    Update: #1219 is now closed after exact-main DVM deep-tier run 40866922269 passed the 10-seed × 12-cycle histories; its 10 traces and 21/21 extended-history suite are retained in the run artifact. #1220, #1217 and #1222 are also closed. #1218, #1221, #1223 and #1224 remain open with their bounded implementation evidence and explicit limits recorded; #1198 remains open on the React 0.108.4 admission gate and pending owner review. The umbrella acceptance remains incomplete.

  4. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    Update: #1218 is now closed after its bounded acceptance was verified on merged main candidate PR #1232 (run 40853118868). Exact numeric-scale observation, declared negative-control failures and setup rejection, the 12-case trigger/WAL × FULL/DIFFERENTIAL route witness, four SQL semantic mutants, and the installed receipt-prefix control passed; case and candidate evidence are retained in run artifacts.

    #1219, #1220, #1217 and #1222 are also closed. #1221, #1223 and #1224 remain open with broader proof/qualification gaps recorded. #1198 remains open: PR #1199 has green exact-head CI, but the separate React 0.108.4 admission audit fails and the required sole-owner review is absent. Umbrella acceptance remains incomplete.

  5. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    Update: #1218 and #1224 are now closed against merged main candidate PR #1232 after all bounded acceptance criteria passed in exact CI run 40853118868. Their comments link the semantic-control, identity-frame proof, and candidate-binding artifacts and state the remaining scope limits.

    #1219, #1220, #1217 and #1222 are also closed. #1221 and #1223 remain open with explicit proof and runtime qualification gaps. #1198 remains open: PR #1199 has green exact-head CI, but its separate React 0.108.4 admission audit fails and the required sole-owner review is absent. Umbrella acceptance remains incomplete.

  6. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    Current delivery status

    The new PRs close only their documented bounded slices. #1221 and #1223 remain open for the acceptance recorded in their latest comments, so this umbrella issue remains open as well.

  7. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    CI update for candidate PRs

    • fix(cdc): preserve truncate barriers during compaction (#1221) #1286 remains conflict-free. One job, Release evidence runtime controls, failed in the existing test_dvm_failpoint_preserves_last_committed_result_and_recovers: CI observed effective_refresh_mode=NO_DATA where the assertion expected DIFFERENTIAL. Its scenario contains no TRUNCATE and does not exercise the new compaction guard. The same focused test passed twice locally, so a scheduler timing race is suspected but not yet confirmed. The parent workflow still has Unsafe ASan, Sensitive E2E 2/2, and packaged LSN runtime jobs in progress; I will rerun the failed job when the workflow completes.
    • fix(dvm): correct nested join delta corrections (#1223) #1287 remains failure-free with 14 checks passed and six pending.

    No PR has been merged. The #1198 compatibility admission and checksum remain unchanged pending the requested authorization.

  8. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    CI update for candidate PRs

  9. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    Candidate CI update

  10. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor
  11. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    Progress update: #1221 now has a bounded follow-up in PR #1293 at candidate 89ea301. The shared compaction eligibility decision is used by base and ST buffers, with local unit/lint/verification and 19 targeted E2E tests passing. GitHub CI is queued; full history and protected-window proof obligations remain open. #1221 and #1223 are still open, and previously excluded mutation issues remain excluded.

  12. grove commented on Oct 29, 2026

    @grove
    CollaboratorAuthor

    Additional scoped progress: #1292 now has a design-only PR, #1295, at candidate 980fe38. It records a source-traced design and preserves the INTERSECT admission guard until implementation and qualification. #1292 remains open; CI is queued. Existing #1221 and #1223 work also remains partial, and the excluded mutation issues remain out of scope.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestqualityCorrectness, test reliability, recovery assurance, and formal verification improvements

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions