Skip to content

ci: gate compiler assertions and surface direct-call Z80 findings - #67

Merged
oisee merged 3 commits into
mainfrom
ci/C2-assert-gate
Oct 2, 2026
Merged

oisee merged 3 commits into
mainfrom
ci/C2-assert-gate

Conversation

@oisee

@oisee oisee commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Problem and behavior

PRs currently have no cross-language assertion matrix or differential Z80 fuzz job. This adds a reusable compiler-check workflow: a merge-tree comparison of the candidate and its base, judge self-tests, a compile sweep, and a blocking folded-mode fuzz check. A nightly run uses the longer corpus and stricter findings policy. Direct-call fuzz findings are reported with reproducers but remain non-blocking while production Z80 is being repaired.

Validation

  • scripts/test_judges.py: 28 tests pass (2 skipped).
  • scripts/test_ci.py: 2 tests pass, including mutation sensitivity and crash classification.
  • Local C2 run at 04e0ba17: folded fuzz 2980/3000 pass (20 MIR2/oracle findings); direct-call 89/3000 pass, with 207 Z80/MIR2 wrong values, 2494 assembly failures, 196 compiler/execution errors, 14 MIR2/oracle findings.
  • Assertion matrix: 1665 units per backend, zero newly failing assertions against main; 354 existing Z80 and 180 existing MIR2 failures remain.

The direct-call numbers are a baseline for triage, not a release quality claim. GitHub CI on this PR is the final workflow check.

oisee and others added 2 commits October 2, 2026 15:21
Add paired assertion checks, judge self-tests, advisory output and lint
reports, and nightly compiler audits with reproducible local wrappers.
Report MIR2/oracle fuzz findings while gating Z80/MIR2 mismatches and
assembly failures on PRs; preserve strict standalone and nightly reporting.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wrwo36SzxKRZYTgpDo7hzo
Gate compiler errors and low fuzz pass rates, cover assertion execution paths
in controls, and retain direct-call findings as report-only pending fixes.
Remove baseline caching, bound summaries, and let nightly gates fail visibly.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wrwo36SzxKRZYTgpDo7hzo
@github-actions

github-actions Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

PR tests: 🟢 pass

Commit: 11a1cbdc · Full test log

Check Result
Build mz, mza, mze, mzv 🟢 pass
Stable Go package tests 🟢 pass
Fibonacci compile + assemble 🟢 pass
Nanz language regressions 🟢 pass
Z3 West of House demo 🟢 pass
Z3 small conformance fixtures 🟢 pass

The external CZECH and full Zork I stories are not part of this PR gate.

@oisee
oisee merged commit 8d66e4f into main Oct 2, 2026
9 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

Development

Successfully merging this pull request may close these issues.

1 participant