Skip to content

one lane read alone is the same row the estate listing gives it compares two reads that carry an AGE column, so it is red whenever a minute ticks between them #71

Closed

Description

@brettheap

Measured on CI, 2026-09-14T23:38Z — tests-no-submodule red on #47 at d062e72 while tests (the same suite, the same commit, one runner over) was GREEN, and the local run of the same tree passed 1926/0.

The one failing assertion is tests/test_lane_helpers.sh:4286:

run "$E" lanes --lane repoA11-1
ONE_ROW="$out"
run "$E" lanes --all
ALL_ROW="$(printf '%s\n' "$out" | awk -F'\t' '$1 == "repoA11-1" { print; exit }')"
is "one lane read alone is the same row the estate listing gives it" "$ONE_ROW" "$ALL_ROW"

Those are TWO reads of a row that carries an AGE column (61h 31m in the expected text). The age is computed at read time against a fixture stamp, so the two rows are equal only while both reads land in the same MINUTE. A run that straddles a minute boundary between them — which is what a loaded runner does — reports a difference that is not one.

What the case is FOR is real and worth keeping: --lane reads one log where the listing reads them all, and they are the same parser over the same grammar. It is the COMPARISON that has to stop depending on the clock.

The act. Compare the row with its age column removed, and assert the age separately if it is worth asserting at all — the columns either side of it already pin the parse. Something like:

without_age() { awk -F'\t' 'BEGIN { OFS = "\t" } { $9 = ""; print }'; }

(column 9 is the age in the shape above; the assertion's own text should name why it is dropped.)

This predates #47's diff — the case is Amendment 11's — and #47 met it only as a CI flake on one job.

Lane: openRepoTools-3.

Activity

  1. brettheap commented on Sep 14, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoTools-3, session 4135b2c9-34a6-47e3-a156-5adebb632fae@Eagle, 2026-09-14T23:55:28Z, for #71

    Logged in lanes/log/openRepoTools-3.md at b700340123b4594bc44ef1b8bdcfabcb7d223727.

    The three reads (lane-collision-protocol Rule 1):

    1. existing `CLAIMED —` comments on opensoft/openRepoTools#71:
       none
    2. `gh pr list --repo opensoft/openRepoTools --state all --search "#71"`, kept where the row or its body names `#71`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoTools` branches naming `71` as a whole token:
       none
    
  2. brettheap commented on Oct 13, 2026

    @brettheap
    ContributorAuthor

    RELEASED — lane openRepoTools-3, session 83619980-06bb-4469-ae73-2a8c5e61981a@Eagle, 2026-10-13T18:23:28Z, for #71 — Brett Heap 2026-10-11 gave #28-#89 to lane openRepoTools-5 (its RULED line of 16:19:19Z); lane 3 holds no live work on this number

  3. brettheap commented on Oct 13, 2026

    @brettheap
    ContributorAuthor

    CLAIMED — lane openRepoTools-5, session 0d83dca2-c18c-4bb0-99ce-896e6cafea02@Eagle, 2026-10-13T18:24:47Z, for #71

    Logged in lanes/log/openRepoTools-5.md at 04b9fd3b77eed3479325aa0b2703c644a15d6807.

    The three reads (lane-collision-protocol Rule 1):

    1. existing `CLAIMED —` comments on opensoft/openRepoTools#71:
    6:CLAIMED — lane openRepoTools-3, session 4135b2c9-34a6-47e3-a156-5adebb632fae@Eagle, 2026-09-14T23:55:28Z, for opensoft/openRepoTools#71
    13:1. existing `CLAIMED —` comments on opensoft/openRepoTools#71:
    26:RELEASED — lane openRepoTools-3, session 83619980-06bb-4469-ae73-2a8c5e61981a@Eagle, 2026-10-13T18:23:28Z, for opensoft/openRepoTools#71 — Brett Heap 2026-10-11 gave #28-#89 to lane openRepoTools-5 (its RULED line of 16:19:19Z); lane 3 holds no live work on this number
    2. `gh pr list --repo opensoft/openRepoTools --state all --search "#71"`, kept where the row or its body names `#71`:
       none
    3. `git ls-remote --heads git@github.com:opensoft/openRepoTools` branches naming `71` as a whole token:
       none
    
  4. brettheap commented on Oct 13, 2026

    @brettheap
    ContributorAuthor

    Lane openRepoTools-5: closing #71 as fixed, checked at main f87fd5a. Brett Heap's word, recorded in lane 5's register log as a RULED line at 2026-10-11T16:5xZ, verbatim: "Close all five (Recommended)".

    Fixed by 69bf48d, "avoid clock rollover in lane row comparison" (#133, merged 2026-09-23). tests/test_lane_helpers.sh:5037-5039 now compares the one-lane read and the estate listing through stable_lane_row, which masks column 9 (the AGE), with the reason in the comment above it (:5035-5036). That is the act this issue names. #75 is the same case and closes with it.

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