Repository navigation
Keep failed-own-record tests reliable when a sibling starts late - #652
Merged
Merged
Conversation
vjovanov
force-pushed
the
fix/issue-619
branch
from
November 8, 2026 08:15
34bee09 to
da22ed6
Compare
vjovanov
marked this pull request as ready for review
November 8, 2026 08:15
vjovanov
force-pushed
the
fix/issue-619
branch
4 times, most recently
from
November 8, 2026 10:59
857c163 to
70a55bb
Compare
Fix R1-01: explicitly decode both the successful-c prerequisite and the non-waiting snapshot using the spawn record encoding, preserving Unicode fixture paths across locales. Portable fixtures: §REQ-cross-platform.4 docs/requirements/cross-platform.md:30.
vjovanov
force-pushed
the
fix/issue-619
branch
from
November 8, 2026 11:29
70a55bb to
3ed170e
Compare
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 #619
Before, the failed-own-record test could report
an ambiguous edit spawns bothwith onlymock:mock:din its append log. Both invocations had started, but d deliberately failed before delayed c executed its body, so normal abort handling interrupted c before its append. Now the private fixture lets c complete successfully before d deliberately exits 1, preserving the scenario under either startup order.What this changes
The clarification at §FS-rhei-agent-visit-pairing.5 explains that spawning an invocation does not guarantee its body's side effects survive sibling failure; tests requiring completion before deliberate failure establish that order inside their fixture.
The shared failure body waits up to five seconds for c's successful completed record matching the scenario's task, state and current visit. A prerequisite timeout prints the record path and last observation and exits 97, distinct from d's intended exit 1.
The original test and the new regression share the real scenario. An independent scheduler exercises c-first and delayed-c/d-first startup and snapshots c's record at each deliberate d exit without waiting. Assertions retain both target appends and the ambiguity warning, check durable records, and require only d to retry with a fresh attempt log while successful c and orphan x stay untouched and the ticket remains in work. This continues enforcing §FS-rhei-agent-visit-pairing.2: d's failed own record decides, and successful orphan x cannot answer for it.
Both scheduler record reads explicitly decode UTF-8 so Unicode fixture paths survive non-UTF-8 default text decoding. The change is confined to test fixtures and the specification clarification; production scheduling, pairing, abort policy, public interfaces and persisted formats are unchanged.
Verification
34bee098e3, both exact tests passed:agent_target_edit_tests::failed_own_record_coverage_survives_delayed_sibling_startupandagent_target_edit_tests::an_orphan_never_answers_for_an_invocation_whose_own_spawn_failed. The unchanged triage reproducer passed both startup orders.34bee098e3ran the unchanged reproducer andpre-commit run --all-files, both exit 0, in 3m40s total. All configured hooks passed: CI-pinned grund 0.18.0 config/check, staged fissile, formatting, workspace Clippy/build/tests, gate script tests, links and attribution checks. Hosted CI and merge remain for the ship step.Checklist
§marker.pre-commit run --all-filespasses locally.AI workflow: `rhei`, 15 agent invocations across 1 model; 8 tasks completed, 8 in progress.
github-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticketsupervising (visit 1) — cdx, openai/gpt-6.1-sol — 1m13s — 338.2k in / 2.8k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticket.triageassessing (visit 1) — cdx, openai/gpt-6.1-sol — 6m11s — 1.9M in / 14.3k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticket.triagereproducing (visit 1) — cdx, openai/gpt-6.1-sol — 3m31s — 673.0k in / 8.4k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticketsupervising (visit 2) — cdx, openai/gpt-6.1-sol — 2m32s — 634.2k in / 6.2k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticket.specifyspecify — cdx, openai/gpt-6.1-sol — 9m54s — 3.1M in / 19.6k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticketsupervising (visit 3) — cdx, openai/gpt-6.1-sol — 1m17s — 440.2k in / 3.0k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticket.implementimplement — cdx, openai/gpt-6.1-sol — 4m32s — 1.4M in / 6.9k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticketsupervising (visit 4) — cdx, openai/gpt-6.1-sol — 1m31s — 350.8k in / 3.7k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticket.review-1review — cdx, openai/gpt-6.1-sol — 5m08s — 1.7M in / 12.1k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticketsupervising (visit 5) — cdx, openai/gpt-6.1-sol — 1m26s — 460.3k in / 3.7k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticket.fix-1fix — cdx, openai/gpt-6.1-sol — 4m24s — 1.5M in / 5.4k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticketsupervising (visit 6) — cdx, openai/gpt-6.1-sol — 1m27s — 291.2k in / 3.7k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticket.review-2review — cdx, openai/gpt-6.1-sol — 3m19s — 964.7k in / 7.8k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticketsupervising (visit 7) — cdx, openai/gpt-6.1-sol — 1m20s — 424.0k in / 3.1k outgithub-issues-agent-grounds-rhei-619-implement-7c69c7b6.ticketsupervising (visit 8) — cdx, openai/gpt-6.1-sol — 1m29s — 409.6k in / 3.6k out