Skip to content

rfc: reuse accepted merge context and bound table preparation - #638

Draft
ragnorc wants to merge 3 commits into
mainfrom
codex/rfc-bounded-merge-preparation
Draft

rfc: reuse accepted merge context and bound table preparation#638
ragnorc wants to merge 3 commits into
mainfrom
codex/rfc-bounded-merge-preparation

Conversation

@ragnorc

@ragnorc ragnorc commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

What & why

Branch merge repeatedly resolves the accepted schema and branch binding for each existing target, then prepares independent tables serially. RFC 0053 proposes reusing the accepted merge context and preparing up to four non-Blob tables concurrently while retaining the current three-way semantics, locks, validation, recovery, serial durable effects, and single graph publication.

The draft includes the 24-run CSV and exact diagnostic prototype patch. That prototype measured 2.35× faster eight-table merges and 2.51× faster 29-table merges with 17 ms added per physical storage request. These are diagnostic-build results; the proposed aggregate memory accounting, fallback, and release qualification remain acceptance gates. The proposal does not establish constant cost in catalog size, history, or unrelated fragments.

Backing issue / RFC

Related work: #310, #384, and #504. Their narrower completed work does not establish that these merge-path costs are resolved; this PR closes none of them.

Checklist

  • Change is focused: draft RFC, registry entry, and two evidence assets.
  • Tests added/updated for behavior changes: N/A; no runtime behavior changes.
  • Public docs updated if user-facing surface changed: N/A; proposal only.
  • Reviewed against architectural invariants; no invariant waiver or deny-list exception requested.

Local verification

  • python3 scripts/check-docs.py — passed, 127 Markdown files.
  • bash scripts/check-agents-md.sh — passed, 45 links and 43 docs.
  • python3 scripts/check-workflow-action-pins.py — passed, 63 pinned external actions.
  • typos v1.50.1, from the repository root — passed.
  • git diff --cached --check — passed.
  • Evidence integrity — verified all 24 CSV results, recomputed the quoted medians, preserved the prototype patch SHA-256 inside the ZIP, and verified CSV line-ending normalization changes no cell.
  • Rust build/tests — not run for this documentation-only PR. The RFC separately identifies previously executed prototype tests and outstanding production gates.

Notes for reviewers

status: draft, implementation: not-started. Review the existing-target opener contract, deterministic scheduling, proposed 128 MiB additional working-set allowance, width fallback, cancellation ownership, and benchmark promotion gates. Context reuse can ship independently of concurrent preparation. No Lance upgrade, storage migration, shorter-lock protocol, or concurrent durable-commit executor is proposed.

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.

1 participant