feat: README, CI pipeline, Dependabot config

- README.md: project overview, quick start, verification commands
- GitHub Actions: anti-smuggle entry gate runs on push (4 layers)
- Dependabot: ignore transitive dependencies (h11, opentelemetry, etc.)
- predictions JSON committed to data/ for CI reproducibility
- build_pist_matrices_250.py / build_manifold.py now default to data/
This commit is contained in:
allaun 2026-06-30 05:48:50 -05:00
parent 72007653bc
commit e6d5a0a8d4
6 changed files with 26508 additions and 87 deletions

13
.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,13 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
ignore:
# h11 is a transitive dependency of Playwright/etc; not in our requirements.txt
- dependency-name: "h11"
- dependency-name: "opentelemetry*"
- dependency-name: "thrift"
- dependency-name: "glib*"

View file

@ -2,25 +2,23 @@ name: Anti-Smuggle Gate
on: [push, pull_request] on: [push, pull_request]
jobs: jobs:
layers-0-5: gate:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Install Lean - name: Install Lean + elan
run: | run: |
curl -sL https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh | sh -s curl -sL https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh | sh -s -- -y
echo "$HOME/.elan/bin" >> $GITHUB_PATH echo "$HOME/.elan/bin" >> $GITHUB_PATH
- name: Setup Python - name: Setup Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: "3.11" python-version: "3.11"
cache: pip
- name: Install deps - name: Install deps
run: | run: pip install sympy numpy pyyaml
pip install sympy numpy
- name: Restore lake cache - name: Restore lake cache
uses: actions/cache@v4 uses: actions/cache@v4
@ -29,19 +27,25 @@ jobs:
key: lake-${{ hashFiles('lake-manifest.json') }} key: lake-${{ hashFiles('lake-manifest.json') }}
- name: Layer 0 — Determinism - name: Layer 0 — Determinism
run: python3 scripts/check_determinism.py --seed 0 --check-all || echo "Layer 0: WARN (no artifacts)" run: python3 scripts/check_determinism.py
- name: Layer 2 — Mutation Testing - name: Layer 1 — Build Gate
run: lake build
- name: Layer 2 — Pipeline Emission
run: | run: |
python3 -c " python3 python/build_pist_matrices_250.py \
from scripts.qc_flag.mutation_generator import generate_all, load_manifest --predictions data/rrc_pist_predictions_250_v1.json
m = load_manifest() python3 python/build_manifold.py \
g = generate_all(m) --predictions data/rrc_pist_predictions_250_v1.json
print(f'Generated {sum(len(v) for v in g.values())} mutations') lake build
" lake exe rrc-emit-fixture 2>/dev/null | python3 -c "
import json,sys
d=json.load(sys.stdin)
assert d['bundle_receipt_valid'] == True, 'receipt invalid'
assert d['avm_canaries_passed'] == True, 'canaries failed'
print(f'OK: {d[\"summary\"][\"total\"]} rows, {d[\"summary\"][\"passed_alignment\"]} passed')
"
- name: Layer 3 — CAS/SMT Grounding - name: Layer 3 — CAS/SMT Grounding
run: python3 scripts/verify_with_sympy.py || echo "Layer 3: WARN (SymPy check)" run: python3 scripts/verify_with_sympy.py
- name: Layer 4 — Build Gate
run: lake build SilverSightRRC

147
README.md
View file

