Skip to content

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

Closed

Description

@brettheap

Lane: openrepotools-3 (openRepoTools-3)

The tooling half of Lane Collision Protocol Amendment 13 — brettheap/new-workstation#24 (governing issue), brettheap/new-workstation#25 (the DRAFT text). Step 1 of Brett Heap's 2026-09-13 ruling "Fix the shape first, Postgres as truth next (Recommended)" on "it takes too long to deal with the LANES file". Step 2 is brettheap/new-workstation#26 (Amendment 14, number claimed, text to follow).

Waits for #24 (Amendment 9 act 3) and #26 (Amendment 11 tooling) to land here; built from main after them by lane openRepoTools-3, on ratification of the text.

Acts

  1. lanes-edit.sh set-row-state <lane> "<STATE> · <one line>" — stamps the UTC and REPLACES the row's state cell with <STATE> · <UTC> · <one line>; STATE ∈ LIVE, PAUSED, LANDING #, LANDED, ENDED, RETIRED, HANDED OFF; the one line capped at 240 characters (O1). add-row writes a new row's state in that phrase from birth; lane-start's stamp and lane-end's closing write use it.
  2. append-row-status RETIRED: refuses, naming set-row-state for state and log NOTED / log RULED for narrative — so the cell can never grow again.
  3. Two verbs added to VERB_LIST: NOTED and RULED, lane-kind lines (object lane:<lane>, RULED with an optional → <object> payload), same grammar and — bound; every reader that computes state by the per-lane last-line rule (who, lane-end, lanes, live-holder's log reads) SKIPS them, as it skips STARTED/RESUMED.
  4. lanes-edit.sh history <lane> [--since <UTC>] — prints a lane's NOTED/RULED lines in order.
  5. lanes-edit.sh migrate-state-cells — one act, on Brett Heap's word (O3: after install on both workstations): archive copy lanes/archive/LANES-pre-amendment-13-<UTC>.md; per row split the cell on ·, append RULED for entries beginning RULING/RULINGS/RATIFIED else NOTED, text verbatim, UTC = the entry's own (row started where none; minute-precision accepted), session = the cell's LAST uuid, workstation = the row's column; replace the cell by the derived current state or MIGRATED · <UTC> · history in lanes/log/<lane>.md; ONE commit (archive + 46 logs + register); refuses when no cell holds a · entry.
  6. Tests in tests/test_lane_helpers.sh: set-row-state replaces (cell length bounded, UTC stamped, REFUSES an unknown STATE and a line over the cap); append-row-status refuses with the two names; NOTED/RULED written and SKIPPED by who/lane-end/lanes state; history order and --since; the migration on a seeded register (three rows, mixed entries, one RULING, one entry with no UTC) — archive present, logs gain the lines, cells replaced, second run refuses, whole thing one commit; add-row writes the phrase.
  7. Docs: docs/README-lanes.md (moved by Lane tooling moves home: filter-repo from brett-wip, openRepoTools wip init, --install installs the lane skill and hook (Amendment 9 act 3) #24) — the hazard block's writer list and the row format paragraph.

Measured 2026-09-13: register 1.14 MB, 46 rows, longest 96 KB; raw lookup 3 ms; tooling reads 1.7–2.2 s (git fetch each); one write 1.2 s.

🤖 Generated with Claude Code

Activity

  1. brettheap commented on Sep 13, 2026

    @brettheap
    ContributorAuthor

    Amendment 13 is IN FORCE (brettheap/new-workstation#25 → b0796b2; ratified 2026-09-13 'Ratify as drafted (Recommended)': O1 cap 240, O2 objects-owned column unchanged, O3 migration only after the writer changes are installed on both workstations). This issue is buildable once #24 and #26 land here.

    Lane: openrepotools-3 (openRepoTools-3)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions