Skip to content

story-130: One file answers every question this target's tracker is asked - #211

Merged
jerodw merged 7 commits into
mainfrom
story/story-130
Sep 10, 2026
Merged

story-130: One file answers every question this target's tracker is asked#211
jerodw merged 7 commits into
mainfrom
story/story-130

Conversation

@jerodw

@jerodw jerodw commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Three scripts answered this target's tracker — one filing a brief as an issue, one asking what is already filed, one updating an item that exists — and they shared most of what they knew. This merges them into one file with three entry points, templates/scripts/github.sh, installed by l5-init into .harness/scripts/. The project settings, the markers, the field-matching rule and the id resolution are declared once at the top; the three jobs are branches below.

The harness side is unchanged: it still invokes three commands, still reads a reference off the sync command's stdout, still reads one JSON document off the query command's stdout, and still interprets the same exit codes at each of the three call sites.

Two behaviours change on this deployment as a consequence of the merge:

  • One project constant now serves all three branches. The item script had none, so every status move it was asked to make on this target reported a failure. Status moves now work.
  • One field-matching rule now serves both writers. story-129 taught the sync script to match a field name case-insensitively; the item script, landed by story-127, still compared verbatim. A board titled Status and a target configuring status now resolve the same way whichever command asks.

Planned from the brief filed under 205.

Note on one commit

2df481b is not part of the story's work. The run escalated at implementer when the coordinator's post-stage suite went red on tests/test_config_keys_are_obeyed.py::test_the_pristine_copy_runs_every_proof_green. The cause was a timing flake: the sync command's configured bound in that test module was 1.3s, five times tighter than the query command's 6.5 and the item command's 9, and two proofs that need a fixture shell spawned inside the bound went past it under load. The bound now sits with its siblings at 5.3s, with the paired sleep raised to 12 to keep the ordering the suite asserts. Exactly one test asks for that sleep. The failing node was confirmed to pass in isolation against the escalated tree before the change was made.

🤖 Generated with Claude Code

https://claude.ai/code/session_01U1HiUf7CrMjZMj32TySdiH

jerodw and others added 7 commits September 9, 2026 17:07
The run escalated and this commit is a holding place for what it left in the working tree, so the work survives a checkout of another branch. It is not a decision about that work: the story did not finish and nothing here has been accepted or reviewed.

Escalation reason: the suite the coordinator ran after implementer exited 1: FAILED tests/test_config_keys_are_obeyed.py::test_the_pristine_copy_runs_every_proof_green; implementer has exhausted its self-route budget of 1

To put these changes back in the working tree:
    git reset --mixed HEAD~2
The run escalated and this commit is a holding place for what it left in the working tree, so the work survives a checkout of another branch. It is not a decision about that work: the story did not finish and nothing here has been accepted or reviewed.

Escalation reason: the suite the coordinator ran after implementer exited 1: FAILED tests/test_config_keys_are_obeyed.py::test_the_pristine_copy_runs_every_proof_green; implementer has exhausted its self-route budget of 1

To put these changes back in the working tree:
    git reset --mixed HEAD~2
Every site that observes a sync command landing needs a shell spawned and
finished inside the configured bound. At 1.3s that bound was five times
tighter than the query command's 6.5 and the item command's 9, and on
story-130's run a loaded machine took two of those sites past it - the
sweep count and the sync-command proof - inside the nested run the
pristine-copy control conducts.

5.3s, with SLEEPS_PAST_THE_BOUND raised to 12 to keep the ordering the
suite holds. Exactly one test asks for that sleep, so what this costs is
one sleep eight seconds longer. Both halves of the bound's proof are
pinned exactly as before, and 12 stays well under the 60s default, so a
harness that stopped reading the key still fails the killed half.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01U1HiUf7CrMjZMj32TySdiH
…sked

Implemented by the l5 harness story workflow.
@jerodw
jerodw merged commit bcb4930 into main Sep 10, 2026
3 checks passed
@jerodw
jerodw deleted the story/story-130 branch September 10, 2026 03:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant