Skip to content

Latest commit

 

History

History
85 lines (64 loc) · 8.82 KB

File metadata and controls

85 lines (64 loc) · 8.82 KB

Claims Audit — bio_inspired_nanochat

Bead: bio_inspired_nanochat-8j9.1 · Owner: TurquoiseFinch · Last updated: 2026-06-10

Maps every public/marketing claim (README, planning docs) to a verified implementation status with file:line evidence and the bead that closes each gap. This is the reference all other "Truth & Integrity" tasks (8j9.3 README rewrite, 8j9.6 parameter census) act on.

Status legend

  • SOLID — fully implemented and on the live model path.
  • PARTIAL — exists but limited, not wired into the live path, or test-only.
  • ASPIRATIONAL — claimed but absent, dead, or only a research/roadmap item.

Methodology: a draft inventory was generated by a search agent, then every contested status was re-verified by hand against the source (the agent mis-rated several — e.g. it claimed tune_bio_params.py "does not exist" and rated the "bank-account economy" and "three kernel backends" as SOLID; all corrected below). Line numbers are from the working tree at the date above and will drift.


Presynaptic biophysics

Claim Status Evidence Closing bead
Hill-equation release Syt(C)=C/(C+Kd), Syt1/Syt7 mix (0.7/0.3) + Doc2 SOLID synaptic.py:491 _faithful_release_prob (exact 0.7·fast+0.3·slow+Doc2); verified numerically to 6 digits — (closed 2gjl)
The live attention path runs the faithful release (not the legacy sigmoid) SOLID synaptic.py:1407 standard path calls release_canonical; legacy release() only on the off-by-default flex path — (closed ukxt); flex on s3w9
Calcium integrator with buffer ODE; tau_c decay SOLID synaptic.py:513 release_canonical (BUF ODE active); tau_c unified as exp(-1/τ) across all paths — (closed x6z4)
RRP depletion / "fatigue & boredom" frequency penalty SOLID release_canonical scatter updates RRP; init_rrp, priming, endo DELAY queue all present
Endocytosis delay queue (ring buffer) SOLID synaptic.py build_presyn_state DELAY=[...]; endo_delay, rec_rate consumed in the state update
Stochastic vesicle release (Gumbel-Sigmoid / straight-through / normal-reparam STE) SOLID synaptic.py:58 _sample_binomial_counts (3 modes); exercised in release_canonical when stochastic_train_frac>0
Septin-like distance barrier PARTIAL applied at the attention logit level (global q_pos−k_pos), not a local windowed per-vesicle inhibition as the prose implies 8j9.3 (reframe)

Postsynaptic / Hebbian learning

Claim Status Evidence Closing bead
Online Hebbian learning during training SOLID synaptic.py:233 plasticity_during_training=True; :1155 run_plasticity runs with grad enabled; deferred autograd-safe writes :1074 — (closed vg9.2)
Low-rank eligibility traces (rank-R U/V) PARTIAL u_buf/v_buf buffers + outer-product consolidation exist, but the rank-R structure is degenerate (mean-broadcast, not genuine rank-R) vg9.9
CaMKII/PP1 consolidation gate SOLID (opt-in) default gate is g = sigmoid(camkii−0.5)−0.3 (PP1 not in it); bistable_latch (sax.2) switches it to sigmoid(β·(CaMKII−PP1)) — PP1 IN the gate — (closed sax.2)
Bistable CaMKII/PP1 latch (hysteresis / self-excitation) SOLID (opt-in) sax.2: Lisman switch — CaMKII Hill autophosphorylation + mutual PP1 cross-inhibition over a basal floor; demonstrated bistability/hysteresis/erasure in tests/test_bistable_latch.py. Behind bistable_latch (default-off) — (closed sax.2); cusp variant 0642.2.x
BDNF metaplasticity (activity-dependent LR) SOLID synaptic.py:891+ BDNF accumulator; consolidate modulates post_slow_lr by (1+γ·BDNF)

Structural plasticity / MoE

