Repository navigation
Qualify known integer behavior and defer unresolved CPU protocols - #22
Merged
ilehtoranta merged 209 commits intoOct 9, 2026
Merged
ilehtoranta merged 209 commits into
ilehtoranta merged 209 commits into
Conversation
ilehtoranta
marked this pull request as ready for review
October 9, 2026 14:00
ilehtoranta
merged commit Oct 9, 2026
2822e80
into
codex/synthetic-logical-control-suite
3 checks passed
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.
The known synthetic integer suite is accepted under the user's 2026-10-09 approval. Unclear CPU behavior is explicitly deferred and opt-in instead of blocking this scope or being counted as passing. A versioned qualification registry records five deferred areas, reasons and opt-in routes; ordinary/reference summaries embed it and its hash. The required milestone 1-5 matrices and all mismatch, missing/empty-input and case-count checks are unchanged. Explicitly requested unresolved audits still fail honestly. Historical failures and the 480-case untested inventory remain retained.
CPU context copying previously lost suspended delivery state on fresh destinations or reused an unrelated destination event. The approved two-file production fix copies pending entries with independently owned nested identities in both
CopyFromandCopyTaskContextFrom, replaces stale destination entries, clears empty incoming contexts and preserves self-copy. It adds no public API or timing-policy change. The ownership regression now runs in ordinary Synthetic CI. Fresh production-source execution passes 23 selected tests / 4,158 cases, and all eight reports match the qualified candidate byte-for-byte. All 37 CPU source inputs match the candidate already qualified by the full suite, references, API and consumers. Other private continuation candidates remain unimported; no package publication is included.The retained 040 supplied-frame fixtures cover mixed byte/word/long writeback slots, CCR images, stack banks, FC1/5 patterns, rejected bytes and explicit nested handler/RTE unwinds. They check saved SR/PC, registers, stacks, DFC restoration, completed stores and following sentinels without automatic instruction retries after partial effects. Maintained isolated commands provide source/binary/method/report linkage, mutation detection, relocation checks, corruption rejection and strict evidence replay. First-read recovery additionally checks explicit repair/RTE and completed instruction/sentinel phases. These bounded software fixtures do not qualify hardware timing, enabled MMU operation or the broader restoration inventory.
Validation retains exact frozen source graphs rather than relabeling earlier executions:
.81package builds clean committed CopperScreena4e80b6; 172 host tests pass with six unavailable, 74 disk tests and 1,080 engine tests pass. The relocated ROM matches its original pin. Both native Workbench floppy replays pass with 0 and 2 MiB Fast RAM, exact cycle/PC/mapping/framebuffer assertions and zero skips after 10,000 fields each. Independent checks bind media, loaded methods, archived sources and package/CPU identities. The original failed missing-ROM flow is preserved as historical evidence.Full proof:
7ec3339429e005d4e5d21946c66444723e77928bfa8b9bbaa064fc4601ae72b9. Native consumer proof:41629e60cdc0da0ef43f35893110d29422907f1c01cd951536034aaf263977bf. Approved production promotion proof:c1e006019ea3c3db0a331aa58f66e2a8b412d0f9943d7cb4ccc864bc66ebae33.The broad WinUAE gate still disagrees on 010 invalid-format RTE CCR and 060 ordinary STOP privilege behavior. Disputed 030/040 trace boundaries have no hardware qualification. Wider original-frame construction, repair/refault, partially accepted transfers, foreign-frame and trace/interrupt protocols remain incomplete. Passing scoped presets and host snapshot checks do not close these gates. FPU arithmetic, enabled MMU, physical pipeline/cache qualification and OS compatibility remain outside the accepted roadmap.
Exact commands, identities, mutation witnesses, historical attempts, limitations and current milestone status are in the formal suite plan,
docs/COPPER68K_REFERENCE_QUALIFICATION.md,docs/COPPER68K_MILESTONE6_COMPLETION_AUDIT.mdandCopper68k.Tests/Synthetic/README.md.Acceptance-policy verification passes the unchanged 86,663,530-case / 783-batch report gate. Its summary differs only by scope metadata. Four actual negative requests reject missing required coverage, a dropped deferral, a deferral labeled passing and a duplicate deferred ID. Proof: 8740d0938cb8b1ad5ba04de44f8e472bb144f57623a1287da05156c2ca4e7a45. The unresolved areas described above are now deferred and nonblocking for the approved known suite; roadmapComplete=false remains deliberate. No other private CPU candidate is imported and no package is published.