Skip to content

lane-worktrees: follow-ups deferred from the Opus review of #179 (run.sh stray-process scan, deadline flake, gh pr list cost) #184

Open

Description

@brettheap

Deferred under the close-out direction of 2026-10-06 from the Opus adversarial review of PR #179 (head 7ac5cbe). The one pre-ready fold-in (the non-UTF-8 _latin1_clone test needs the APFS skip) goes into #179 itself.

# class file:line finding fix
1 wrong kill tests/run.sh:180-186, 266-273 G14's stray scan kills a caller's unrelated job that forked during the run (reproduced under a pty: "cousin child … KILLED by run.sh"; alive at the base) stop only processes carrying this run's mark (TMPDIR=$RUN_ROOT/tmp) or descendants of the suite
2 flake tests/run.sh:150, 203 the "10 s" deadline is 50 × sleep 0.2 + a ps -A; on Eagle that is ~25 s and test_a_leader_that_ignores_term_is_killed_at_the_deadline failed at the head a wall-clock deadline (SECONDS+10)
4 perf lane-worktrees:986, 1013 E5 now makes one gh pr list per branch (~0.65 s each); #175's gate runs --branches on every lane-end one bulk list first; --head only for the misses
5-7 G14 misses a leftover re-parented to $PPID; the C5 seam skips the real lsof fallback so it is untested; the NOT WRITTEN fallback prints \udce9 for a non-UTF-8 path

Lane: openRepoTools-3

Activity

  1. brettheap commented on Oct 8, 2026

    @brettheap
    ContributorAuthor

    One more tests/run.sh item for this issue's stray-process list, from the triad work under #186 (lane openRepoTools-1; no change to run.sh's census in that work, by the coordinator's direction):

    The workstation census never reaches zero on Eagle, so run.sh can wait for ever while its own lock is free. wait_for_pytest counts every ^python3 -m pytest on the machine, not only this repository's suites, and the xFactory worktrees keep 3–20 alive continuously: lane openRepoTools-2 sampled it 101 times over 22 minutes on 2026-10-07 and never saw zero, and lane 1's scoped runs on 2026-10-07 waited over 45 minutes behind 4–7 xFactory pytest processes before being stopped, with /tmp/openrepotools-pytest.lock free throughout. The interim rule the coordinator set is to stop one's own waiter after 5 minutes and run run.sh's exact pytest line under flock on the same lock file, recording the deviation; the decision on narrowing the census (for example to this repository's own runs, which the lock already serializes) is this issue's owner's.

    Lane: openRepoTools-1

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