Skip to content

Export portable evidence and enforce recomputed PASS-only gates - #6

Merged
hongzuoj-pixel merged 3 commits into
mainfrom
codex/evidence-bundles-gate
Oct 17, 2026
Merged

hongzuoj-pixel merged 3 commits into
mainfrom
codex/evidence-bundles-gate

Conversation

@hongzuoj-pixel

@hongzuoj-pixel hongzuoj-pixel commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

This adds portable evidence handoff and a strict automation acceptance command, preserving the existing run/verify/report/recovery behavior.

Features:

  • mimo export --run PATH --output ZIP: bounded hash-indexed offline HTML/JSON/JUnit/log evidence, original provenance and input patch; excludes source/venvs/full model responses/auth configuration; no overwrite.
  • mimo gate --run PATH or --bundle ZIP: recompute per-candidate verdicts and totals, cross-check recorder JSON/JUnit/logs and refuse missing/changed/inconsistent evidence. Only PASS returns 0; FAIL 2; insufficient/NOT_APPLICABLE 3; error/cancelled/unsealed/invalid 4.
  • Expected base and exact patch-byte binding prevent a previous valid result being accepted for a different change.
  • Archive inspection never extracts or executes code; bounded sizes, unsafe/duplicate/case-colliding/symlink entries rejected.
  • Accessible static report with relative links, no JavaScript/network/assets, explicit approved/blocked text.
  • Complete opt-in trusted-base Docker PR template/runner; pinned reviewed harness SHA, read-only permissions, no persisted credentials or candidate host execution, always-retained evidence. Branch protection remains maintainer-controlled.
  • CI generates downloadable fixture PASS/FAIL bundles and browser QA artifacts. Existing compatibility matrix and real external case remain.

Local verification:

  • Non-editable wheel install, Python 3.12 / pytest 9.0.2 full suite: 135 passed, 5 explicit real-Docker skips (Docker unavailable locally).
  • 37 new evidence/gate cases: actual PASS/FAIL/incomplete/error behavior, relocation without source/config, expected input binding, recorder/JUnit/summary consistency including forged skip outcomes, damaged/unsafe ZIPs, locks/bounds/non-overwrite, stdlib unittest, full agent records, HTML escaping and existing collection skips.
  • Pytest root/conftest discovery is bounded to the captured workspace; undeclared ancestor configuration is rejected. The nested-repository CLI PASS/FAIL contract and explicit project configuration regression pass.
  • Exact JUnit case counts (including collection skips), failure/error and skipped/xfail totals are required; extra unrelated cases are rejected. Normal existing module skips remain accepted.
  • Six scoring invariants and git diff --check passed.
  • Published tree matches tested local tree: d16759442d26baf6b88ddef05fc476e1cff6ef73.

Completed remote gates:

  • Linux/Windows installed CLI including export and NOT_APPLICABLE gate rejection; Python 3.10/3.12/3.13 + pytest 8/9.
  • Five real Docker tests, including the exact PR runner on good/regressing commits with both retaining bundles and an unchanged base.
  • Offline Chrome report QA at 320/768/1024/1440px, keyboard/link/heading/overflow/network/console checks and screenshots.
  • Fixed SlideNote case.

Boundaries: unsigned evidence is consistency verification, not attacker-proof attestation or universal correctness. Report hashes do not replace fresh execution when inputs change. The example workflow requires a trusted setup commit and maintainer-required status/review rules; this PR does not change repository protection settings. Final product acceptance remains tracked in docs/ACCEPTANCE_MATRIX.md.

Final PR validation: https://github.com/hongzuoj-pixel/MiMo-CodeHarness/actions/runs/39019620345 — all 9 jobs passed. Linux installed CLI: 135 passed/5 explicit Docker skips; Windows: 131 passed/9 explicit skips (5 Docker + 3 POSIX SIGINT + 1 symlink privilege case). Real Docker: 5 passed, including trusted-base good/regressing PR runner behavior. Offline PASS/FAIL browser checks pass at all four widths with no viewport overflow, broken links, console errors or network requests. Browser screenshots/metrics and example bundles are retained as Actions artifacts.

Post-merge validation: https://github.com/hongzuoj-pixel/MiMo-CodeHarness/actions/runs/39019816317 — all 9 jobs passed on main commit b0e564f. Merged tree d16759442d26baf6b88ddef05fc476e1cff6ef73 exactly matches the tested tree. Local main is fast-forwarded and the working tree is clean.

@hongzuoj-pixel
hongzuoj-pixel merged commit b0e564f into main Oct 17, 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