BioSight/AGENTS.md
allaun 6f36ec42e7 fix(test): V4 Euclidean division conformance, AGENTS.md drift rules update
python/phi/test_verified_units.py (V4 Critical mitigation):
  - Add _ediv() implementing Euclidean division matching Lean 4 Int.div
    (remainder always >= 0; matches Python // for positive divisors only)
  - q16_mul uses // directly (divisor 65536 always positive)
  - q16_div uses _ediv() for correct handling of negative divisors
  - q16_div returns 2147483647 sentinel on division by zero
  - Document int_sqrt floor-division rationale (non-negative operands)
  - Verified: 6/6 edge cases match Lean

AGENTS.md:
  - Add anti-drift multi-pass (Python -> Lean -> RRC -> Research Stack)
  - Add N=8 root dependency on SilverSight HachimojiN8 theorem
  - Add tau/delta mirror rule for gate formalization priority
  - Clarify BioSight as domain instance, not independent decision maker
  - Clarify Research Stack as read-only regression oracle

.gitignore:
  - Add freellmapi-setup/
2026-06-28 00:11:47 -05:00

4.6 KiB
Raw Permalink Blame History

BioSight — Equation-to-DNA Φ Encoding Pipeline

Status: Active, v0.1.0

BioSight encodes mathematical equations as hachimoji DNA sequences for Adleman/Lipton-style DNA computing. The Φ mapping has 4 layers:

  1. F(E) — byte-class histogram over Δ₇ (8 character classes)
  2. Phase alphabet — implicit in the mapping from Δ₇ to bases
  3. τ(E) + δ(E) — parse tree structure (node types + child ordering)
  4. Consistency — 6 rules → allele-specific PCR G/T pass/fail

Ground Rules

  • Decision logic is in Lean — BioSight shims are Python I/O only. Any Python path making an admissibility or routing decision without a SilverSight receipt is drift. File it immediately as a pending SilverSight gate.
  • No floats in compute pathsphi.charclass and phi.embed use integer arithmetic for all core encoding. Only phi.output uses math.acos (for Fisher distance in Adleman graph building).
  • Pure functions — every phi module is a pure function of its equation string input. No state, no I/O, no side effects.
  • Reproducibility — two invocations on the same equation must produce identical DNA sequences (deterministic byte-class and AST order).
  • Rotation trigger — any time phi.consistency makes an ADMIT/QUARANTINE call, check whether a SilverSight receipt backs it. If not, that check is the next SilverSight gate to formalize.
  • τ/δ mirror rule — the Lean proof structure for any gate must mirror BioSight's τ (topology) and δ (depth) values for that equation. High δ → WF-recursive Lean definitions. High τ diversity → wider typeclass hierarchy in SilverSight.

Anti-Drift Multi-Pass

Every decision — no matter how minor — must survive all four passes:

Pass Layer Authority
1 Python (phi.*) I/O encoding only — no decisions
2 Lean (SilverSight gate) Formal authority — closes the decision
3 RRC pipeline (rigour_pipeline.py) Cross-repo alignment
4 Research Stack (~/Research Stack, read-only) Regression oracle

Session start: run python3 -m py_compile phi/*.py equation_dna_encoder.py and confirm phi.encode is deterministic before any new encoding work.

N=8 Root Dependency

BioSight's entire 8-base alphabet choice depends on the SilverSight theorem:

N = 8 = min { N : Nyquist(N) ∧ Q16_16(N) ∧ DNA-subset(N) }

Target: formal/SilverSight/HachimojiN8.lean in the SilverSight repo. Until that theorem is closed with zero sorrys, the alphabet choice is documented justification only, not formal proof.

Core Modules

Module Layer Responsibility
phi.charclass 1 8-class byte histogram → F(E) ∈ Δ₇
phi.ast_parse 3 Python AST → τ(E) + δ(E) distributions
phi.consistency 4 6 rules → ADMIT/QUARANTINE
phi.embed Core (F, τ, δ) → 30-base hachimoji DNA
phi.output Formats FASTQ, Adleman graph, PCR protocol

DNA Layout (30 bases)

bases  0-7:   F(E) — byte-class frequencies on Δ₇
bases  8-15:  τ(E) — parse tree node-type frequencies
bases 16-23:  δ(E) — child-ordering frequencies
bases 24-29:  Layer 4 consistency (G=pass, T=fail)

External Integration

  • BioComputing (https://github.com/Abesuden/BioComputing, MIT): Our phi.output.to_adleman_graph() builds vertices+edges that feed directly into hampath.connectNodes() and sattv.createNodes(). Clone it alongside BioSight for wet-lab DNA sequence generation.

Key References

  • Adleman (1994) Science 266:10211024 — 7-vertex Hamiltonian path
  • Lipton (1995) Science 268:542545 — SAT generalization
  • Hoshika et al. (2019) Science 363:884887 — 8-base hachimoji alphabet
  • Newton et al. (1989) Nucleic Acids Res 17:2503 — allele-specific PCR

Build & Test

cd python
python3 -m py_compile phi/*.py equation_dna_encoder.py
python3 -c "import phi; print(phi.encode_phi('x + 1 = 2'))"

SilverSight Relationship

BioSight is the first domain instance of the SilverSight framework. SilverSight (/home/allaun/SilverSight) owns all formal Lean logic.

  • BioSight imports SilverSight receipts; it never contains formal proofs.
  • BioSight feeds (τ, δ) distributions back to SilverSight as the work queue for new gates (high-δ equations → WF-recursive gate; high-τ → wider typeclass).
  • If BioSight needs a new theorem or receipt, open a pending gate entry in dag/graph.md and implement the gate in formal/SilverSight/ first.
  • ~/Research\ Stack is read-only archive — consult it only as a regression oracle; never reference it as an active dependency.