SilverSight/python/equation_dna_encoder.py
allaun 1794299a6c chore(quality): native_decide migration, docs, and phi pipeline cleanup
Systematic native_decide → dec_trivial/rfl migration across all Lean modules
to comply with AGENTS.md rule 5 (no native_decide unless only option):
- CoreFormalism: BraidEigensolid, BraidField, ChentsovFinite, HachimojiBase,
  HachimojiBridging, HachimojiCodec, HachimojiLUT, HachimojiManifoldAxiom,
  Q16_16Numerics
- BindingSite: BindingSiteCodec, BindingSiteEntropy, BindingSiteHachimoji
- SilverSight: ProductSchema, ProductWireFormat, PolyFactorIdentity, Schema, WireFormat
- PVGS_DQ_Bridge: all three files (native_decide->dec_trivial)
- UniversalEncoding/ChiralitySpace

Additional changes:
- gemma4_mcp.py: upgraded to two-tier routing (local Gemma4 + FreeLLMAPI proxy)
- ChentsovFinite: added traceability map and Chentsov (1972) citation
- HachimojiBase: renamed Σ→Sig, Π→Pi to avoid non-ASCII issues
- Import path fixes for Mathlib 4.30.0-rc2 compatibility
- Doc updates: PURE_FORMULAS, SOS_CERTIFICATE, fundamental math derivations
- Build log: 2026-06-26 session findings
- BRKGLASS_NR_BRACKET_PROPOSAL: updated to REAL-DATA VALIDATED status
- New docs: FOUNDATIONAL_GUIDANCE, PURE_EQUATION_MAP, CHENTSOV_FINITE_MATH,
  BREAKGLASS_FUSION_REVIEW_SPEC, COLD_REVIEWER_FORMULA
- New python: phi pipeline (equation_dna_encoder, ast_parse, charclass,
  consistency, embed, output), nr_bracket_validation with receipt

Build: lake build SilverSightRRC — passes on all committed modules.
  Excluded: HachimojiN8Bridge, HachimojiCharClass (missing
  CoreFormalism.HachimojiManifoldAxiom olean — WIP)
2026-06-27 01:56:54 -05:00

43 lines
1.1 KiB
Python

#!/usr/bin/env python3
"""
equation_dna_encoder.py — SilverSight Φ Encoder CLI
Thin CLI wrapper around the phi package modules.
Usage:
echo 'd_F(p,q) = 2*arccos(sum(sqrt(p_i*q_i)))' | python equation_dna_encoder.py
python equation_dna_encoder.py 'E(x) = x^T Q x'
"""
from __future__ import annotations
import sys
from phi import encode_phi, to_fastq
def main():
if len(sys.argv) > 1:
equations = [" ".join(sys.argv[1:])]
else:
equations = [line.strip() for line in sys.stdin if line.strip()]
for eq in equations:
result = encode_phi(eq)
if result is None:
print(f"FAIL: could not parse: {eq!r}", file=sys.stderr)
continue
print(f"# Equation: {result['equation']}")
print(f"# DNA: {result['dna_sequence']} ({result['length']} bases)")
print(f"# PASS: {result['consistency_pass']}")
print(f"# Hash: {result['sha256_prefix']}")
print(f"# F: {result['F']}")
print(f"# τ: {result['tau']}")
print(f"# δ: {result['delta']}")
print(f"# FASTQ: {to_fastq(result).rstrip()}")
print()
if __name__ == "__main__":
main()