Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions .github/workflows/w33_pass3175_3186_curvature_routed_inference.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Passes 3175-3186 Curvature-Routed Inference
on:
workflow_dispatch:
pull_request:
paths:
- 'analysis/*3175*'
- 'analysis/*3177*'
- 'analysis/*3178*'
- 'analysis/*3179*'
- 'analysis/*3180*'
- 'analysis/*3181*'
- 'analysis/*3182*'
- 'rtl/*3175*'
- 'rtl/tb_w33_pass3175_3183_curvature_routed_runtime.sv'
- 'tests/test_bt3175_bt3186_curvature_routed_inference.py'
- 'tools/integrate_bt3175_bt3186.py'
- '.github/workflows/w33_pass3175_3186_curvature_routed_inference.yml'
permissions:
contents: read
jobs:
exact-rtl-papers:
runs-on: ubuntu-latest
timeout-minutes: 240
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install exact and digital toolchains
run: |
sudo apt-get update
sudo apt-get install -y iverilog yosys fpga-icestorm nextpnr-ice40
python -m pip install numpy pytest
- uses: wtfjoke/setup-tectonic@v3
- name: Recompute all seven fronts
run: |
python analysis/bt3175_3176_curvature_conditioned_sensing.py
python analysis/bt3177_all194_information_frontier.py
python analysis/bt3178_three_edit_phase_epoch.py
python analysis/bt3179_m36_proof_envelope.py
python analysis/bt3180_routed_joint_utility.py
python analysis/bt3181_d4_triangle_wilson_flux.py
python analysis/bt3182_recursive_belief_virtualization.py
python analysis/bt3175_3186_curvature_routed_inference_summary.py
- name: Focused exact regressions
run: |
pytest -q tests/test_bt3175_bt3186_curvature_routed_inference.py
git diff --check
- name: Simulate protocol contracts
run: |
iverilog -g2012 -s tb_w33_pass3175_3183_curvature_routed_runtime -o /tmp/pass3183.vvp \
rtl/w33_pass3175_3183_curvature_routed_runtime.sv rtl/tb_w33_pass3175_3183_curvature_routed_runtime.sv
vvp /tmp/pass3183.vvp | tee pass3183_iverilog.log
grep -F 'PASS curvature, three-edit epoch, envelope, Wilson flux and routed utility' pass3183_iverilog.log
- name: Synthesize representative control tops
run: |
for top in w33_pass3175_curvature_accumulator w33_pass3178_three_edit_epoch_decoder w33_pass3181_d4_triangle_flux w33_pass3180_streamed_routed_utility; do
yosys -p "read_verilog -sv rtl/w33_pass3175_3183_curvature_routed_runtime.sv; hierarchy -top $top; synth_ice40 -top $top -json /tmp/$top.json; stat" | tee $top.yosys.log
nextpnr-ice40 --hx8k --package ct256 --pcf-allow-unconstrained --json /tmp/$top.json --asc /tmp/$top.asc |& tee $top.nextpnr.log
done
- name: Integrate front doors idempotently
run: |
python tools/integrate_bt3175_bt3186.py
sha256sum w33_paper.tex photonic_holonet.tex holonet_machine_blueprint.tex docs/index.html > /tmp/a
python tools/integrate_bt3175_bt3186.py
sha256sum w33_paper.tex photonic_holonet.tex holonet_machine_blueprint.tex docs/index.html > /tmp/b
diff -u /tmp/a /tmp/b
- name: Compile all three canonical papers
run: |
tectonic w33_paper.tex
tectonic photonic_holonet.tex
tectonic holonet_machine_blueprint.tex
test -s w33_paper.pdf && test -s photonic_holonet.pdf && test -s holonet_machine_blueprint.pdf
- uses: actions/upload-artifact@v4
with:
name: pass3175-3186-curvature-routed-evidence
path: |
data/PART_BT3175*.json
data/PART_BT3177*.json
data/PART_BT3178*.json
data/PART_BT3179*.json
data/PART_BT3180*.json
data/PART_BT3181*.json
data/PART_BT3182*.json
pass3183_iverilog.log
*.yosys.log
*.nextpnr.log
w33_paper.pdf
photonic_holonet.pdf
holonet_machine_blueprint.pdf
19 changes: 19 additions & 0 deletions analysis/BT3175_BT3186_CLAIM_LEDGER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Passes 3175–3186 claim ledger

