You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
canon_lane's exit 66 is flattened to 2 at 41 call sites, and the restart skill's lread reads every exit 2 as "no answer" #324
canon_lane returns 66, not 2, for an alias table it cannot read (lanes-edit.sh:5636-5646, :5670), because 2 already means Amendment 15(d)'s two-rows refusal or "a helper that predates the subcommand" to lane-start, lane-end, lane and lane-handoff, and a third meaning would land in the fail-open branch. Only the canon-lane subcommand carries it (:18016-18023, exit $?). Every other subcommand arm spells lane="$(canon_lane ...)" followed by exit 2 on failure: 41 sites in lanes-edit.sh (grep finds 43 matches at 33ce26d, two of them comments at :5319 and :5603). The comment at :5636-5646 assumes every caller sees 66.
The #260 review measured it: with aliases.tsv replaced by a directory, register-row exits 2 and canon-lane exits 66 (the measurement is the reviewer's, not re-run here). The skills and lane-handoff read a 2 that is not 15(d) as an old helper and fall through.
skills/handoff/SKILL.md:579: the step-4 lane-dir read has the same arm. Harmless there, because step 1 refuses a case-twin lane first.
The REFUSED wording (skills/handoff/SKILL.md:106, lane-handoff:1458) names only case-twin rows, though log_path_ci (lanes-edit.sh:2991) and others exit 2 for 15(d) too. A nit.
Why it matters
An unreadable alias table is the case 66 was made for. Flattened, a lane whose rename alias is invisible is bound, or its row is added a second time, from a read that never happened. #310 (open) will make canon_lane refuse on an unreadable register as well, which adds 66 exits the 41 sites then flatten.
Suggested fix
Spell the 41 sites canon_lane ... || exit $? so a 66 is carried (a hygiene check can hold the line), teach lread the 15(d) fence sread has, and widen the REFUSED wording. Fold into #310's design or land first.
Found by: the #260 writer's list (lane 5, 2026-10-18T21:2xZ) items 1 to 3, and the review of #260 (2026-10-19). Filed on Brett Heap's word of 2026-10-23T18:52:34Z, by multiple choice.
Activity