Repository navigation
Recover shared-file fixture polling refusals and retain failure diagnostics - #650
Merged
Merged
Conversation
vjovanov
force-pushed
the
fix/issue-623
branch
from
November 8, 2026 06:13
510ccf6 to
70776cd
Compare
vjovanov
marked this pull request as ready for review
November 8, 2026 06:13
vjovanov
force-pushed
the
fix/issue-623
branch
6 times, most recently
from
November 8, 2026 10:22
55bf69e to
928aa3e
Compare
The test joined tasks/01-shared.md as one component, so on Windows the expected path mixed separators and could never match what the fixture prints. It still requires the actual task-file path of §FS-rhei-run.3.7.3.1.
vjovanov
force-pushed
the
fix/issue-623
branch
from
November 8, 2026 10:58
928aa3e to
f0e3bd4
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 #623
What this changes
When the shared-file preservation test waits for its sibling's transition, a temporary polling-read refusal could terminate the fixture before it published its malformed edit. The resulting failure report also omitted the culprit program's traceback. The fixture now retries those refusals within its existing 15-second monotonic deadline, and failure diagnostics include
runtime/logs/task-ws.1-cover.log.The added harness specification requires bounded recovery and retained failure evidence: §FS-rhei-run.3.7.3.1. Polling and staged publication share the existing access/sharing/lock refusal classifier. A permanent polling refusal reports the task-file path and last refusal at timeout; unrelated I/O errors, malformed content and programming errors still propagate.
The authoritative edit read remains protected by the permanent writer sidecar through staged complete-image publication. The regression retains real concurrency, scoped restoration, the sibling's finalized result, later dependency completion and attempt charging. This repairs the repository's test harness without changing the production engine or public CLI contract.
Verification
At
510ccf6959e144c8429432a791e1d66bfc8648bdon Linux:worker_edit_poll_read_testspassed: one injected refusal recovers through restore and charged retry; permanent refusal reaches the bounded timeout with path and cause; unrelated EIO propagates immediately; an independently failing program's traceback appears in the actual diagnostics while the child remains failed.worker_edit_revert_prompt_testsand both opt-inworker_edit_publication_testspassed, covering preservation and finalized result links.pre-commit run --all-filesexited 0: CI-pinned grund 0.18.0, staged fissile, formatting, workspace/all-targets Clippy, build and tests, gate-script tests, link checks and staged attribution checks all passed. Review approved with no findings.Deterministic Linux fault injection demonstrates harness recovery and retained diagnostics. The exception in the original intermittent Windows run remains unknown; these results neither reproduce that Windows event nor establish an engine restore regression. Windows CI remains required before shipping; no Windows CI pass is claimed here.
Checklist
§markerpre-commit run --all-filespasses locallyAI workflow: `rhei`, 11 agent invocations across 1 model; 6 tasks completed, 10 in progress.
github-issues-agent-grounds-rhei-623-implement-91250c71.ticketsupervising (visit 1) — cdx, openai/gpt-6.1-sol — 1m04s — 315.3k in / 2.5k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticket.triageassessing (visit 1) — cdx, openai/gpt-6.1-sol — 8m12s — 2.4M in / 20.6k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticket.triagereproducing (visit 1) — cdx, openai/gpt-6.1-sol — 4m22s — 710.1k in / 11.4k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticketsupervising (visit 2) — cdx, openai/gpt-6.1-sol — 2m17s — 647.0k in / 5.5k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticket.specifyspecify — cdx, openai/gpt-6.1-sol — 16m19s — 7.8M in / 31.7k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticketsupervising (visit 3) — cdx, openai/gpt-6.1-sol — 1m25s — 428.2k in / 3.5k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticket.implementimplement — cdx, openai/gpt-6.1-sol — 5m29s — 1.7M in / 10.3k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticketsupervising (visit 4) — cdx, openai/gpt-6.1-sol — 1m17s — 376.4k in / 3.2k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticket.review-1review — cdx, openai/gpt-6.1-sol — 2m04s — 587.8k in / 4.5k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticketsupervising (visit 5) — cdx, openai/gpt-6.1-sol — 1m37s — 530.4k in / 3.5k outgithub-issues-agent-grounds-rhei-623-implement-91250c71.ticketsupervising (visit 6) — cdx, openai/gpt-6.1-sol — 1m19s — 458.1k in / 3.2k out