Decide: staff Track C, or leave the own-language-first chain parked
DECIDED — and it was decided BY ACTION on 2026-08-19, not in this ticket. Option 1.
Track C was folded into an existing session (frank2, alongside its A/P/C work) rather than given a fourth checkout — exactly the recommendation below, and for the reason given: the blocker was small and lane-safe, and C's files (
clexer/cparser/cpreproc/lib/crtl) are disjoint from thelexer.inc/parser.incanother session was holding, so the two could not collide.The blocker is FIXED:
eb5c7be11, and [[bug-c-definition-of-an-intrinsic-name-overwrites-the-pascal-routine]] is indone/. The chain behind it is unblocked; [[feature-a-own-language-first-symbol-resolution]] movedblocked/->backlog/at p55.Worth recording as the failure mode, because this ticket is an instance of it: the decision was taken in practice hours before anyone updated the ticket, so for that whole window the board said a question was open that had already been answered — the mirror of "a decided ticket never re-filed is invisible work". A decision executed but not written down is just as stale as one written down but not executed. If you act on a
decide-*, close it in the same pass.Note the fix took a different instrument than this ticket's recommendation implied: the discriminator is exact case, not unit-of-origin, because
lib/crtldeliberately redefines Pascal builtins it spells identically (malloc,memcpy,strtod) and splitting those would give a program two allocators. So noProcLangarray and no Track A ticket fell out of it, as the ticket had anticipated they might.
Read time ~1 minute.
bug-c-definition-of-an-intrinsic-name-overwrites-the-pascal-routine sits at
p55 in Track C and is the single unmet blocker on
feature-a-own-language-first-symbol-resolution. Nobody is on Track C.
The fix is in cparser.inc — C's own file, so it does NOT collide with A/P/N and
needs no pin.
Options
- Fold C into an existing session. Frontend+frontend is the low-risk combo (disjoint files), so whoever holds N or B could take it. Cheapest.
- Staff a 4th checkout for C. Clean, but adds a session to supervise and a fourth compile stream on an 8-core box already running three.
- Leave it parked. It has waited this long; the chain behind it is one feature.
Recommendation
(1), folded into whichever session is free first — but not before the current three run a clean day. The blocker is small and lane-safe; the cost is attention, not risk.
Related standing note: "own language first" is already a settled principle (memory: own-language-first name resolution beats cross-language AND overrules import order). This is about who does it, not whether.