- porch-store and query-corpus prefixes registered; both replayed onto
dev, so dev is a superset of porch-store-middleware
- three branches could not be replayed and are preserved as annotated
tags rather than merged or discarded:
- cleanup/pre-existing-changes carries crates/ + Cargo.toml, the Rust
runtime master deleted; replaying it would resurrect it
- ipc-attach refactors wo_row_insert/wo_row_update_field into
encoded cores, which db2-keys rewrote for keys-residency — two
overlapping refactors of one function
- keypair-auth builds on ipc-attach, blocked by the same overlap
- names the specific hazard: 9c transfers ownership of vals on failure,
dev's keys-resident arm returns early without freeing, so a merge
that compiles and passes could still leak or double-free
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit bc8fec01d565d0ad54696fb3d2f85a9d1e0531a1)
4.2 KiB
Git commit history — features and their cherry-picks
Reference for which commits carried which feature onto master, so a
feature can be traced, re-reviewed, or reverted as a unit long after the
history it was written in has moved on.
The workflow this file records
- Development happens on
dev. Not onmaster, and not on a fresh branch per feature. - Every commit on
devcarries a feature-specific unique prefix, written as the conventional-commit scope —feat(db2-keys): …,fix(db2-keys): …. The scope, not a bare leading word, so the repo keeps thefeat/fix/docstype it has used throughout. One prefix per feature, reused by every commit belonging to it, which makes a feature's commits selectable withgit log --grepwithout reading a single diff. - When the feature is ready — complete, not merely green —
git checkout masterand cherry-pick that feature's commits, in order. - Record the result below: the
devhashes, themasterhashes the cherry-pick produced, and the date. The two differ — a cherry-pick makes new commits — and that mapping is the whole reason this file exists.
Ready means the same gate as always: no half-implemented feature reaches master. An annotation the compiler accepts but does not honour counts as broken, however green the suite.
Prefix registry
One row per feature. The prefix is claimed here before its first commit, so two features cannot collide.
| Prefix | Feature | Status |
|---|---|---|
commit-history |
this file and the workflow it records | ✅ on dev |
db2-keys |
databasev2 2 — resident: keys storage and readers |
on dev (125bd09, 08abd09, 0c97fa4, f606fc9). Not ready: the loader still refuses the annotation, and updates on such a table are refused rather than implemented |
porch-store |
porch store tables + Limiter middleware (Phases A, B) | on dev (519d411, 5b1e82a). In progress — a later phase was still uncommitted when this was replayed |
query-corpus |
databasev2 query-grammar corpus #1 | on dev (4c82461). Conclusion was "no new grammar needed" |
Cherry-picks onto master
Newest first. dev hash is the original; master hash is what the cherry-pick
produced.
| Date | Prefix | Feature | dev → master |
|---|---|---|---|
| — | — | nothing cherry-picked onto master under this convention yet | — |
Before this convention
Work up to 2026-08-29 landed on master by merging feature branches, so
those commits keep their original hashes and have no entry here.
git log --merges master is the record for that period.
The db2-keys and porch-store commits are the seam: they were written on
porch-store-middleware before this convention (18ce4d5, f9c36ef,
11a92df, 91411ae, 6c8550a, 01af1b9) and were replayed onto dev with
prefixed titles. The replay was verified identical, not merely applied — after
it, git diff porch-store-middleware dev over the whole tree was empty.
On 2026-08-29 every other branch was consolidated so only dev and master
remain. Three could not be replayed and were preserved as annotated tags
instead — nothing is lost, and each tag's message says why:
| Tag | Why it is not on dev |
|---|---|
archive/cleanup-pre-existing-changes |
Aug 10, based on an Aug 8 commit. Carries crates/ and Cargo.toml — the Rust runtime master has since deleted entirely. Replaying it would resurrect it. |
archive/ipc-attach |
Iteration 9c attach channel. Refactors wo_row_insert/wo_row_update_field into engine-encoded cores; dev rewrote those same functions for db2-keys. Two overlapping refactors of one function, ~250 conflicted lines. |
archive/keypair-auth |
Iteration 9d, builds on 9c — blocked by the same overlap. |
The 9c/9d hazard is specific and worth stating: that branch's contract
transfers ownership of vals on failure as well as success, while dev's
keys-resident arm returns early without freeing. A merge that compiles and
passes could still leak or double-free. Reconciling them is an integration
task, not a conflict resolution — recover the work with
git checkout -b <name> archive/ipc-attach when it is scheduled.