Claim Status Evidence Closing bead
MoE split/merge/reset lifecycle SOLID synaptic_splitmerge.py SplitMergeController; optimizer-moment reset across all optimizers (closed vg9.3)
Health = utilization × energy drives lifecycle SOLID synaptic_splitmerge.py:393 _health = util·energy; gates split/merge/reset
Per-expert genome Xi (4-D) → phenotype decoder SOLID synaptic.py:248 xi_dim=4; phenotype decoder maps Xi → kinetic biases
NeuroScore evolutionary credit assignment drives split/merge SOLID (opt-in) de5l: NeuroScore.step publishes a per-expert composite fitness onto each MoE (last_neuroscore); SplitMergeController._health blends it into every split/merge/reset decision behind use_neuroscore (default-off) — (closed de5l)
Router embeddings + lateral-inhibition update SOLID fkkc: SynapticMoE.forward runs a per-forward similarity-weighted repulsion that pushes similar router embeddings apart to drive specialization (gated by router_contrastive_lr/_push). The earlier block was wired but ineffective — a diagonal-only co-occurrence matrix zeroed its pull term; it did not reduce pairwise similarity — (closed fkkc)
"Bank-account economy": taxation / income / bankruptcy / IPO ASPIRATIONAL zero code references to bankruptcy/IPO/bank-account/tax; only generic energy metabolism (energy_cost_*) exists 8j9.3 (reframe to "energy metabolism")

Kernels & performance

Claim Status Evidence Closing bead
Three kernel backends (Triton GPU / Rust CPU / Python ref) PARTIAL files exist (kernels/, rust_src/src/presyn.rs) but only a default-False native_presyn flag (synaptic.py:257); no live dispatch — the live release_canonical is pure PyTorch; kernel tests skip (rustbpe unbuilt) jyb.1/jyb.2/jyb.6
Kernels target the documented (faithful) equations PARTIAL forward() (the kernel reference) is faithful, but kernels were written against it, not yet the canonical top-k path 8j9.4, jyb.*
"90%+ GPU utilization (dual 4090)" ASPIRATIONAL a stated roadmap target; no benches/guardrails in code j9i, r2d
FlexAttention O(N) memory PARTIAL synaptic.py flex path exists but prefill-only (explicitly no KV-cache decode); not usable for efficient generation s3w9, zsi
Logit softcap (15·tanh, parity with vanilla) SOLID gpt_synaptic.py:44 logit_softcap=15.0; :286 sc*tanh(logits/sc) on both paths — (closed vg9.1)

Config, tuning & measurement

Claim Status Evidence Closing bead
CMA-ES hyperparameter optimization of bio params SOLID scripts/tune_bio_params.py exists (59 KB, CMA-ES + TOP10_PARAM_SPECS); tau_c spec corrected for the canonical regime (x6z4)
"48-parameter genome" ASPIRATIONAL (claim drift) SynapticConfig now has 70 fields8j9.5 pruned the 6 dead ones, so all 70 are live. The learned "genome" is 4-D (xi_dim); only 10 are CMA-ES-tuned. Machine-verified in docs/parameter_census.md — (closed 8j9.6/8j9.5)
Feature toggles for clean ablation SOLID enable_presyn/enable_hebbian/enable_metabolism/use_flex_attention; presyn early-returns when disabled

Most significant remaining gaps (priority order)

  1. "Bank-account economy / bankruptcy / IPO" has no code. → reframe to "energy metabolism + health-based lifecycle" in 8j9.3.
  2. Three kernel backends / 90% util — kernels exist as files but aren't on the live path. → jyb.*, perf beads.

Resolved since the original audit

  • NeuroScore now drives the lifecycle (de5l): published onto each MoE and blended into split/merge/reset health behind use_neuroscore.
  • Router lateral-inhibition fixed (fkkc): the wired-but-ineffective update was replaced with an effective similarity-weighted repulsion that demonstrably spreads router embeddings.
  • "48-parameter genome" reconciled (8j9.6 census + 8j9.5 prune, then sax.2 added the latch knobs): 82 live config fields, 0 dead; machine-verified census committed.
  • Bistable CaMKII/PP1 latch implemented (sax.2): real Lisman switch with hysteresis + PP1 in the gate, behind bistable_latch (default-off), demonstrated in tests.

Recently CLOSED gaps (this audit records the wins)

  • ✅ Online Hebbian learning now runs during training (vg9.2) — was inert behind not torch.is_grad_enabled().
  • ✅ The live attention path now runs the faithful Hill release; README equations match (2gjl/ukxt) — was the legacy sigmoid while docs described Hill.
  • tau_c unified as an exp time-constant with a sensible default (x6z4) — was overloaded (raw vs exp) and silently weakening calcium memory ~7×.
  • ✅ Logit softcap parity (vg9.1); optimizer-moment reset across all optimizers on split/merge (vg9.3); bounded log-release attention bias (vg9.5).