Research-Stack/audit/lean_formalism_audit.md
Allaun Silverfox 8e51acad08 audit: full codebase inspection — 6 auditors, 9,606 objects, 2,068 lines of findings
CRITICAL (7):
- C1: Hardcoded Wolfram Alpha API key (revoke immediately)
- C2: Q16_16 rounding diverges Lean↔Python↔C (data corruption)
- C3: Receipts describe non-existent files (fabrication)
- C4: '3,500+ proofs' = compilation units, not theorems
- C5: NaN sentinel collision Lean↔C (silent corruption)
- C6: eigensolid_convergence theorem is a tautology
- C7: 74% CI failure rate

HIGH (12): duplicate definitions, SQL injection, command injection,
  1,029 duplicate files, 66 large files in git, AGENTS.md drift

MEDIUM (23): stale docs, broken cross-refs, unhandled errors
LOW (31): naming violations, misplaced files, cleanup

Master synthesis: audit/MASTER_AUDIT_SYNTHESIS.md
Per-dimension reports: audit/*_audit.md
2026-06-21 02:07:35 -05:00

259 lines
11 KiB
Markdown

# Lean Formalism Audit Report
**Repository**: allaunthefox/Research-Stack
**Branch**: main
**Date**: 2025-01-18
**Scope**: All 1,295 Lean files
---
## Executive Summary
| Metric | Count |
|--------|-------|
| Total Lean files | 1,295 |
| Files scanned (largest + smallest) | ~159 |
| Files with `sorry` | ~14+ (estimated 30-60 across all 1,295) |
| Total `sorry` count (scanned) | 14+ confirmed |
| Files with `admit` | 0 confirmed |
| Files with `proof_wanted` | 0 confirmed |
| Broken/inaccessible files | ~70 (fetch timeout) |
| Placeholder files (imports only, no content) | ~3 confirmed |
| Import cycles detected | None confirmed |
| Naming convention violations | Minimal |
---
## 1. SORRY INVENTORY (CRITICAL)
### Confirmed Files with `sorry`
| File | Sorry Count | Severity | Notes |
|------|-------------|----------|-------|
| `0-Core-Formalism/lean/Semantics/Core/T1_Coherence.lean` | 12 | **CRITICAL** | Core coherence theorems - measure theory integration gaps |
| `0-Core-Formalism/lean/Semantics/Semantics/ErdosRenyiPipeline.lean` | 6 | **HIGH** | Sidon iff collision backward, energy zero iff, Erdos-Renyi density bounds, CRT sieve backward, structure bonus log bound |
| `0-Core-Formalism/lean/Semantics/Semantics/E8Sidon.lean` | 5 | **HIGH** | Householder involution algebra (2), chaos game Sidon preservation (1), trajectory sum translation |
| `0-Core-Formalism/lean/external/OTOM/SSMS.lean` | 2 | **MEDIUM** | MLGRU delta bound (Q16.16 arithmetic theory), ACI preservation (truncation error lemmas) |
| `0-Core-Formalism/lean/Semantics/ExtensionScaffold/Physics/NBody.lean` | 1 | **LOW** | Single sorry in simFlowPhi field |
### Sorry Classification
**Hard sorry (real mathematics needed)**:
- T1_Coherence: Measure theory integration proofs (12)
- E8Sidon: Householder reflection algebra, chaos game trajectory proofs (5)
- ErdosRenyiPipeline: Sidon characterization completeness, analytic number theory bounds (6)
**Medium sorry ( Lean machinery needed)**:
- SSMS: Q16.16 fixed-point algebra lemmas (2)
- NBody: Minor field assignment (1)
**Estimated total sorry across all 1,295 files**: ~30-60
(based on density in scanned files extrapolated)
### Sorry by Module
| Module | Estimated Sorry Count |
|--------|----------------------|
| Semantics/Core (BindAxioms, InformationManifold, T1_Coherence) | 12+ |
| Semantics/Semantics/E8Sidon | 5 |
| Semantics/Semantics/ErdosRenyiPipeline | 6 |
| Semantics/Semantics/Other (~500 files) | 5-10 estimated |
| ExtensionScaffold/Physics | 1 |
| ExtensionScaffold/ENE | 0 (import-only files) |
| External/OTOM | 2 |
| Singer-theorem-lean (~73 files) | Unknown (many timed out) |
| Lean_binned (~93 files) | Unknown (many timed out) |
---
## 2. BROKEN FILES (CRITICAL)
### Files That Failed to Fetch (likely too large or network issues)
**Large theorem files (> 80KB)**:
- `singer-theorem-lean/Erdos30/BoundaryD1SurvivorCounts.lean`
- `singer-theorem-lean/Erdos30/BoundaryD1TheoremRangeFrontier.lean`
- `singer-theorem-lean/Erdos30/BoundarySecantRigidLeafProfileBridge.lean`
- `singer-theorem-lean/Erdos30/BoundarySecantTheoremRangeFrontier.lean`
- `singer-theorem-lean/Erdos30/BoundarySecantTheoremRangeLocalClassification.lean`
- `singer-theorem-lean/Erdos30/BoundarySecantTheoremRangeLocalRealization.lean`
**Other broken files**:
- `Semantics/Semantics/ASICTopology.lean`
- `Semantics/Semantics/Adapters/AlphaProofNexus/erdos_12.parts.i.lean`
- `Semantics/Semantics/Adapters/AlphaProofNexus/erdos_741.parts.i.lean`
- `Semantics/Semantics/Adapters/AlphaProofNexus/erdos_846.lean`
- `Semantics/Semantics/Adapters/AlphaProofNexus/graph_conjecture2.lean`
- `Semantics/Semantics/Benchmarks/HadwigerNelson.lean`
- `Semantics/Semantics/CooperativeLUT.lean`
- `Semantics/Semantics/DeltaGCLCompression.lean`
- `Semantics/Semantics/EntropyMeasures.lean`
- `Semantics/Semantics/ExtendedManifoldEncoding.lean`
- `Semantics/Semantics/Foundations/CarnotEfficiency.lean`
- `Semantics/Semantics/InvariantReceipt/Receipt.lean`
- `Semantics/Semantics/N3L_Energy.lean`
- `Semantics/Semantics/PIST/Classify.lean`
- `Semantics/Semantics/Physics/NBody.lean`
- `Semantics/Semantics/Q16InverseProof.lean`
- `Semantics/Semantics/RRC/Corpus250.lean`
- `Semantics/Semantics/RRC/EntropyCandidates/Candidates.lean`
- `Semantics/Semantics/SidonSets.lean`
- `Semantics/Semantics/Testing/ArrayTest.lean`
- `Semantics/Semantics/Testing/LemmaTest2.lean`
- `Semantics/TestFintype.lean`
- `external/OTOM/Atoms.lean`
- `external/OTOM/Basic.lean`
- `external/OTOM/ComputationProfile.lean`
- `external/OTOM/MetricCore.lean`
- `external/OTOM/Physics.lean`
- `3-Mathematical-Models/manifold_compression/src/AutoAdaptiveMetatypeSystem.lean`
- ~40 lean_binned files
**Root cause**: Most failures are likely due to network timeout (files > 60KB or path length issues). Not necessarily syntactically broken.
---
## 3. PLACEHOLDER FILES (INFO)
Files with only imports and no actual definitions:
| File | Lines | Size | Content |
|------|-------|------|---------|
| `0-Core-Formalism/lean/Semantics/Biology.lean` | 3 | 134B | Imports only, no definitions |
| `0-Core-Formalism/lean/Semantics/GenerateLUTMain.lean` | 5 | 248B | Single import + minimal code |
| `0-Core-Formalism/lean/Semantics/PurifyMain.lean` | 9 | 264B | Minimal stub |
| `2-Search-Space/SearchSpace.lean` | 7 | 129B | Empty placeholder |
Additional small stub files (< 500 bytes) that may need attention: ~119 files total.
---
## 4. IMPORT ANALYSIS
### Import Cycles
**None detected** in the scanned files. The module structure follows a DAG pattern:
- `Core/` `Semantics/` `ExtensionScaffold/`
- `external/` is self-contained
- `singer-theorem-lean/` imports from `Semantics/SidonSets` but not vice versa
### Heavy Import Chains
- `E8Sidon.lean` imports `Semantics.SidonSets` (mathematical dependency)
- `NBody.lean` imports 8 modules: Bind, DynamicCanal, LocalDerivative, HyperFlow, FixedPoint, BraidStrand, BraidBracket, CMYKFrequencyCore, ThroatPhysics, Wormhole, QuantumEraserCache
- `ErdosRenyiPipeline.lean` imports 7 Mathlib modules
### Missing Imports
None detected in scanned files. All referenced definitions appear properly imported.
---
## 5. NAMING CONVENTION ANALYSIS
### AGENTS.md §2 Compliance
**Generally excellent compliance** across the codebase:
| Convention | Status | Examples |
|------------|--------|----------|
| PascalCase for types/structures | **Good** | `Q1616`, `NBodyState`, `Particle`, `BitLinearParams`, `MlgruState`, `ScalarNode`, `GossipPacket`, `DirSimplicialComplex`, `BettiSwooshH`, `SwooshEvent`, `SubleqCore`, `NUVMap`, `ChainPattern`, `RatchetLUT`, `SolveEntry`, `H264Macroblock`, `NUVMapCacheState`, `Slug3State`, `Slug3Node` |
| camelCase for functions | **Good** | `velocityVerletStep`, `computeHamiltonian`, `gravitationalForce`, `totalForceOnParticle`, `energyGradientToNUVMap`, `verletStepWithNUVMap`, `ratchetLUTUpdate`, `batchNUVMapCache`, `nuvMapCacheHitRate`, `cmykToYuv`, `classifyYUV`, `hardwareDecompressPipeline` |
| ALL_CAPS for constants | **Good** | `GRADIENT_THRESHOLD`, `Y_LOW`, `Y_MID`, `Y_HIGH`, `UV_LOW`, `UV_MID`, `UV_HIGH` |
### Minor Issues
- Some Lean-generated files in `singer-theorem-lean/` use snake_case (e.g., `bipartite_reconstruction.lean`, `erdos_12.parts.i.lean`) but these are generated artifacts
- `lean_binned/` files use hex hashes in names (by design)
---
## 6. DUPLICATION ANALYSIS
### Potential Duplications Found
1. **`IsSidonSet` defined in multiple files**:
- `Semantics/Semantics/SidonSets.lean` (canonical)
- `Semantics/Semantics/ErdosRenyiPipeline.lean` (local copy with slightly different signature)
- Risk: Divergence between definitions
2. **`CoverageSystem` / `IsGap` / `IsLosslessMap`**:
- May overlap with coverage concepts in other pipeline files
3. **N-body physics duplicated**:
- `ExtensionScaffold/Physics/NBody.lean` (the canonical one)
- `Semantics/Semantics/Physics/NBody.lean` (potentially a copy)
4. **Q16.16 fixed-point type**:
- `Semantics/Q16_16.lean` (canonical)
- `external/OTOM/SSMS.lean` has its own `Q1616` structure
- Risk: Two fixed-point implementations may diverge
---
## 7. CODE QUALITY OBSERVATIONS
### Strengths
- **Extensive documentation**: Header comments explain architecture, status, and design decisions
- **Computational verification**: Many files use `native_decide` and `#eval` for testing
- **Axiom discipline**: Axioms clearly marked (e.g., `axiom E4_sq_eq_E8_coeff`) with justification
- **Well-structured namespaces**: Hierarchical `namespace` usage (e.g., `Semantics.E8Sidon`, `ExtensionScaffold.Physics.NBody`)
- **Section organization**: Clear section markers 1, §2, etc.)
### Weaknesses
- **sorry accumulation**: Core files (T1_Coherence, E8Sidon) have significant mathematical gaps
- **Large files**: Several files exceed 50KB (EntropyMeasures ~265KB, AutoImported ~99KB) making review difficult
- **Generated code**: `singer-theorem-lean/` files appear largely auto-generated with limited human review
- **lean_binned files**: ~93 files that are equation stubs with minimal content
---
## 8. CRITICAL ISSUES (Must Fix)
1. **T1_Coherence.lean: 12 sorry markers** - Core coherence theorems need measure theory proofs
2. **E8Sidon.lean: 5 sorry markers** - Householder reflection algebra incomplete
3. **ErdosRenyiPipeline.lean: 6 sorry markers** - Key iff characterizations incomplete
4. **SSMS.lean: 2 sorry markers** - ACI preservation theorem blocked on Q16.16 algebra
5. **Large file fetch failures** - 70+ files could not be accessed; need to verify they build
6. **`IsSidonSet` duplication** - Two different definitions in SidonSets.lean vs ErdosRenyiPipeline.lean
## 9. WARNINGS (Should Fix)
1. **~119 small files (< 500 bytes)** - May be stubs that need content or removal
2. **Placeholder imports-only files** - Biology.lean, SearchSpace.lean have no definitions
3. **Duplicate Q1616 implementation** - SSMS.lean reimplements the fixed-point type
4. **Singer-theorem-lean generated files** - No clear provenance/verification for large auto-generated proofs
5. **Lean_binned files** - 93 equation stubs, most with minimal content
## 10. INFO (Nice to Have)
1. Add `proof_wanted` markers for theorems that should be prioritized
2. Document the dependency graph between modules
3. Consider splitting files > 50KB into smaller modules
4. Add CI build verification for all files
5. Standardize `native_decide` usage (some files over-rely on it)
---
## Per-Module Breakdown
| Module | Files | Scanned | Sorry | Broken | Placeholders | Status |
|--------|-------|---------|-------|--------|-------------|--------|
| Semantics/Core | 3 | 3 | 12+ | 0 | 0 | Needs proofs |
| Semantics/Semantics | ~500 | ~40 | 11+ | ~15 | ~2 | Mixed quality |
| Semantics/ExtensionScaffold | ~50 | ~15 | 1 | ~8 | ~1 | Generally good |
| singer-theorem-lean | 73 | 6 | ? | 6 | 0 | Large generated files |
| external/OTOM | 13 | 5 | 2 | 5 | 0 | Good structure |
| lean_binned | 93 | ~50 | ? | ~40 | ~93 | Stubs by design |
| 2-Search-Space | 10 | 0 | ? | 0 | ~1 | Not scanned |
| 6-Documentation | 9 | 0 | 0 | 0 | 0 | Docs only |
---
## Top 10 Files by Sorry Count (Confirmed)
1. `T1_Coherence.lean` — 12 sorry (CRITICAL)
2. `ErdosRenyiPipeline.lean` — 6 sorry (HIGH)
3. `E8Sidon.lean` — 5 sorry (HIGH)
4. `SSMS.lean` — 2 sorry (MEDIUM)
5. `NBody.lean` — 1 sorry (LOW)
---
*Report generated by automated analysis of 159 representative files + detailed manual review of key modules.*