Skip to content

fix: name when a release hold lapses, and relay its lapse once - #1234

Merged
REPPL merged 10 commits into
mainfrom
fix/lapsed-hold-relay
Oct 30, 2026
Merged

REPPL merged 10 commits into
mainfrom
fix/lapsed-hold-relay

Conversation

@REPPL

@REPPL REPPL commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

A session told that a release cut holds the merges was never told when that hold stopped holding. A hold lapses when the cut stops renewing it, but nothing said so, so a session kept waiting on a hold that held nothing.

What changes:

  • Every hold line names the time the hold lapses unless the cut renews it, and the waits that end on a hold name that time too.
  • The prompt hook's status block shows each lapsed cut once, so a session that was told of a hold is told when it lapses.
  • A lapse older than a week is not shown again, so a spent status branch waiting for the sweep is not re-announced every week.
  • The lapsed cuts are read in the same read of the shared view as the holds, so the two cannot disagree.
  • The CONCURRENCY rule, its short form in AGENTS.md, and the launch, peers, land, build, reserve and status pages say that a hold binds only until it lapses, needs no one's leave to set aside after that, and is re-read just before it is acted on or passed on.

Tests:

  • the hold lines and waits name the lapse;
  • a lapsed cut is shown once to a session that saw the hold, and not again;
  • a session that first reads the block a week after the lapse is not shown it. A mutant run with the week filter turned off fails this test, and the branch passes it.

Resolves: iss-2610241107191205

Assisted-by: Claude:claude-opus-5-5

REPPL added 8 commits October 28, 2026 02:00
Every hold line now names the time the hold lapses unless the cut renews
it. The waits that end a hold name that lapse too, after which nothing
holds the merge. The prompt hook's status block shows each lapsed cut once,
so a session told of a hold is told when it no longer holds.

Refs: iss-2610241107191205

Assisted-by: Claude:claude-opus-5-5
… relaying it

The CONCURRENCY rule, its AGENTS.md short form and the launch, peers, land,
build, reserve and status pages say that a hold binds only until it lapses,
needs no one's leave to set aside after that, and is re-read just before
it is acted on or passed on.

Refs: iss-2610241107191205

Assisted-by: Claude:claude-opus-5-5
Resolves: iss-2610241107191205

Assisted-by: Claude:claude-opus-5-5
ReadStatus now takes the lapsed release cuts from the same read of the view
as the holds. The two can no longer disagree, and a second read can no longer
fail as if the holds had not been read. A lapse older than the shown markers'
week is not named again, so a spent branch waiting for the sweep is not
re-announced every week. The status brief quotes the new hold line and lists
the lapsed cuts.

Refs: iss-2610241107191205

Assisted-by: Claude:claude-opus-5-5
The markers carry the real clock's mtime while the test's clock is fake
and earlier, so the prune never dropped them and the test passed with
the shownKeep filter on lapsed cuts removed.

Refs: iss-2610241107191205

Assisted-by: Claude:claude-opus-5-5
…ek on

The lapse test's last step aged the shown markers and expected the
week filter alone to hold the line back, but the markers it aged were
not pruned, so the line stayed hidden by its marker and the test passed
with the filter removed. A session that first reads the block a week
after the lapse has no marker of its own, so only the filter keeps the
lapse from it.

Refs: iss-2610241107191205
Assisted-by: Claude:claude-opus-5-5
# Conflicts:
#	commands/peers.md
#	commands/reserve.md
@REPPL
REPPL enabled auto-merge October 29, 2026 19:02
@REPPL
REPPL added this pull request to the merge queue Oct 29, 2026
@REPPL
REPPL removed this pull request from the merge queue due to a manual request Oct 29, 2026
REPPL added 2 commits October 29, 2026 20:22
The lapse clause already lives in the rules loader's CONCURRENCY domain,
which the AGENTS.md short form points at; repeating it there pushed the
merged file past the 32768 bytes a host may read, so it is dropped.

Refs: iss-2610241107191205

Assisted-by: Claude:claude-opus-5-5
@REPPL
REPPL enabled auto-merge October 30, 2026 00:05
@REPPL
REPPL added this pull request to the merge queue Oct 30, 2026
Merged via the queue into main with commit 8b86d07 Oct 30, 2026
14 checks passed
@REPPL
REPPL deleted the fix/lapsed-hold-relay branch October 30, 2026 01:43
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