| Claim | Type | Status | Boundary |
|---|---|---|---|
| 48,826 hypotheses partition as 45,445 none, 1,725 flat, 1,656 curved | exact finite | source-observed | Uses frozen D4 hypothesis universe. |
| Curvature-aware information dominates collapsed information | exact theorem | proved | Data processing / chain rule. |
| Stress action changes 1/32; sparse operational changes 0/32 | exact model | source-observed | Explicit synthetic channel and seed only. |
| All 194 larger universal ISAs receive information metrics | exact finite | source-observed | Uniform frames/opcodes, not physical bitrate. |
| Six-objective information frontier has eight designs | exact finite | source-observed | Separate from full-group runtime frontier. |
| Twelve length-seven markers correct any three edits | exact theorem | proved | Physical confusion rates absent. |
| Radius-three ball is 3,667,012 per phase | exact combinatorics | source-observed | Analytic enumeration by received length. |
| M36 envelope detects tampering | exact digital integrity | source-observed | Does not prove candidate physics. |
| Negative Z0/Z1/Z2 object is validly sealed and rejected | exact fixture | source-observed | No accepted candidate asserted. |
| Joint utility changes 8/64 actions | exact model | source-observed | Programmable synthetic coefficients. |
| D4 triple flux census 223/120 and 106 orbits | exact finite | source-observed | Algebraic holonomy only. |
| Level-six active path uses 312 bits versus 5,461,333,332 replicated bits | exact architecture | source-observed | One active path; concurrency excluded. |
| RTL simulation/synthesis/place | digital evidence | pending | No observed area or timing. |
| Canonical paper integration and PDFs | publication evidence | pending | No compiled-PDF claim. |
| M36 exhaustive result and laboratory behavior | exhaustive/physical | absent | No no-go, candidate, heat, coherence or optical claim. |
57 changes: 57 additions & 0 deletions analysis/BT3175_BT3186_curvature_routed_inference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Passes 3175–3186 — curvature-routed inference

## Executive result

This packet executes five requested fronts and two independent outside-box fronts while preserving the Holonet manuscript boundaries between clock, route, address, support/readout, phase/execution and fail-closed M36 injection.

## 3175–3176 — curvature as a Bayesian latent

The 48,826 hypotheses split into 45,445 non-shared states, 1,725 shared-flat states and 1,656 shared-curved states. For the explicit three-symbol synthetic channel, the exact identity

\[
I(H;Y)=I(K;Y)+I(H;Y\mid K)
\]

shows that resolving flat versus curved interactions cannot lose information. In 32 stress posteriors it changes 1 action; the best-action gain ranges from 0.0126970093 to 0.0902425706 bits, mean 0.0355238394. Under the frozen sparse operational shared-pair mass 3.48484848e-5 it changes 0/32 actions and adds only 2.54e-6 to 6.75e-6 bits. Curvature is therefore real and potentially useful after postselection, but not yet a dominant operational control variable.

## 3177 — exact information frontier over all 194 larger ISAs

All 80 universal five-opcode and 114 universal six-opcode sets are recomputed. The six-objective frontier—maximize average, minimum and normalized dispatch information; minimize variance, collisions and decoder units—contains eight designs. Global extrema are:

- maximum average: 2.4141403814 bits, four attainers;
- maximum worst-frame capacity: 1.7924812504 bits, 22 attainers;
- maximum normalized capacity: 0.9481541058, four attainers;
- minimum variance: 0.0357531815, two attainers;
- minimum collision probability: 1/9, four attainers.

