core/docs/research
Shay 808f3d32c4 fix(cli): core rust build was broken; report Rust parity as unfalsifiable
Plan §6A, report-only per DIVISION-OF-WORK §4. Both halves ran. The cargo half
is real evidence; the LANE half is vacuous, and saying so is most of the point.

cargo test (PYO3_PYTHON=/opt/homebrew/bin/python3.12, --offline): 43 passed,
0 failed across 7 suites including test_crdt_hash_parity.rs. The plan's read
was right — cargo 1.97.1 and the registry cache are present locally and the
cloud session was blocked only by sandbox network policy.

Lane parity: 11/11 pinned SHAs match under both backends. That number means
nothing. Sabotaging EVERY core_rs callable to raise and re-running under
CORE_BACKEND=rust still gives `lanes: 11/11 match pinned SHAs`, exit 0. Three
sufficient reasons:

- The hot path bypasses the dispatch. algebra.cga.cga_inner is NOT
  algebra.backend.cga_inner; 69 call sites import the hot functions from
  algebra.cga/algebra.cl41 directly vs 24 through algebra.backend. The ~34k
  cga_inner->geometric_product calls/turn that plan §6C calls ~73% of turn
  time never reach the dispatch.
- The dtype gates reject the runtime workload. versor_condition IS imported
  from algebra.backend by pipeline.py:24, and still falls through: the Rust
  arm requires f32 and the wave-field workload is f64.
- Every dispatch arm ends in `except (..., Exception): pass`, so a broken,
  garbage-returning, or absent kernel falls back to Python SILENTLY. That is
  what makes the first two unfalsifiable by lane hashes.

Instrumented under CORE_BACKEND=rust: zero Rust calls in the whole
deductive_logic lane (pure ROBDD, no CGA), and exactly ONE
(versor_apply_with_closure_f64) in a full pipeline turn. CORE_BACKEND=rust is
today a one-call switch.

So §6B ("if parity holds, consider Rust default") rests on a measurement that
cannot fail, and §6C is the real blocker and is upstream of the backend. NOT
acted on — §6.4 says a parity/determinism finding is escalated, not fixed.
Recorded three follow-ups in dependency order: make the dispatch fail loudly,
add a parity test that fails when the Rust path is not TAKEN, only then route
the hot path.

The one thing fixed here is a plain defect blocking the measurement.
`core rust build` — the activation path print_rust_status() itself recommends —
raised `TypeError: _run() got an unexpected keyword argument 'env'` on every
invocation. core/cli.py::_run is injected into cli_rust.cmd_rust_build, which
passes env=rust_build_env() to carry PYO3_USE_ABI3_FORWARD_COMPATIBILITY, and
_run lacked the keyword the CommandRunner Protocol declares. One keyword, plus
tests/test_cli_runner_contract.py deriving the expected keywords FROM the
Protocol so the two cannot drift apart again. Verified end-to-end: `core rust
build` now builds and installs.

