The hardware-transfer arm of 01-coupled-learning-networks. It takes 01's
flow/resistor coupled-learning PASS off the simulator toward a 3D-printed flow network
(with a compliant-mechanism / directed-aging variant as the in-fabric update path).
Created: 2026-06-23. Status: scaffolded; Phase 0 (the H5 sim gate) is pre-registered and pending its run. Nothing has been printed.
Who computes the update? For a printed flow network the intended answer is the strongest in the portfolio: the material reshapes itself (directed aging) — the conductances that carry the free/nudged contrast are the same channels that physically change. If instead a host PC computes the update and a controller sets channel sizes, that is inference, not learning, and it fails this project's verdict.
- Experiment A (flow/resistor) — PASS. A physics-local coupled-learning rule learns; keystone ρ≈1.0 as β→0, 100% physics-local audit.
- Experiment B (elastic/spring) — FORECLOSE. The expressivity–multistability pincer (a theorem-/sweep-backed wall, not a budget artifact). So the flow arm is the build target; the compliant-elastic route is in scope only as an in-fabric update mechanism (directed aging), not as a bet on escaping B's wall.
- The rule is two-read contrastive:
Δp ∝ ⟨(ΔV_free)² − (ΔV_nudged)²⟩. By the commons hypothesis H5, a two-read update is predicted read-noise-fragile — and01has never run a read-noise sweep. That is exactly what Phase 0 tests.
Foreclosure is valid at every gate. Verdicts are frozen in verdict.py before each run.
- Phase 0 — H5 sim gate (runs first; a genuinely new experiment). Inject read noise
into the flow training relaxations and sweep σ.
classify_h5PASS iff the coupled-learning rule holds SNR ≥ 3 at a (provisional) realistic flow-readout noiseσ_realistic_flow. If it forecloses at/below realistic noise (the H5 prediction) → redirect to a single-read / directed-aging variant before printing — printing a read-noise-fragile rule would waste the build. - Phase 1 — transfer verdict (on H5 PASS). Characterize the printed device (flow readout noise, channel-conductance precision, dynamic range, aging dynamics) → re-sim at measured parameters → pre-registered PASS / BOUNDARY / FORECLOSE.
- Phase 2 — build (on Phase-1 PASS). Print the flow network and demonstrate a task learned in-fabric by directed aging, audited on both axes.
A flow/resistor network minimizes power/co-content — a gradient flow by construction —
so EP rigor is licensed (cf. gradient-flow-is-the-ep-license). The open question is
purely whether the printed device's read noise breaks the two-read rule (Phase 0) and
whether directed aging can realize the update in-fabric (Phase 1/2).
verdict.py # FROZEN Phase-0 classify_h5 (+ Phase-1/2 verdicts to be frozen later)
tests/ # unit tests that brute-force the frozen decision function
docs/superpowers/
specs/ # the design spec (2026-06-23)
findings/ # Observed / Interpretation, filled as phases run
Before starting work, read ../00-shared-harness/BULLETIN.md and
../00-shared-harness/synthesis/glossary.md. Port the two-axis audit.py and the
coupled-learning sim (solver / coupled_learning) from commons/. Report reusable
findings (especially 01's missing read-noise result and the sim→hardware transfer
lesson family) up to the commons via the promotion-branch handoff.