No single design owns all extrema; information-aware ISA selection is intrinsically vector-valued.

## 3178 — optimal three-edit phase code

Twelve payload-unused symbols label twelve constant markers \(M_p=u_p^7\). Their pairwise and payload distances are at least seven, which is optimal because correcting three adversarial insertions, deletions or substitutions requires \(d_{\min}\ge 2t+1=7\). For a received word of length \(m\) containing \(c\) copies of the marker symbol,

\[
d_L(u^7,y)=\max(7,m)-\min(7,c).
\]

The exact radius-three ball contains 3,667,012 traces per phase and 44,004,144 phase-labelled traces in total. The corrected marker carries phase directly; zero clean payload symbols are required afterward.

## 3179 — proof-carrying M36 objects

An M36 candidate envelope is canonical JSON with SHA-256 content addressing, shard/engine/source provenance, independent-certifier status and hashed witness slots. Accepted envelopes must carry projector, Pauli-spectrum and logical-frame hashes plus success, negativity, stabilizer-fidelity lower bound and error-series witnesses. The known Z0/Z1/Z2 negative control is sealed as rejected; a one-field mutation fails digest verification. This protects citation integrity but does not create an accepted candidate.

## 3180 — routed joint utility

The 23 measured triangles form a connected route graph of diameter two and degrees 14–18. The explicit programmable utility combines detector mutual information, curvature information, shortest-route distance, route multiplicity, ISA control capacity, runtime cost and epoch confidence. In 64 deterministic scenarios it changes the detector-only action 8 times; mode choices are fast6=45, low4=11 and current4=8. Modelled utility gain is 0 to 0.0892247164, mean 0.0345842444.

## 3181 BONKERS — D4 triangle Wilson flux

Define \(\Phi(a,b,c)=\kappa(a,b)\oplus\kappa(b,c)\oplus\kappa(c,a)\). Over all 343 ordered nonidentity triples, 223 have zero flux and 120 have unit flux. Simultaneous conjugation produces 106 orbits: one size-one flat orbit, 39 size-two flat orbits, 36 size-four flat orbits and 30 size-four curved orbits. Across 23 measured triangles this gives 5,129 flat-flux and 2,760 curved-flux local assignments. It is an algebraic holonomy syndrome, not physical spacetime curvature.

## 3182 BONKERS — recursive belief virtualization

A live context uses 52 bits: 9 causal, 36 edit-mask, 4 action, 1 valid and 2 curvature-state bits. At level \(n\), the Holonet has \(40^n\) leaves and \((40^n-1)/39\) W33 cores. Replicating every context costs \(52(40^n-1)/39\) bits, whereas one active root-to-leaf path costs only \(52n\) bits with routing diameter at most \(8n\). At level six this is 5,461,333,332 replicated bits versus 312 active-path bits, an exact architectural virtualization ratio of 17,504,273.5.

## Evidence ladder

