This squashes all local history (768 commits) onto the scrubbed PR #90
baseline. Individual commits were lost during filter-repo corruption;
the working tree content is preserved intact.
Build: N/A (working tree state only)
- lakefile.toml: add Compiler lean_lib with 5 blessed roots
(Semantics.RRC.Emit, Semantics.AVMIsa.Emit, Semantics.AVMIsa.Run,
Semantics.ReceiptCore, Semantics.RRCLogogramProjection);
defaultTargets = ["Semantics", "Compiler"]
- PistSimulation.lean: restore goldenContractionEnergyDecrease theorem body
(was commented out as TODO forward-ref to arrayKineticEnergy); moved to
after burgersPhiEnergyStep where all dependencies are in scope;
proof stub retained with sorry + TODO(lean-port) comment
- AGENTS.md: document blessed Compiler surface, Goal A receipt shape,
quarantine table, pending proof work, and key Lean 4.30 API notes
Build: 3566 jobs, 0 errors (lake build)
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Semantics.lean:
- Quarantine 29 missing-file Probe imports (AtomicTimescaleProbe …
LandauerGeneticClockProbe) that caused `lake build` to crash with
"no such file or directory" before Lean even ran. All 29 are commented out
with a TODO(lean-port) block; files don't exist yet.
- Remove bare `import PistSimulation` (line 58) — it caused a
double-import collision: Semantics.PistSimulation is already reachable via
Semantics.TreeDIATKruskal, and the Semantics lib also glob-builds
Semantics/PistSimulation.lean, so the bare root-level import created an
"environment already contains" error.
PistSimulation.lean:
- Fix fixtureSpectralWindow list literal: ⟨655360⟩ … → Q16_16.ofRawInt N
(same Subtype.mk two-field pattern fixed throughout this series)
- Quarantine goldenContractionEnergyDecrease theorem: it forward-references
arrayKineticEnergy (defined 240 lines later); commented out with
TODO(lean-port): move after arrayKineticEnergy definition
TreeDIATKruskal.lean:
- Fix treeNodeCountExact_pos and treeLeafCountExact_pos: in Lean 4.30
`simp [treeNodeCountExact/treeLeafCountExact, ihL, ihR]` now closes the
node case fully; trailing `omega` had "no goals to be solved"
Result: lake build → Build completed successfully (3557 jobs)
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Comprehensive §10 test suite running the bridge across 9 initial conditions
and verifying against known invariants:
Test fixtures:
• smooth parabola (convex, all diffs ≥ 0)
• shock step (mixed-sign diffs)
• sinusoidal (convex, same as parabola)
• rarefaction wave (linear, identity under contraction)
• asymmetric ramp (linear, non-zero winding)
• gaussian bump (mixed-sign diffs)
• zero field (trivial, identity)
• constant field (linear, identity)
• double shock (mixed-sign diffs)
Invariant checks:
• Regime classification via spectral discriminant gate
• Kinetic energy of initial state (non-negative)
• Golden-contraction energy dissipation (convex/linear fields)
• Spatial & temporal winding numbers (physically consistent)
• CFL-like stability proxy
Key finding: Q16_16.mul/div use raw UInt64 arithmetic on the underlying
UInt32 values, which produces incorrect results for negative operands
(the sign bit is treated as magnitude). This affects fields where the
golden contraction has negative local deviations (u−c < 0). Working
cases (convex/linear fields where all u−c ≥ 0) verify correctly:
– Parabola: E=17.0 → 14.55 (delta = −2.45) ✓
– Linear fields: identity contraction (delta = 0) ✓
– Zero field: identity (delta = 0) ✓
Build: lake build Semantics green at 3541 jobs.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Three interconnected additions resolving the genus-1 vs genus-3 topology
question through structural derivation from the gap-6 prime lane pair:
(a) Burgers-PhiNUVMAP bridge (PistSimulation.lean):
• `burgersSpatialWinding`: net circulation Σu[i]·dx around torus spatial cycle
• `burgersTemporalWinding`: t/dt phase-step count (quarter-turns of T²)
• dims 14-15 now hold (w_space, w_time) instead of reserved zeros
• Eval witnesses: smooth parabola w_space=10, shock step w_space=4
(b) Torus surface-braid enrichment (BraidEigensolid.lean):
• `TorusWinding` structure with a, b cycle counts (spatial + phase)
• `TorusBraidCarrier`: wraps BraidState with torus topology
• `torusCrossStep`: crossing step with phase winding increment
• Each crossStep round at step_count mod 4 = 0 adds one phase increment
• Preserves all existing eigensolid_convergence / receipt_invertible proofs
(c) Genus1TopologyMetaprobe.lean (new module):
• χ = 0, b₁ = 2 theorems for genus 1
• C1 = 6k−1 / C2 = 6k+1 lane predicates and gap-6 pair structure
• Torsion-as-time: 4 steps = 1 torus wrap, phaseAngle in Q16_16 turns
• Temperature-entropy reciprocity T·S = 1 for single handle
• Symplectic intersection ω(a,b) = +1, ω(b,a) = −1
• Surface braid group on T²: winding generators a, b with commutator relation
Build: lake build Semantics green at 3541 jobs.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
TreeDIAT = Tree-to-Shell Coordinate Transform, enabling tree-structured
search traces to participate in PIST spectral refinement alongside
integer-shell (DIAT) data.
Components:
- TreeNode inductive type (binary tree with Nat labels)
- treeMetrics: O(n) extraction of depth, leafCount, nodeCount, maxLabel
- TreeDIAT structure: feature vector packed into Q16_16 space
- treeDIATEmbeddingScore: heuristic bushy=embeddable, stringy=not
- treeDIATToChaosState: project tree features into 3D chaos-game space
- treeSequenceRegime: classify tree sequences by Kruskal-bound proximity
- 14 #eval! witnesses on bushy/balanced/stringy fixtures
Build: lake build Semantics.PistSimulation = 3309 jobs green.
Generated with [Devin](https://cli.devin.ai/docs)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>