Grant: the ELF writer and the object writers, to frank-optimize-b4
Track A belongs to frankA. Two sessions had been holding the letter
unguarded — the exact collision the lane letters exist to prevent. b4 proposed
the split and its argument settled it: splitting a lane down the middle is worse
than either of us holding it whole, and frankA has symtab.inc live and
half-landed plus the two regression-test-asm-* items.
Scope
compiler/elfwriter.inc- the ELF constants in
compiler/defs.inc - the object writers —
writeELFRelX64(the.asmfrontend's) andwriteELF32Rel
Nothing else in compiler/**. Not symtab.inc, not ir*.inc, not any
frontend. A change outside the slice is a Track A ticket, filed and handed to
frankA like any other lane's escape.
Why a slice and not a letter
This is not a new lane and must not become one. It is a bounded file grant
under Track A's gate — same shape as the xtensa cleanup grants — because it
happens to be a coherent slice: it is where b4 has spent the night
(75d2ba662, df98fea47, 3b8d1039e, 1befc225d), where its remaining filed
tickets live (feature-a-a-general-x86-64-relocatable-object-writer, and
ELF_AARCH64_PAGE if the owner takes the page-size question back), and it does
not touch the files frankA is in.
Gate
Track A's, unchanged: make compiler/pascal26 (which IS the byte-identical
self-host fixedpoint) plus the repro, and python3 tools/forwardlint.py clean
before the push. gate.sh quick before a pin, which b4 does not run — pins are
the coordinator's.
Why this is filed rather than agreed in a message
b4's own note: "I would have taken a message as sufficient." An authorisation is a finding about what is permitted, and an unfiled grant does not read as missing — it reads as covered, because a neighbouring ticket covers the same file. The tooling makes an unfiled ticket unrepresentable and cannot see an unfiled grant.
Release condition
When b4's session ends, or when frankA needs the slice. An open grant on shared
files reads as a standing exception to anyone greping for who may edit
elfwriter.inc, so release it rather than leave it — the way
grant-compiler-pas-c-branch-tok-unbounded-to-frankc was released unused the
same day.
LAPSED BY ABSENCE, 2026-08-30 ~14:4x — the holder is not running
Found by the coordinator running ls devdocs/progress/backlog/grant-*, the enumeration
procedure adopted today after two release sweeps worked from memory instead.
frank-optimize-b4 is not a live session. It does not appear in the fleet listing; the
live sibling is frank-optimize, a different session under a different name. So this grant
has no holder, and a lock with no holder is strictly worse than no lock — it reserves a
file against agents who would otherwise be dispatched to it, and it does so invisibly to the
ranker.
The file slice is released: compiler/elfwriter.inc, defs.inc's ELF constants, and the
object writers (writeELFRelX64 / writeELF32Rel) are unheld as of now.
What is NOT being claimed here
This is a lapse, not a resolution. Nothing in this annotation says b4's work finished.
The last elfwriter.inc commit is d147202a1 ("DbgBuf grows on demand — -g was 1.5% from
failing at EVERY -O level"), which is consistent with the slice having completed and
equally consistent with it having stopped partway. A grant is a lock; releasing a lock and
closing the work are different acts, and conflating them is how a half-done slice gets
recorded as done. If b4's ticket is unfinished, it is unfinished under whoever picks it up.
Whoever resumes that slice re-claims it and re-requests the files. Do not treat this annotation as authorisation.
The overlap that made this urgent rather than tidy
defs.inc is currently granted to frankwasm for the UTF-16 type kinds. That is disjoint
in practice — type kinds are not ELF constants — but the board recorded two live holders of
one file, and nobody looking at the board could tell that the overlap was harmless. Same
failure as this ticket's own section 2 correction: the visible record contradicted the
dispatch, and the visible record is what anyone else would check.
The lesson, third instance today
Filing a grant makes it enumerable; it does not make it current, and it does not notice when
its holder disappears. Sessions end; grants do not. There is no aperture for either
condition — check has STALE-PARK for prose park conditions and nothing at all for grants.
Candidate T ticket: a GRANT-NO-HOLDER / GRANT-STALE aperture keyed on the owner: field
against the live session list, which is the one thing a human coordinator cannot hold in
their head across a day.
CLOSED 2026-08-30 — the system this models no longer exists
The grant mechanism — a coordinator authorising a named agent to touch a named shared file, filed as a ticket so the authorisation was visible — was cut on 2026-08-30 along with the rest of the reservation system, after ten concurrent agents produced exactly one unmergeable rollback in a night. Lane letters are now informative and advisory; nobody needs permission to touch a file, so there is nothing here to grant and nothing to release.
Closed rather than resolved: the work was never done, and the reason it will not
be is that the question stopped existing. Evidence for the cut:
devdocs/dev/coordination-overhead-2026-08-30.md.
Nothing was extracted from this one before closing — it is bookkeeping end to
end. The engineering it points at (feature-a-a-general-x86-64-relocatable-object-writer)
has its own ticket and is untouched.