BEE-015: git commit --amend mints against the wrong baseline — an unminted ref can never be rescued

Now
OPEN
Sev
MED
Ask
gritzko
Rep
///bee
On1
BEE-014
See
BEE-008

index/hook.js decides what to mint with freshRefs(rel, was, now), where was is the ref's blob AT ctx.head.sha — the F tokens the staged blob carries that HEAD does not. On a git commit --amend HEAD IS THE COMMIT BEING AMENDED, so every ref that commit already introduced reads as old and mints nothing. The baseline should be the commit's PARENT, which is what the amended commit will actually replace. The practical loss: a ref that landed transient — committed before BEE-014, or with --no-verify, or on a commit the hook could not resolve at the time — can NEVER be upgraded by amending, which is the one move a reader would reach for.

Input

Context

Found 2026-08-16 while checking whether --amend would rescue e814db0's unminted refs (it will not). Four commits in a clone of ///bee-journal, hook installed, post-BEE-014 binary:

Goals

An amend mints what the resulting commit introduces, not what the last one did.

Constraints

WIP

Design decisions

NOTHING WAS BUILT: every route out is blocked on a ruling, so the work stopped at the evidence. Three findings settle the design space, and the first two kill the ticket's own proposal.

TODOs

No fixture was added. A leg pinning B and D would be RED with no fix to make it green, and the suite is the one thing that must not be left broken; the standalone repro in Context stands in until a route is ruled.

Blockers and bummers

Outcome

STOPPED AT THE EVIDENCE, nothing built and nothing edited — ///bee carries only BEE-014's changes, and ninja && ninja -j20 test in quickjab/build is 146/146. Every route out needs a ruling from gritzko, so building one would have been guessing.