Skip to content

ci: bring main to a verified green canonical state - #20

Draft
neuron7x wants to merge 8 commits into
mainfrom
ci/canonical-green-20261020
Draft

neuron7x wants to merge 8 commits into
mainfrom
ci/canonical-green-20261020

Conversation

@neuron7x

@neuron7x neuron7x commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

claim_status: measured

Purpose

Bring main to a verified green canonical state. The base commit 04f232e2 was never verified: the 14 PRs #5–#18 were merged on 2026-10-16 while GitHub Actions were blocked by billing, so no job ran. Every push workflow on main has now been rerun; this PR fixes what that rerun exposed.

Changes

  • mypy: typed DNCA trial results and NumPy bins, cherry-picked from PR fix(nfi): typed DNCA trial states and deterministic NumPy bins #19.
  • Ruff lint and format: 45 findings and 26 files fixed. Five sources whose Git blob IDs are pinned in research evidence are excluded instead of being rewritten (same precedent as dopa_closure_v2.py).
  • Bandit B311: the three seeded statistical RNGs are annotated.
  • CI: CPU torch==2.10.0, the version recorded in evidence, is installed for the full-suite jobs. Without it the H4/H5 tests failed at collection.
  • Defect: an admissible DOPA final verdict dropped evidence_level: UNATTESTED_CALLER_DECLARATION. The test for it, added in b4d9a36, was red on main.
  • Test: M-invariant evidence reproduction is now compared to 1e-12 relative instead of bitwise; GitHub runners showed 1-ulp float drift.

Verification

  • Local full suite: 2672 passed, 1 failed; that failure is the DOPA verdict defect above, fixed in this PR.
  • ruff, ruff format, mypy and bandit are clean; actionlint is clean on all workflows.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GNFwcRAZnR3NXKahhz4DZe

neuron7x and others added 8 commits October 20, 2026 19:07
… gates

The 14 PRs merged on 2026-10-16 (#5-#18) landed while GitHub Actions were
blocked by billing, so none of them ever ran Lint & Format. ruff check
(45 findings) and ruff format (26 files) now pass. Five sources whose
exact Git blob IDs are pinned in docs/research/* and
evidence/dopa_signal_instrument/* are added to extend-exclude, following
the existing dopa_closure_v2.py precedent, instead of being rewritten.
Changed files: AST identical except import ordering; no other pinned blob touched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GNFwcRAZnR3NXKahhz4DZe
random.Random(seed) drives permutation nulls and simulations, never
secrets; annotate with the repo's existing '# nosec <id>  # reason' form.
Bandit over core/ contracts/ neosynaptex.py: 3 issues -> 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GNFwcRAZnR3NXKahhz4DZe
tests/dopa_closure_v2 H4/H5 suites import torch at module level (the H4
file is evidence-pinned and cannot gain an importorskip), so Benchmarks
failed at collection and Verify/Coverage would too. Install torch==2.10.0
(the torch_version recorded in evidence) from the CPU index in Verify,
Coverage and Benchmark Regression. actionlint 1.7.12: all workflows clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GNFwcRAZnR3NXKahhz4DZe
b4d9a36 labelled construct_gate with scope ROUTING_ONLY and
evidence_level UNATTESTED_CALLER_DECLARATION in construct_gate.json and
in inadmissible results, but the admissible final verdict still emitted
bare asdict(verdict), so a successful run's final_verdict dropped the
'caller declaration only' marker. test_claim_manifest_hash_is_bound_to_
ordered_inputs (added by the same commit) was red on main; now green.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GNFwcRAZnR3NXKahhz4DZe
The reproducibility test asserted bitwise equality of every float against
results/m_invariant_scale_diagnostics/run_v1.json; on GitHub runners
(different NumPy/BLAS build) values drift by 1 ulp (e.g. H 2.206603549280792
vs 2.2066035492807923), so Benchmark Regression could never pass. Structure,
keys, order, strings, ints and bools remain exact; floats rel 1e-12. A 1e-9
relative perturbation of the committed evidence still turns the test red.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GNFwcRAZnR3NXKahhz4DZe
On PR #20 the serial suite exceeded its job limits: Verify (3.12) cancelled
at 25 min, Coverage at 35 min, Benchmark Regression at 20 min (3.10/3.11
finished at ~17 min). Slowest tests are pre-existing gamma/falsification
reproductions (up to ~3.5 min each under load). pytest-xdist 3.8.0 -n auto
in Verify, Coverage and Benchmarks; locally -n 10: 2674 passed, 29 skipped,
0 failed in 6m09s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GNFwcRAZnR3NXKahhz4DZe
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