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
Amendment 19 tooling: lanes hides CLOSED and DORMANT (--closed shows them; next free reads every row); lane-end --retire-dormant <repo> dry run then --yes = one commit; lanes-edit.sh archive-rows — first sweep: openxFactory's fourteen no-log rows #42
Tooling half of Lane Collision Protocol Amendment 19 — brettheap/new-workstation#36 (governing), #37 (DRAFT text). Brett Heap, 2026-09-14, verbatim: "openxfactory has 19 lanes showing with command 'lanes'. we need tools to clean them up." → "Retire them in one sweep (Recommended)", "Hide by default, --closed shows (Recommended)", "Amendment 19 (Recommended)". Measured: lanes in the openxFactory checkout lists 19 rows — 5 LIVE and 14 NO LOG (pre-Amendment-7 rows, no log, no session, mostly no workstation; five say unpushed/loss/owes).
Waits for ratification of #37. Built from main by lane openRepoTools-3, with or after #29 (Amendment 13's set-row-state, which the sweep uses where it exists).
Acts
lanes: two states below PARKED — CLOSED (the log's last lane-kind line is ENDED/RETIRED) and DORMANT (no log, no live session on this workstation) — hidden by default and under --bound; --closed adds them (CLOSED with the closing verb and time; DORMANT as NO LOG with start date and state-cell head); combinable with --bound and --all. The next free position is computed over EVERY row (and the archive of act 4), so a retired <repo>-<n> is never reissued.
lane-end --retire-dormant <repo> [--reason "<why>"] [--yes]: dry run by default — every DORMANT row of <repo> with start, workstation and state-cell head, FLAGGING cells that say unpushed / lost / loss / owes / LIVE; --yes → ONE commit: create lanes/log/<lane>.md with RETIRED — lane <lane>, session <writer uuid>@<ws>, <UTC>, lane:<lane> → retired-dormant by lane <writer>; reason <why>; was: <cell head verbatim capped 240> and set the row's state RETIRED <UTC> · <why> · was: <head> (via set-row-state where Amendment 13 tooling: lanes-edit.sh set-row-state, NOTED/RULED log verbs, history, migrate-state-cells; append-row-status retired — after #24 and #26 land #29 has landed, else append-row-status); refuse a lane with a live session here, a row whose log has a lane-kind line other than ENDED/RETIRED, and a repo with no dormant row; touch nothing outside the register and the logs. Implemented as lanes-edit.sh retire-rows <lane>… --reason … --writer <lane> (one commit, the lock held once) with lane-end as the word on PATH.
lanes-edit.sh archive-rows <repo>: move every RETIRED row of <repo> from LANES.md to lanes/archive/LANES-retired.md in ONE commit naming each lane; every next-free reader and lanes --closed read the archive.
Tests in tests/test_lane_helpers.sh: a seeded register with a live, a parked, an ended and three no-log rows → default lists one, --closed four; the dry run flags the unpushed cell; --yes writes three logs + three cells in ONE commit; a second run says nothing is dormant; a live lane refuses; the next free position skips a retired number; archive-rows moves the rows and the number still skips; the RETIRED line's session field is the writer's uuid (Amendment 7(b)); no file outside lanes/ touched.
Docs: docs/README-lanes.md (the two states, the sweep, the archive); AGENTS.md's lane paragraph if a line moves.
The first sweep: lane-end --retire-dormant openxFactory dry run shown to Brett Heap, then --yes on his word — the fourteen rows named on the governing issue.
Amendment 19 ratified 2026-09-14T13:46:16Z as drafted (brettheap/new-workstation#37 → main 69eb676). Buildable now, with or after #29; the first sweep (openxFactory's fourteen) runs on Brett Heap's word after the dry run is shown to him.
Activity
brettheap commentedon Sep 14, 2026
Amendment 19 ratified 2026-09-14T13:46:16Z as drafted (brettheap/new-workstation#37 → main 69eb676). Buildable now, with or after #29; the first sweep (openxFactory's fourteen) runs on Brett Heap's word after the dry run is shown to him.
Amendment 19: a closed or dormant lane leaves the listing, one sweep …