[Verification]: in-worktree on canonical CPython 3.12.13 with `uv sync
--locked`: smoke 575 (569 + 6), deductive 291 (unchanged). New tests fail
under mutation (revert the env keyword -> 3 red). Registered in `fast` AND
`smoke`. Installing core_rs does not activate it (_ALLOW_RUST requires
CORE_BACKEND), verified: extension present + no env var -> "rust backend:
inactive", so no default behaviour moves.
2026-07-26 11:50:32 -07:00
..
0148-first-conversion-proof.md docs(reader-arc): recalibration ADR-0251 + preserved knowledge + overfit inventory 2026-07-19 13:42:47 -07:00
adr-0241-0242-adversarial-and-fidelity-findings.md
adr-0241-0242-blueprint-integration-plan.md
ADR-0242-deterministic-fibonacci-operators-and-evidence-gated-optimization.md
ADR-0243-wave-field-cognitive-lifecycle-comprehension-reasoning-and-resonant-learning.md docs(governance): weekly-audit rulings T1/T7/T8/T9 — INV-32/33/34 registration, ADR-0243 fold, residual escalation, path sweep, prune ledger 2026-07-22 19:18:59 -07:00
adr-status-governance-2026-07-25.md chore(governance): stamp nine merged ADRs Accepted + pin the invariant 2026-07-25 14:38:02 -07:00
architecture-assessment-verification-2026-07-25.md feat(provenance,teaching): close the lateral gaps the assessment actually found 2026-07-25 04:51:15 +00:00
cga-hot-path-measurement-2026-07-25.md feat(provenance,teaching): close the lateral gaps the assessment actually found 2026-07-25 04:51:15 +00:00
compare-increment-funnel-2026-07-18.md revert(reader-arc): hold frame-anchoring out of increment 1 — defer to rate-frame increment (#77 ruling) 2026-07-18 20:03:38 -07:00
compare-multiplicative-increment-plan-2026-07-18.md docs(reader-arc): fold PR #76 amendments into compare increment plan; X=15 ratified 2026-07-18 16:07:41 -07:00
conditional-membership-fusion-band-2026-07-23.md feat(deduction-serve): Band v4-CM — conditional-membership fusion, decided (ADR-0259) 2026-07-24 10:14:00 -07:00
CORE-ASI-Super-Blueprint-Third-Door-Horizon.md
core_labs_core_technical_gap_audit.pdf docs(research): intelligence-loop arc opening record — plan + Spark-audit adjudication 2026-07-18 08:14:29 -07:00
core_repository_systems_audit_and_gap_analysis.pdf docs(research): intelligence-loop arc opening record — plan + Spark-audit adjudication 2026-07-18 08:14:29 -07:00
curriculum-grounded-serving-2026-07-24.md feat(generalization): curriculum-grounded serving — exams answered from ratified curriculum (ADR-0262) 2026-07-24 14:38:08 -07:00
curriculum-premise-scope-2026-07-25.md docs(adr): ADR-0264 — negative curriculum, premise scope, and band ceilings 2026-07-25 15:44:25 -07:00
curriculum-volume-quantification-2026-07-24.md docs(generalization): Tier S evidence packet — ratification record + curriculum-volume quantification (S1, S6) 2026-07-24 16:44:41 -07:00
deduction-serve-arc-completion-and-scope-outs-2026-07-23.md feat(deduction-serve): Phase 5 — end-to-end REPL proof, telemetry checks, scope-out docs 2026-07-23 13:20:45 -07:00
deduction-serve-arc-phase0-baseline-2026-07-23.md docs(deduction-serve): Phase 0 baseline — organs verified wrong=0, serving path disconnected 2026-07-23 11:21:34 -07:00
deduction-serve-arc-phase1-turn-spine-2026-07-23.md feat(deduction-serve): Phase 1 — deduction turn spine (flag-gated, propositional Band v1) 2026-07-23 12:14:28 -07:00
deduction-serve-arc-phase2-eval-lane-2026-07-23.md feat(deduction-serve): Phase 2 — end-to-end eval lane, SHA-pinned wrong=0 gate 2026-07-23 12:36:59 -07:00
deduction-serve-arc-phase3-earned-license-2026-07-23.md feat(deduction-serve): Phase 3 — earned SERVE license via reliability gate (ADR-0256) 2026-07-23 12:59:50 -07:00
deduction-serve-arc-phase4-categorical-band-2026-07-23.md feat(deduction-serve): Phase 4 — Band v1b categorical/syllogism serving (ADR-0256) 2026-07-23 13:17:35 -07:00
deduction-serve-phase0-baseline.json docs(deduction-serve): Phase 0 baseline — organs verified wrong=0, serving path disconnected 2026-07-23 11:21:34 -07:00
dev2-frontier-measurement-spike-2026-07-18.md docs(reader-arc): fold PR #76 amendments into compare increment plan; X=15 ratified 2026-07-18 16:07:41 -07:00
distinct-evidence-audit-2026-07-25.md test(reliability): volume-honesty invariant + distinct-evidence audit 2026-07-25 16:03:10 -07:00
english-argument-band-2026-07-23.md feat(deduction-serve): Band v2-EN — natural-English argument serving, earned licenses (ADR-0257) 2026-07-23 14:37:50 -07:00
epistemic_state_math_audit_findings.md
existential-witness-band-2026-07-24.md feat(deduction-serve): Band v6-EX — existential witnesses, decided (ADR-0261) 2026-07-24 14:14:37 -07:00
field-reasoner-wedge-selection.md
hitl-proposal-queue-cli-2026-07-24.md feat(teaching): HITL proposal-queue CLI — list/review contemplation-idle sinks (S4) 2026-07-24 17:05:26 -07:00
increment-1-band-plan-2026-07-19.md docs(reader-arc): band-solve=0 outcome + minimal-convertible-band measurement 2026-07-18 21:37:16 -07:00
independent-comprehension-agreement-gate.md
intelligence-loop-homestretch-plan-2026-07-18.md docs(research): plan record — mark EXECUTED/merged, add missed Phase-4 DONE marker 2026-07-18 11:27:02 -07:00
lane-drift-investigation-2026-07-24.md fix(ci): re-pin public_demo lane — real content drift, not the env flake (S2) 2026-07-24 16:58:05 -07:00
math-phase-4-2-case-first-traces-2026-07-25.md feat(provenance,teaching): close the lateral gaps the assessment actually found 2026-07-25 04:51:15 +00:00
math-reader-phase-4-1-status-2026-07-24.md docs(math-reader): Phase 4.1 measured status — seeding injection is built, converts 0 (null result) 2026-07-24 14:46:55 -07:00
member-chain-band-2026-07-23.md feat(deduction-serve): Band v3-MEM — member-chain band, Socrates syllogism decided (ADR-0258) 2026-07-23 19:21:41 -07:00
paradigm-deadcode-audit-2026-07-19.md docs(paradigm): dead-code audit — zero removals, all candidates traced and verified 2026-07-19 15:15:52 -07:00
public-demo-lane-drift-2026-07-24.md fix(ci): re-pin public_demo lane — real content drift, not the env flake (S2) 2026-07-24 16:58:05 -07:00
ratification-packet-2026-07-24.md docs(generalization): Tier S evidence packet — ratification record + curriculum-volume quantification (S1, S6) 2026-07-24 16:44:41 -07:00
reader-arc-overfit-inventory-2026-07-19.md docs(reader-arc): recalibration ADR-0251 + preserved knowledge + overfit inventory 2026-07-19 13:42:47 -07:00
reader-arc-recalibration-preserved-knowledge-2026-07-19.md docs(reader-arc): recalibration ADR-0251 + preserved knowledge + overfit inventory 2026-07-19 13:42:47 -07:00
reader-hamiltonian-compiler-spike-2026-07-18.md feat(adr-0249): P1 conformal quantity kernel 2026-07-18 12:04:28 -07:00
register-matrix-truth-path-fix-2026-07-25.md docs(register-matrix): 801 passed, 0 failed — clears the DO NOT MERGE on bf17f42 2026-07-25 14:45:51 +00:00
robdd_proof_chain_design_note.md
rust-parity-measurement-2026-07-26.md fix(cli): core rust build was broken; report Rust parity as unfalsifiable 2026-07-26 11:50:32 -07:00
spark-audit-adjudication-2026-07-18.md docs(research): intelligence-loop arc opening record — plan + Spark-audit adjudication 2026-07-18 08:14:29 -07:00
third-door-blueprint-fidelity.md
THIRD-DOOR-LANDING-PACKAGE-README.md
tier-s-housekeeping-2026-07-24.md chore(generalization): Tier S housekeeping — smoke promotion, capability-index entries, promotion sweep (S5) 2026-07-24 17:13:19 -07:00
tier2-multi-entity-arithmetic-spike-2026-07-18.md docs(research): Tier-2 multi-entity arithmetic design spike 2026-07-18 14:01:15 -07:00
trackb-inc2-generalization-2026-07-20.md fix(trackb): pure-S1 extract refuse multi-clause overmatch (0361 wrong=0) 2026-07-19 20:04:27 -07:00
trackb-s1-slice-2026-07-20.md fix(trackb): pure-S1 gate — refuse total supersets and extra contains 2026-07-19 19:10:05 -07:00
verb-predicate-band-2026-07-24.md feat(deduction-serve): Band v5-VP — verb-predicate arguments, decided (ADR-0260) 2026-07-24 12:51:36 -07:00
vocab-trigger-instrument-2026-07-24.md feat(generalization): vocab-trigger instrument — mechanism-vs-coverage refusal histogram (S3) 2026-07-24 16:54:13 -07:00