Exact finite: D4 curvature/flux, 194-ISA information census, length-seven epoch theorem, envelope hashes, route graph and recursive counts. Exact for explicit models: sensing/action changes and joint utility. Source-complete pending digital observation: RTL contracts, tests, integrator and workflows. Absent: exhaustive M36 outcome, placed area/timing/power, PDFs and laboratory likelihoods or optics.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<section id="bt3175-bt3186-curvature-routed-inference">
<h2>Curvature-routed proof-carrying inference</h2>
<p>The exact D4 posterior now exposes none/flat/curved interaction mass. Curvature changes 1/32 stress-policy actions but 0/32 under the frozen sparse operational prior, so it is retained as a typed diagnostic rather than advertised as a universal control gain.</p>
<p>All 194 larger universal ISAs receive exact frame-local information metrics. Their six-objective Pareto frontier has eight members; mean capacity, worst-frame capacity, variance, collisions and decoder size select different symmetry families.</p>
<p>Twelve length-seven phase markers correct any three insertions, deletions or substitutions. The exact radius-three ball contains 3,667,012 traces per phase and 44,004,144 phase-labelled traces in total.</p>
<p>M36 candidates now require content-addressed provenance, independent certification and complete witness hashes. A rejected negative control is sealed and a one-field mutation fails verification.</p>
<p>The routed controller combines detector information, route cost, epoch confidence, non-Abelian curvature and ISA channel capacity. Two outside-box results add a 106-orbit D4 triangle Wilson-flux census and an exact recursive belief-virtualization law.</p>
</section>
22 changes: 22 additions & 0 deletions analysis/BT3175_BT3186_curvature_routed_inference_insert.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
\section{Curvature-routed proof-carrying inference}
\label{sec:bt3175-bt3186}

The non-Abelian posterior now carries a typed three-valued interaction latent: no shared measured triangle, shared-flat, or shared-curved. The exact frozen census is $45{,}445+1{,}725+1{,}656=48{,}826$. Resolving the curvature bit cannot reduce sensor information, since
\[
I(H;Y)=I(K;Y)+I(H;Y\mid K).
\]
For the explicit synthetic channel it changes one of 32 stress-policy actions, but zero of 32 actions under the frozen sparse operational prior. The curvature variable is therefore retained as a diagnostic and postselection coordinate rather than promoted as an unqualified operational advantage.

All 194 universal five- and six-opcode designs were independently enriched with frame-local control information. The six-objective frontier has eight members: maximum mean information is $2.4141403814$ bits per dispatch, maximum worst-frame information is $1.7924812504$ bits, and minimum entropy variance is $0.0357531815$. These extrema occur on different symmetry families, so the machine exposes the information vector rather than naming one universal scalar winner.

The epoch layer advances from two-edit to three-edit correction. Twelve payload-unused symbols define constant phase markers $M_p=u_p^7$. Their mutual and payload distances are at least seven, the minimum possible for three-edit correction. The exact radius-three ball has $3{,}667{,}012$ traces per phase and $44{,}004{,}144$ phase-labelled traces in total; the corrected marker itself carries phase and requires no clean payload symbols afterward.

M36 outputs are now citation-safe objects. A candidate envelope contains canonical generators, engine/shard/source provenance, independent certification, witness hashes and a SHA-256 digest. Any mutation invalidates the envelope. Accepted envelopes must carry projector, Pauli-spectrum and logical-frame hashes plus clean success, negativity, stabilizer-fidelity lower bound and error-series witnesses. The existing $Z_0,Z_1,Z_2$ negative control is sealed and rejected; no accepted candidate is asserted.

The action layer combines detector information, curvature gain, shortest-route distance and multiplicity, epoch confidence, ISA channel capacity and runtime cost with externally programmable coefficients. In the frozen 64-scenario model it changes eight detector-only actions and selects fast-six, low-collision-four and current-four modes $45$, $11$ and $8$ times respectively. This is a controlled-sensing model, not a physical calibration.