@ -1,72 +1,99 @@
# SilverSight # SilverSight
A deterministic equation search and classification system built on chaos game theory, Sidon set addressing, and Fisher information geometry. Proves Chentsov's theorem for finite n=8, routes through Finsler-QUBO-QAOA optimization, and scales to 50-token universal mathematical expression encoding. A formally verified, hardware-native computation stack for braid topology analysis,
eigensolid compression, and cross-domain 1/n-scaling signature mining.
## Structure
| Directory | Contents |
|-----------|----------|
| `formal/CoreFormalism/` | Lean 4: FixedPoint (canonical Q16_16/Q0_16), ChentsovFinite, HachimojiBase, HachimojiCodec, HachimojiManifoldAxiom |
| `formal/PVGS_DQ_Bridge/` | Lean 4: Photon-Varied Gaussian State to Dual Quaternion energy bridge (7 sections + master) |
| `formal/UniversalEncoding/` | Lean 4: 50-token math address space, 4D chirality classification |
| `formal/BindingSite/` | Lean 4: Amino acid vocabulary mapping, entropy-based bindability |
| `python/` | Python: chaos game, Sidon addressing, spectral profile, Q16.16 canonical |
| `qubo/` | Python: Finsler metric, QUBO builder, QAOA circuit, classical solver |
| `tests/` | Python: Q16.16 roundtrip tests |
| `.github/workflows/` | CI: Lean check, Python check, Q16 roundtrip |
| `docs/` | Architecture documentation, Research Stack usage graph, glossary, testing rules |
## Glossary
`docs/GLOSSARY.md` is the authoritative living dictionary for SilverSight terms.
Every domain term used in receipts, gates, or cross-module interfaces must be
defined there with a source module citation. `docs/GLOSSARY_ALLOWLIST.md`
contains generic terms that do not need glossary entries.
## Testing
`docs/TESTING.md` defines the testing contract: Lean witnesses, Python unit
and integration tests, CI gates, and the glossary lint.
## Research Stack Usage Map
The `docs/research_stack_usage_graph.*` files are a searchable point graph of the
legacy Research Stack — modules, theorems, definitions, scripts, docs, services,
databases, nodes, skills, and goals. Use them to discover what is worth porting.
- `docs/research_stack_usage_graph.json` — machine-readable entity/edge graph
- `docs/research_stack_usage_graph.md` — human-readable summary
- `docs/research_stack_usage_graph.dot` — visual graph source (Graphviz)
- `docs/research_stack_usage_graph.svg` — rendered vector graph
- `docs/research_stack_usage_graph_thumb.png` — 1024×342 PNG thumbnail preview
- `docs/generate_research_stack_usage_map.py` — regeneration script
- `docs/research_stack_porting_candidates.md` — ranked porting shortlist
- `docs/generate_porting_candidates.py` — candidates regeneration script
## Key Papers
- **Giani, Win, Conti (2025)** - Photon-Varied Gaussian States (PVGS)
- **Chabaud, Mehraban (2022)** - Stellar representation of non-Gaussian quantum states
- **Pizzimenti et al. (2024)** - Wigner negativity of superpositions
- **Wassner et al. (2025)** - Single quadrature noise tomography
## Quick Start ## Quick Start
```bash ```bash
# Run Q16.16 roundtrip test # Verify the entire pipeline (4 min)
python tests/q16_roundtrip_test.py bash scripts/run_entry_gate.sh
# Run chaos game search
python python/chaos_game.py
# Run optimization suite
python qubo/test_optimize.py
``` ```
## Citation This runs all 4 anti-smuggle layers:
See `CITATION.cff`. | Layer | Gate | What it proves |
|-------|------|----------------|
| 0 | `check_determinism.py` | All artifacts are reproducible (SHA-256 chains, seeded RNG) |
| 1 | `lake build` | All 3307 Lean jobs compile (Q16_16 fixed-point, AVM ISA, PIST classifiers) |
| 2 | `rrc-emit-fixture` | The manifold receipt emits with 278/278 rows passing alignment |
| 3 | `verify_with_sympy.py` | All Q16_16 computations cross-checked against SymPy symbolic math |
## What It Does
**Core idea:** Every byte is signal. Gaps, timing, and absences are the encoding.
The compressor encodes everything; the decompressor must reconstruct everything,
including the gaps — because the gaps *are* the compression.
### Pipeline
```
Equation text → tokenizer → 8×8 strand adjacency matrix
PIST spectral classifier
(MatrixN → SpectralN → ClassifyN)
Q16_16Manifold (278 fixture rows)
AVM ISA receipt (JSON)
```
### Key Modules
| Module | Purpose |
|--------|---------|
| `MatrixN` | Generic n×n matrix operations (power iteration, Laplacian, A^T A) |
| `SpectralN` | Spectral profile: eigenvalue, spectral gap, density, Frobenius norm |
| `ClassifyN` | Spectral-radius → color → shape-name classifier |
| `BraidStateN` | n-strand braid state, crossStep, eigensolid convergence |
| `FisherRigidityN` | n-dimensional Fisher-Rao geometric rigidity |
| `FixedPointBridge` | Q16_16 ↔ Q0_64 quad matrix bridge (zero LSB error) |
| `FeasibleSet` | QUBO k-hot relaxation with weak monotonicity proofs |
### Infrastructure
| Service | Host | Purpose |
|---------|------|---------|
| AppFloyo Cloud | neon-64gb:8000 | Module dependency dashboard |
| GoTrue | neon-64gb:9999 | JWT auth for API access |
| Authentik | neon-64gb:30001 | SSO provider (OAuth2/OIDC) |
| Homarr | neon-64gb:7575 | Infrastructure dashboard |
| CouchDB | neon-64gb:5984 | Document store |
## Verification
```bash
# Full formal build
lake build # 3307 jobs, 0 errors
# Generate predictions from equations
python3 python/generate_predictions.py
# Build matrix data
python3 python/build_pist_matrices_250.py
# Build manifold fixture rows
python3 python/build_manifold.py
# Emit signed receipt
lake exe rrc-emit-fixture
# Cross-domain significance mining (arXiv + CORE API)
CORE_API_KEY="<key>" python3 infra/sigs/rydberg_miner.py
python3 scripts/cross_domain_significance.py
```
## Project Structure
```
formal/ Lean 4 source (truth)
python/ Python I/O shims
scripts/ Anti-smuggle protocol, infrastructure
signatures/ Cross-domain signature data
infra/sigs/ Literature mining tools
specs/ Design documents
```
## License ## License
MIT Apache 2.0

File diff suppressed because it is too large Load diff

View file

@ -120,7 +120,7 @@ def main() -> int:
parser.add_argument( parser.add_argument(
"--predictions", "--predictions",
type=Path, type=Path,
default=Path("/home/allaun/Research Stack/shared-data/rrc_pist_predictions_250_v1.json"), default=Path("data/rrc_pist_predictions_250_v1.json"),
help="Path to rrc_pist_predictions_250_v1.json", help="Path to rrc_pist_predictions_250_v1.json",
) )
parser.add_argument( parser.add_argument(

View file

@ -46,7 +46,7 @@ def main() -> int:
parser.add_argument( parser.add_argument(
"--predictions", "--predictions",
type=Path, type=Path,
default=Path("/home/allaun/Research Stack/shared-data/rrc_pist_predictions_250_v1.json"), default=Path("data/rrc_pist_predictions_250_v1.json"),
help="Path to rrc_pist_predictions_250_v1.json", help="Path to rrc_pist_predictions_250_v1.json",
) )
parser.add_argument( parser.add_argument(