Skip to content

net(586 PR 4): the x86 EOF timeout arm measures its own dispatch before it fails - #948

Open
ryanbreen wants to merge 9 commits into
mainfrom
net/586-pr4-x86-eof-arm-dispatch
Open

net(586 PR 4): the x86 EOF timeout arm measures its own dispatch before it fails#948
ryanbreen wants to merge 9 commits into
mainfrom
net/586-pr4-x86-eof-arm-dispatch

Conversation

@ryanbreen

@ryanbreen ryanbreen commented Sep 7, 2026

Copy link
Copy Markdown
Owner

The x86 loopback reader now measures subsequent dispatch gaps after its EOF timeout bound is missed, prints the measured gap, sample count and window with verdict=eof_timeout, then exits 15. Structural checks pin the executable print and reject deleted-probe and comment-only mutations.

Landing status: NOT LANDED. The single strict x86 gate at e0f6e21 exited 1 with a softirq self-test panic at kernel/src/task/softirq_tests.rs:228, matching the signature tracked by issue 891. Both local and Beast structure preflights passed 67/67 suites. The five-boot landing batch was not run because the contract stops on failure.

Historical continuation tally: 10 boots, five reached and passed loopback, five panicked earlier; 0 literal reader_exit_15 markers and 0 EOF dispatch lines. The historical aggregate includes 13 boots and six softirq panics with the strict retry included. Dispatch-gap lines available to quote: 0. Evidence: docs/planning/green-program/network/serials/586-pr4/audit/ten-boot/marker-tally.txt.

Evidence: docs/planning/green-program/network/586-PR4-2026-09-07.md and docs/planning/green-program/network/serials/586-pr4/audit/landing/strict.txt.

Not claimed: PR landing, forced EOF-arm execution, a real aarch64 verdict=starved receipt, merged-head battery reading, or resolution of issue 586. Issue 586 remains open.

ryanbreen and others added 9 commits September 7, 2026 14:50
Reuse the reader's clock-sampling probe after the EOF wake bound is missed.
Print the gap, sample count, window and EOF timeout verdict before exit 15.
Add an arm-scoped validator and a mutation deleting that arm's probe call.

- [x] claim-lint: python3 scripts/claim-lint.py -> exit 0
- [x] claim-lint: python3 scripts/claim-lint.py --commit-msg .tmp/pr4-code-message.txt -> exit 0

Refs #586

Co-Authored-By: Ryan Breen <rbreen@getfastr.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Record the BEAST gate results, serials, structural mutation and commit lint
checks for the EOF timeout diagnostic.

- [x] claim-lint: python3 scripts/claim-lint.py -> exit 0
- [x] claim-lint: python3 scripts/claim-lint.py --commit-msg .tmp/pr4-docs-message.txt -> exit 0

Refs #586

Co-Authored-By: Ryan Breen <rbreen@getfastr.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Retain the EOF probe and exit 15 behavior from a60a1a7. Reject a verdict
left only in a comment, with a mutation covering that false acceptance.
Clarify that the clock-sample gap includes clock-read time.

Refs #586

Co-Authored-By: Ryan Breen <rbreen@getfastr.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Record the retained EOF probe, strengthened verdict ratchet, two expected-red
mutation checks, and Mac structure results. Preserve the revision-tagged Beast
strict failure matching the timer-oracle signature tracked by issue 960.
The required strict PASS and subsequent ten-boot sequence remain outstanding.

Refs #586, #960

Co-Authored-By: Ryan Breen <rbreen@getfastr.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Disable newline conversion for the audit evidence so committed serials match
the SHA-256 digests recorded from Beast. No source or gate behavior changes.

Refs #586

Co-Authored-By: Ryan Breen <rbreen@getfastr.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
…891 disclosed

Reran the strict x86 boot-tests gate on the same source revision the prior
round audited (96fa978): the first retry hit a different pre-existing
kernel panic (issue 891, softirq_tests.rs:228, filed before this round), the
second retry passed cleanly with 0 reader_exit_15 and 0 dispatch-line
occurrences. That PASS satisfies the ten-boot precondition, so both
5-boot parallel batches ran next: 5/10 boots hit the same issue-891 panic
before ever reaching loopback_recv_wake, and the other 5/10 reached it and
passed, again with 0/0 on both markers across all ten. Every capture is
preserved byte-exact (verified against Beast's own sha256sum, pulled via
`incus file pull` after `incus exec ... cat` was found to corrupt bytes
through its pty). The round doc discloses the 5/10 shortfall plainly rather
than presenting it as a full ten-boot exercise.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Refs 586.

Co-Authored-By: Ryan Breen <rbreen@getfastr.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Retain both evidence attribute rules. Refs 586.

Co-Authored-By: Ryan Breen <rbreen@getfastr.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
Strict x86 gate exited 1 with the softirq self-test panic. Refs 586 and 891.

Co-Authored-By: Ryan Breen <rbreen@getfastr.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
@ryanbreen ryanbreen changed the title net(586 PR4): measure dispatch in the EOF timeout arm net(586 PR 4): the x86 EOF timeout arm measures its own dispatch before it fails Sep 8, 2026
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.

1 participant