LITE-026 DONE: commit hook upgrades new file:line refs to blob permalinks

Now
DONE
Sev
MED
Ask
gritzko
Rep
///lite
On1
LITE-025
See
LITE-024

gritzko 2026-08-14: minting rides the commit — a hook scans the changed files for NEW file:line(:col) refs and rewrites them into file:OFF:HASHLET permalinks (LITE-025 form, BLOB hashlet only). Beagle and git repos alike need one; lite deals only with git, so there it is a git hook planted by the install routine. Commit time is exactly when every staged blob's hash is known, while the commit id is not — which is why the LITE-025 hashlet is blob-only.

Input

Context

LITE-025 defines the permalink: ron64 byte offset into the named blob + the blob's hashlet (min 4, even, non-digit, unique in the path's own blob history, earliest match wins). The transient file.c:12:24 form is what humans and compilers write; committed text is where it rots — the hook upgrades it at the last moment it is still current.

Goals

A pre-commit hook + its installation, lite/git only; the beagle-native (post-verb) counterpart is separate ground, not this ticket.

Constraints

WIP

Design decisions

TODOs

Blockers and bummers

Outcome

Worker wt work/LITE-026, lite base ///lite/#846a3495 (carries LITE-025). 7 files jab put, NO commit. Full lite suite vs a pristine clone of the same base, same runtime: failure counts IDENTICAL (blob 12/13, cat 16/35, list 17/78, pager 1/33, tree 25/47 — all pre-existing), merge still 46/46 green with the install change, plus the new hook suite.

Spec/code notes for gritzko, nothing improvised around:

Suggested commit (lite wt): LITE-026: the commit hook mints permalinks

Outcome — the 2026-08-14 follow-up (index write-back + the first commit)

Worker wt work/LITE-026b, lite base ///lite/#6ba244a3 (the landed hook). 4 files jab put, NO commit. test/hook PASS 11 shell + 20 + 6 JS checks, 0 bad. RED FIRST on the same fixture: the partial-staging commit did not upgrade and the root commit minted nothing (2 bad). Full suite vs a pristine clone of #6ba244a3, same runtime: failure counts IDENTICAL (blob 12/13, cat 16/35, list 17/78, pager 1/33, tree 25/47 — all pre-existing), merge 46/46 both ways.

Suggested commit (lite wt): LITE-026: mint into the index, first commit too