aarch64: serialize diagnostic UART records for issue 847 (R247) - #977
Draft
ryanbreen wants to merge 4 commits into
Draft
aarch64: serialize diagnostic UART records for issue 847 (R247)#977ryanbreen wants to merge 4 commits into
ryanbreen wants to merge 4 commits into
Conversation
Assemble diagnostic records before acquiring UART ownership and stage contended IRQ records for a thread reporter. Route normal serial output and the raw diagnostic sinks through the same ownership primitive. Add an architecture-derived census ratchet, a two-CPU emission oracle, and a strict scorer that requires its complete uncorrupted streams. Co-authored-by: Ryan Breen <ryan@breen.io> Co-authored-by: Claude Code <noreply@anthropic.com>
Restore the existing feature guard for ThreadPrivilege, whose unqualified use is confined to boot_tests. The production build found the unused import. Co-authored-by: Ryan Breen <ryan@breen.io> Co-authored-by: Claude Code <noreply@anthropic.com>
Record issue 847 aarch64 producer inventory, x86 exclusions, ownership bounds, strict and service serial evidence, and ticket-bypass mutation. Co-authored-by: Ryan Breen <ryan@breen.io> Co-authored-by: Claude Code <noreply@anthropic.com>
Disable text normalization within this round’s evidence directory and restore the captured bytes to match their checksum manifest. Co-authored-by: Ryan Breen <ryan@breen.io> Co-authored-by: Claude Code <noreply@anthropic.com>
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.
Concurrent aarch64 raw UART writers could interleave bytes inside single-shot test and diagnostic markers. Assemble records before taking CAS-based UART ownership, and stage contended IRQ records in bounded per-CPU rings for thread-context draining. Normal serial output shares the same owner.
The change includes a cfg/path-derived census ratchet, a pinned two-CPU oracle (200 long records per CPU), and a strict grammar scorer. Deleting the release store fails the structure ratchet; bypassing ownership produces 324 corrupted oracle lines. No Tier-1 files change. x86 UART atomicity is outside R247.
Blocked validation: the x86 preflight passed 70/70 suites at launch load 1.33, but its boot waited over 16 minutes for a live shared-lock owner. This lane’s waiting gate was stopped (exit 143); no x86 boot pass is claimed. The required compatibility run remains before review completion.
Validation and revision-specific results are recorded in docs/planning/green-program/tracing/847-SERIAL-INTERLEAVE-2026-09-08.md, with preserved serials under tracing/serials/847/. The strict aarch64 gate passed 20/20 boots with 8,000 valid oracle records and zero corrupted marker lines; service sequence passed 2/2 boots on each CPU profile; the final production gate passed. The production import guard and stale copied driver found during validation were corrected without weakening scorers.
Addresses issue 847 (R247).