Skip to content

Explain held visits budgets when releasing a live gate - #654

Merged
vjovanov merged 5 commits into
mainfrom
fix/issue-653
Nov 8, 2026
Merged

vjovanov merged 5 commits into
mainfrom
fix/issue-653

Conversation

@vjovanov

@vjovanov vjovanov commented Nov 8, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #653

Previously, raising work.visits from 2 to 5 after a task gated and releasing it with rhei transition could 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 stop command 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 with rhei transition if 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

  • The standalone spec/test commit preceded implementation. The original four diagnostic regressions failed specifically on the missing advisory, after their applicable controls; all are now enabled.
  • Independent review-2 passed all 12 issue_653_ regressions in tests/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.
  • The corrected historical reproducer and independent recovery, scope, evidence and callback probes passed. All three initial findings were independently verified fixed; review-2 approved with no remaining, rejected, deferred or adjacent findings.
  • The final local gate on 41816cc96e ran the canonical historical reproducer and pre-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

  • The most-specific spec point is updated and cited with a § marker.
  • pre-commit run --all-files passes locally.
AI workflow: `rhei`, 13 agent invocations across 1 model; 8 tasks completed, 8 in progress.
  1. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket supervising (visit 1) — cdx, openai/gpt-6.1-sol — 1m22s — 275.9k in / 3.2k out
  2. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket supervising (visit 2) — cdx, openai/gpt-6.1-sol — 2m54s — 684.6k in / 6.0k out
  3. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.specify specify — cdx, openai/gpt-6.1-sol — 13m51s — 5.4M in / 29.0k out
  4. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket supervising (visit 3) — cdx, openai/gpt-6.1-sol — 1m23s — 459.2k in / 3.4k out
  5. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.implement implement — cdx, openai/gpt-6.1-sol — 6m00s — 2.7M in / 12.4k out
  6. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket supervising (visit 4) — cdx, openai/gpt-6.1-sol — 1m39s — 439.7k in / 4.1k out
  7. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.review-1 review — cdx, openai/gpt-6.1-sol — 6m56s — 2.7M in / 17.3k out
  8. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket supervising (visit 5) — cdx, openai/gpt-6.1-sol — 1m57s — 423.1k in / 4.8k out
  9. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.fix-1 fix — cdx, openai/gpt-6.1-sol — 14m59s — 6.3M in / 30.3k out
  10. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket supervising (visit 6) — cdx, openai/gpt-6.1-sol — 1m34s — 332.1k in / 4.1k out
  11. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket.review-2 review — cdx, openai/gpt-6.1-sol — 5m07s — 1.6M in / 12.1k out
  12. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket supervising (visit 7) — cdx, openai/gpt-6.1-sol — 1m52s — 741.5k in / 4.3k out
  13. github-issues-agent-grounds-rhei-653-implement-adfffe5c.ticket supervising (visit 8) — cdx, openai/gpt-6.1-sol — 1m19s — 422.8k in / 3.5k out
Accounting Value
cost $5.73
total tokens 22.6M
input tokens (incl. cache) 22.5M
input cache read 21.3M
input cache write -
output tokens (incl. cache) 134.3k
output cache read -
output cache write -
coverage Complete

@vjovanov vjovanov changed the title Specify live gate release advisories for visits budgets Explain held visits budgets when releasing a live gate Nov 8, 2026
@vjovanov
vjovanov marked this pull request as ready for review November 8, 2026 18:51
@vjovanov
vjovanov requested a review from kimeta November 8, 2026 18:51
@vjovanov
vjovanov merged commit 1a150ed into main Nov 8, 2026
4 checks passed
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.

A live run ignores a raised visits budget unless it admits a new member, so releasing the gate re-fires exhaustion and nothing says so

1 participant