Two further exact structures appear. First, the triangle Wilson bit
\[
\Phi(a,b,c)=\kappa(a,b)\oplus\kappa(b,c)\oplus\kappa(c,a)
\]
is invariant under simultaneous $D_4$ conjugation. Among $7^3=343$ ordered nonidentity triples, $223$ are flat and $120$ curved, forming $106$ conjugation orbits. Second, a recursive level-$n$ Holonet can virtualize live belief: with a 52-bit context, global replication costs $52(40^n-1)/39$ bits while one active root-to-leaf execution path costs $52n$ bits and has routing diameter at most $8n$. These are algebraic and architectural statements; neither is a laboratory field or memory measurement.
55 changes: 55 additions & 0 deletions analysis/bt3175_3176_curvature_conditioned_sensing.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/usr/bin/env python3
"""Passes 3175-3176: curvature-aware Bayesian sensing.

The full 48,826-state filter is partitioned into a typed latent:
none / shared-flat / shared-curved. Results are exact for the stated
synthetic channels and deterministic random seeds; they are not lab likelihoods.
"""
from __future__ import annotations
import json, math
from pathlib import Path
import numpy as np
ROOT=Path(__file__).resolve().parents[1]
OUT=ROOT/'data/PART_BT3175_BT3176_CURVATURE_CONDITIONED_SENSING_results.json'
ACTIONS=23; TOTAL_H=48826; NONE_H=45445; FLAT_H=1725; CURVED_H=1656
CHANNEL=np.array([[.94,.03,.03],[.08,.86,.06],[.08,.06,.86]],float)
def mi(pnone,pf,pc,a,aware):
probs=[pnone]; cond=[CHANNEL[0]]
for t in range(ACTIONS):
probs.extend((float(pf[t]),float(pc[t])))
cond.extend((CHANNEL[1] if t==a else CHANNEL[0],CHANNEL[2] if t==a else CHANNEL[0]))
p=np.array(probs);c=np.array(cond)
if not aware:c=np.column_stack((c[:,0],c[:,1]+c[:,2]))
py=p@c;ans=0.0
for ph,row in zip(p,c):
if ph<=0:continue
for y,q in enumerate(row):
if q>0 and py[y]>0:ans+=ph*q*math.log2(q/py[y])
return ans
def one(rng,shared):
tri=rng.dirichlet(np.ones(ACTIONS)*.7);split=rng.beta(.7,.7,size=ACTIONS)
pf=shared*tri*split;pc=shared*tri*(1-split);pn=1-shared
aware=np.array([mi(pn,pf,pc,a,True) for a in range(ACTIONS)])
collapsed=np.array([mi(pn,pf,pc,a,False) for a in range(ACTIONS)])
assert np.all(aware+1e-14>=collapsed)
return {'aware_action':int(np.argmax(aware)),'collapsed_action':int(np.argmax(collapsed)),
'aware_best_bits':float(np.max(aware)),'collapsed_best_bits':float(np.max(collapsed)),
'best_gain_bits':float(np.max(aware)-np.max(collapsed))}
def summarize(cases):
gains=[c['best_gain_bits'] for c in cases]
return {'cases':len(cases),'action_changes':sum(c['aware_action']!=c['collapsed_action'] for c in cases),
'minimum_best_action_gain_bits':min(gains),'mean_best_action_gain_bits':sum(gains)/len(gains),
'maximum_best_action_gain_bits':max(gains)}
def main():
rng=np.random.default_rng(3175)
stress=[one(rng,float(rng.uniform(.15,.70))) for _ in range(32)]
operational_mass=.0005*(69/990);operational=[one(rng,operational_mass) for _ in range(32)]
out={'schema':'w33.pass3175_3176.curvature_conditioned_sensing.v1',
'hypothesis_partition':{'total':TOTAL_H,'none':NONE_H,'flat':FLAT_H,'curved':CURVED_H},
'channel_rows_true_none_flat_curved':CHANNEL.tolist(),
'identity':'I(H;Y)=I(K;Y)+I(H;Y|K); collapsing flat/curved cannot increase information',
'stress':summarize(stress),'operational_sparse_prior':{'total_shared_pair_mass':operational_mass,**summarize(operational)},
'stress_cases':stress,'operational_cases':operational,
'boundary':'Exact for the explicit synthetic channel and seeds. Curvature is an algebraic latent, not a measured optical field.'}
OUT.write_text(json.dumps(out,indent=2,sort_keys=True)+'\n');print(json.dumps({'stress':out['stress'],'operational':out['operational_sparse_prior']},sort_keys=True))
if __name__=='__main__':main()
Loading
Loading