Repository navigation
Explain held visits budgets when releasing a live gate - #654
Merged
Merged
Conversation
vjovanov
marked this pull request as ready for review
November 8, 2026 18:51
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #653
Previously, raising
work.visitsfrom 2 to 5 after a task gated and releasing it withrhei transitioncould succeed silently while the same live run re-gated at visit 3. Now a qualifying successful release prints stderr advice explaining the possible held-machine/old-budget risk and how to recover. The live re-gate at 3 remains expected with unchanged membership; a fresh run honours 5. This implements the issue's explanation/documentation remedy.What this changes
The new §FS-rhei-transition-cmd.3.4 docs/functional-spec/rhei-transition-cmd.spec.md:338 requires an advisory after a successful manual move from a gating state into a visits-budgeted state when relevant activity is established. It names the task, effective destination and active execution root, and explains that successful validation and release do not guarantee adoption of an edited machine. Its conditional wording does not claim a detected edit or proven mismatch.
Recovery recommends an absolute workspace-path
rhei stopcommand when a relevant live descriptor supplies a usable target, including when registry publication is unavailable. With held-lock evidence but no usable descriptor, it directs the operator to the original launcher or process controls, including Ctrl-C for a foreground run. It then says to release withrhei transitionif still gated and start a fresh run with the intended machine and options, preserving the selected scope. After raising visits, stopping before releasing avoids spending another visit under a possibly older budget.The advisory recognises owning-member and enclosing-project activity through either addressing form. Shared project/member locks alone do not prove participation: existing identity-matched startup events establish selected scope, excluding runs narrowed to an unrelated sibling. Detection is read-only and best-effort. Project relevance cannot be established when that startup journal is missing, torn, stale, discontinuous, incomplete, or exceeds the readable 64 KiB prefix before selection is established. Unavailable or insufficient evidence suppresses the advisory and never refuses an otherwise successful transition. This is an accepted detection limit.
The checkpoint clarification at §FS-rhei-run.3 docs/functional-spec/rhei-run.spec.md:188 explains that unchanged membership reloads and validates machines while scheduling continues with held machines; successful member admission can adopt newly resolved machines. Scheduling, machine adoption, visits accounting, locking, strict-input behaviour, transition effects, success stdout/status and persisted formats retain their contracts.
Verification
issue_653_regressions intests/e2e/live_gate_budget_tests.rs, 5 admission tests and 17 strict-input tests. Coverage includes the same-process visit-3/fresh-run visit-5 controls, project/member relevance, real narrowed sibling runs, missing-descriptor recovery and the exact displayed stop command without a registry.41816cc96eran the canonical historical reproducer andpre-commit run --all-files, both exit 0, in 4m00s total. Every declared hook passed: CI-pinned grund 0.18.0 config/check, staged fissile, formatting, workspace/all-target Clippy, build and tests, gate-script tests, links and staged attribution checks. Hosted CI and merge remain pending the ship step.Checklist
§marker.pre-commit run --all-filespasses locally.AI workflow: `rhei`, 13 agent invocations across 1 model; 8 tasks completed, 8 in progress.
github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticketsupervising (visit 1) — cdx, openai/gpt-6.1-sol — 1m22s — 275.9k in / 3.2k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticketsupervising (visit 2) — cdx, openai/gpt-6.1-sol — 2m54s — 684.6k in / 6.0k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.specifyspecify — cdx, openai/gpt-6.1-sol — 13m51s — 5.4M in / 29.0k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticketsupervising (visit 3) — cdx, openai/gpt-6.1-sol — 1m23s — 459.2k in / 3.4k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.implementimplement — cdx, openai/gpt-6.1-sol — 6m00s — 2.7M in / 12.4k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticketsupervising (visit 4) — cdx, openai/gpt-6.1-sol — 1m39s — 439.7k in / 4.1k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.review-1review — cdx, openai/gpt-6.1-sol — 6m56s — 2.7M in / 17.3k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticketsupervising (visit 5) — cdx, openai/gpt-6.1-sol — 1m57s — 423.1k in / 4.8k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.fix-1fix — cdx, openai/gpt-6.1-sol — 14m59s — 6.3M in / 30.3k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticketsupervising (visit 6) — cdx, openai/gpt-6.1-sol — 1m34s — 332.1k in / 4.1k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.review-2review — cdx, openai/gpt-6.1-sol — 5m07s — 1.6M in / 12.1k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticketsupervising (visit 7) — cdx, openai/gpt-6.1-sol — 1m52s — 741.5k in / 4.3k outgithub-issues-agent-grounds-rhei-653-implement-adfffe5c.ticketsupervising (visit 8) — cdx, openai/gpt-6.1-sol — 1m19s — 422.8k in / 3.5k out