Skip to content

Recover shared-file fixture polling refusals and retain failure diagnostics - #650

Merged
vjovanov merged 3 commits into
mainfrom
fix/issue-623
Nov 8, 2026
Merged

vjovanov merged 3 commits into
mainfrom
fix/issue-623

Conversation

@vjovanov

@vjovanov vjovanov commented Nov 8, 2026 •

Copy link
Copy Markdown
Collaborator

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 510ccf6959e144c8429432a791e1d66bfc8648bd on Linux:

  • All four active worker_edit_poll_read_tests passed: 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.
  • Both ordinary worker_edit_revert_prompt_tests and both opt-in worker_edit_publication_tests passed, covering preservation and finalized result links.
  • The unchanged packaged reproducer exited 0 in review and again in the green gate. It retained all 16 preservation/accounting checks for both control and recovery, observed a refused poll followed by a successful poll and authoritative edit read, and confirmed traceback selection.
  • The green gate's pre-commit run --all-files exited 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

  • The most-specific spec point is updated and cited with a § marker
  • pre-commit run --all-files passes locally
AI workflow: `rhei`, 11 agent invocations across 1 model; 6 tasks completed, 10 in progress.
  1. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket supervising (visit 1) — cdx, openai/gpt-6.1-sol — 1m04s — 315.3k in / 2.5k out
  2. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket.triage assessing (visit 1) — cdx, openai/gpt-6.1-sol — 8m12s — 2.4M in / 20.6k out
  3. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket.triage reproducing (visit 1) — cdx, openai/gpt-6.1-sol — 4m22s — 710.1k in / 11.4k out
  4. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket supervising (visit 2) — cdx, openai/gpt-6.1-sol — 2m17s — 647.0k in / 5.5k out
  5. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket.specify specify — cdx, openai/gpt-6.1-sol — 16m19s — 7.8M in / 31.7k out
  6. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket supervising (visit 3) — cdx, openai/gpt-6.1-sol — 1m25s — 428.2k in / 3.5k out
  7. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket.implement implement — cdx, openai/gpt-6.1-sol — 5m29s — 1.7M in / 10.3k out
  8. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket supervising (visit 4) — cdx, openai/gpt-6.1-sol — 1m17s — 376.4k in / 3.2k out
  9. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket.review-1 review — cdx, openai/gpt-6.1-sol — 2m04s — 587.8k in / 4.5k out
  10. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket supervising (visit 5) — cdx, openai/gpt-6.1-sol — 1m37s — 530.4k in / 3.5k out
  11. github-issues-agent-grounds-rhei-623-implement-91250c71.ticket supervising (visit 6) — cdx, openai/gpt-6.1-sol — 1m19s — 458.1k in / 3.2k out
Accounting Value
cost $3.99
total tokens 16.1M
input tokens (incl. cache) 16.0M
input cache read 15.3M
input cache write -
output tokens (incl. cache) 100.0k
output cache read -
output cache write -
coverage Complete

@vjovanov vjovanov changed the title Specify shared-file polling recovery and retained failure diagnostics Recover shared-file fixture polling refusals and retain failure diagnostics Nov 8, 2026
@vjovanov
vjovanov marked this pull request as ready for review November 8, 2026 06:13
@vjovanov
vjovanov requested a review from kimeta November 8, 2026 06:13
@vjovanov
vjovanov force-pushed the fix/issue-623 branch 6 times, most recently from 55bf69e to 928aa3e Compare November 8, 2026 10:22
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
vjovanov merged commit ec5f1bf 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

1 participant