diff --git a/elements/neuron/appunti/2026-06-21-biological-reference_v12.md b/elements/neuron/appunti/2026-06-21-biological-reference_v12.md deleted file mode 100644 index 43385b6..0000000 --- a/elements/neuron/appunti/2026-06-21-biological-reference_v12.md +++ /dev/null @@ -1,339 +0,0 @@ -# Tripartite Synapse — Biological Reference (companion to v12 pseudocode) - -> Companion to `tripartite_synapse_v12_pseudocode.md`. Explains the biology each variable and -> behavior conflates. Variable meanings are unchanged; v12 only refined the pseudocode -> grammar (SENSE→TRACE, new ADJUST group, EVALUATE reordered before ADJUST/DECAY, NIGHT -> labeled with the same groups, aligned group headers). The ADJUST group makes explicit the -> step where a component computes its operating parameters — release drive, firing threshold, -> propagation reliability, lactate-allocation weights — from its structure, its current -> traces, and arrived neuromodulators, before it acts. -> conflates biologically. The pseudocode aggregates many molecular details into single -> variables for clarity; here each aggregation is unpacked. Read the pseudocode for the -> logic; read this when you need to know what a variable physically represents. - ---- - -## The three synaptic components and their support structures - -A SYNAPSE is composed of three first-class components: -- **PRE** — presynaptic bouton (the axon's terminal at this synapse) -- **POST** — postsynaptic spine (the dendrite's terminal at this synapse) -- **ASTRO** — astrosynapse, the perisynaptic astrocytic process (the astrocyte's terminal) - -Each has an upstream support structure that supplies it: -- **AXON** supplies PRE (transmission + transport from soma) -- **DEND** supplies POST (integration + transport from soma) -- the **astrocyte cell body** supplies ASTRO (energy + ECM material) -- **SOMA** is the integrating center and the root of neuronal material - -The compartment analogy: AXON:PRE = DEND:POST = astrocyte-body:ASTRO = supply line : terminal. - ---- - -## Resource variables - -### DAY budget (one per component) -Aggregates fast energy AND fast consumables — everything needed to run moment-to-moment. - -- **pre_budget** — ATP for VGCC gating, vesicle fusion (SNARE), VATPase vesicle refill, - plus fast consumables: vesicle membrane lipids, synaptotagmin recycling. -- **post_budget** — ATP for the NaK pump (membrane reset after current), NMDA current - handling, plus fast actin monomers for transient spine changes and receptor-recycling lipids. -- **dend_budget** — ATP for bAP propagation (NaK reset along branch), local translation - (ribosome running cost), SERCA Ca²⁺ resequestration, plus fast mRNA consumed by translation. -- **soma_budget** — ATP for AP generation (Na⁺/K⁺ currents + NaK reset), CREB - phosphorylation, nuclear Ca²⁺ handling, plus shipping running costs. -- **axon_budget** — ATP for AP propagation at nodes of Ranvier, kinesin/dynein motor - running cost, fast myelin maintenance. -- **astro_central_budget** — ATP from glycolysis at the astrocyte cell body; funds EAAT - clearance, serine→D-serine synthesis, lactate export, fast process motility. - -### astro_lactate[i] -Lactate exported from the astrocyte cell body to synapse i. Biologically: glucose → -(glycolysis) → lactate, released into extracellular space, absorbed by neuronal MCT2 -transporters, converted to pyruvate → TCA → ATP in the neuron's mitochondria. The astrocyte -is the primary fast-energy supplier to pre, post, and dend. - -### NIGHT energy (one per component) — NOT recoverable -ATP for structural assembly. Distinct from DAY budget because it is spent on building, and -the work of assembly is thermodynamically gone once done (cannot be recovered by disassembly). -- pre_energy: RIM/Munc13 incorporation, VGCC clustering. -- post_energy: CaMKII anchoring, actin polymerization, PSD scaffold remodeling. -- dend_energy: mitochondria incorporation, cytoskeletal reinforcement. -- soma_energy: ribosome biogenesis, ion-channel incorporation. -- axon_energy: myelination, microtubule stabilization. -- astro_energy: process retraction, ECM secretion, racemase upregulation. - -### NIGHT material (one per component) — RECOVERABLE -Slow structural proteins. Recoverable because disassembly (LTD) returns the proteins to a -reusable pool (ubiquitin-proteasome → amino acids; internalized receptors → endosomal reserve). -- **soma_material** (root) — all neuronal structural proteins from CREB-driven synthesis: - AMPA subunits, PSD scaffold, AZ scaffold, mRNA transcripts (Arc, BDNF), organelles. -- **dend_material** — from soma: Arc/plasticity mRNA, mitochondria, cytoskeletal proteins, - AMPA subunits in transit to spines. -- **post_material** — from dend: AMPA receptor subunits (GluA1/2), PSD scaffold (PSD-95, - SHANK, Homer), structural actin, CaMKII. -- **axon_material** — from soma: kinesin/dynein motors, microtubule components, myelin proteins. -- **pre_material** — from axon: RIM, Munc13, VGCC subunits, structural vesicle proteins. -- **astro_material** (root: astrocyte cell body) — EAAT proteins, serine racemase, ECM - proteins (Glypicans, Thrombospondins), process cytoskeleton. - -**Why energy and material are separate in NIGHT but combined in DAY:** during DAY both are -fast consumables replenished on the same timescale, so one `budget` variable suffices. During -NIGHT they diverge — material is recoverable after LTD, energy is not — so they must be two -variables. This asymmetry (material returns to the pool, energy is gone) is what makes one -synapse's depression genuinely fund another's potentiation. - ---- - -## Structural variables (strength ceilings — written in NIGHT) - -Each aggregates several correlated structural properties into one capacity. - -- **pre_structure** — active zone capacity: - slot_ceiling (number of vesicle docking slots) + VGCC_coupling (Ca²⁺-channel proximity to - slots, sets release efficiency) + refill_ceiling (max RRP replenishment rate). -- **post_structure** — spine sensitivity capacity: - slot_ceiling (number of PSD anchoring slots for AMPA) + spine_volume (local reserve and - actin machinery) + reserve_ceiling (endosomal AMPA pool size). -- **dend_structure** — branch capacity: - bAP_fidelity(position) (mitochondrial density sets propagation strength, attenuates with - distance) + translation_ceiling (local mRNA capacity) + transport_speed (cytoskeletal integrity). -- **soma_structure** — somatic output capacity: - baseline_threshold (inverse: ion-channel density at axon initial segment) + AP_reliability - (Na⁺ channel density) + synthesis_ceiling (ribosome density + CREB machinery). -- **axon_structure** — axonal capacity: - propagation reliability (myelination density) + transport_ceiling (motor density + microtubule - integrity) + mitochondrial density. -- **astro_structure** — astrosynaptic environmental capacity: - perisynaptic_distance⁻¹ (wall proximity — closer = more glutamate contained) + EAAT_density - (clearance ceiling) + Dserine_tonic (baseline co-agonist) + ECM_integrity. - **Self-reinforcing both directions:** tighter wrap + more tonic D-serine make future - potentiation easier; looser wrap + zero tonic D-serine make future depression easier. - ---- - -## Budget ceilings (endurance ceilings — written in NIGHT) - -- **{component}_budget_ceiling** — the maximum fuel the component can hold / the maximum - duration of sustained behavior. Biologically: mitochondrial density and local fuel-storage - capacity. Built by activity-driven mitochondrial biogenesis; lost by mitophagy when idle. - Parallel to structure: structure is strength capacity, budget_ceiling is endurance capacity. - ---- - -## Trace variables - -### fast_trace (one per component) — DAY only, decays automatically -The local record of recent activity that biases the next behavior. -- **pre_fast_trace** — residual presynaptic Ca²⁺ after spikes (τ≈100ms). Biases NT release - (facilitation) and provides tagging eligibility. -- **post_fast_trace** — spine Ca²⁺ amplitude × rise-speed (τ≈tens ms). Encodes the LTP-vs-LTD - instruction (fast rise → CaMKII → potentiation; slow rise → phosphatase → depression). -- **dend_fast_trace** — branch Ca²⁺ from bAP + spine spillover (τ≈300ms). Integrates branch co-activity. -- **soma_fast_trace** — nuclear Ca²⁺ from each AP (τ≈seconds). Drives toward CREB activation. -- **axon_fast_trace** — propagation load (τ≈seconds). High load → Na⁺ inactivation at branch - points → propagation failure (this is axonal short-term depression). -- **astro_fast_trace** — perisynaptic Ca²⁺ from mGluR5 activation by glutamate spillover - (τ≈seconds). Drives D-serine release. - -### soma timing traces (emergent refractory + adaptation + alignment) -- **soma_Na_inactivation** (τ≈ms) — sodium-channel inactivation after an AP. Its recovery IS - the refractory period (emergent, not a hardcoded timer). High → absolute refractory; decaying - → relative refractory; recovered → normal. -- **soma_adaptation** (τ≈100s of ms) — slow K⁺ channel (SK/M-type) activation accumulating - over a spike train, raising threshold. This is spike-frequency adaptation. -- **soma_refractory_alignment** — deposited when a suprathreshold input arrives during - refractoriness (a missed coincidence). Speeds future recovery so the soma aligns to its input - rhythm. Bottom-up: no rhythm is represented; alignment emerges from accumulated local - mismatches and decays when mismatches stop (self-limiting). - -### possible_tag (one per component) — intermediate, τ≈s–min -Graded accumulation of tagging eligibility. For POST, this is the CANDIDATE tag lifetime. - -### endurance_need (one per component) — intermediate, τ≈s–min -Deposited when budget depletion interrupts a behavior that was on a LOCALLY successful -trajectory. Records that fuel — not structure, not significance — was the binding constraint -on a forming success. Requires NO dopamine (homeostatic, not associative). -**Local success proxy per component** (each uses only its own state + arrived signals): -- PRE: own fast_trace high (was releasing strongly), optionally amplified by retrograde - messenger (endocannabinoid / NO / BDNF) that has arrived. -- POST: own Ca²⁺ climbing toward tagging threshold (naturally local). -- DEND: own branch strongly active (high branch voltage/Ca²⁺) when propagation fell short. -- SOMA: own nuclear Ca²⁺ climbing toward CREB. -- AXON: own propagation load high (was carrying a strong train). -- ASTRO: own local glutamate/Ca²⁺ high (was under heavy clearance/D-serine demand). - -### tag (one per component) — DAY→NIGHT bridge, τ≈hours -The validated record of significance that survives to NIGHT and gates strength commits. -Formed by coincidence of local eligibility + non-local validation (dopamine). -**POST is special — two-phase, three coincidences:** -- CANDIDATE: local Ca²⁺ above threshold + astrosynapse D-serine present (coincidence 1). -- amplified when bAP confirms soma fired (coincidence 2). -- STABLE: CANDIDATE + dopamine within stabilization window (coincidence 3). -Biologically: early CaMKII creates a labile tag (early-LTP); PKA driven by dopamine via D1R -stabilizes it (late-LTP). Without dopamine, the candidate degrades — early-LTP reverses. - ---- - -## Behaviors — biological meaning - -### PRE | AP — neurotransmitter release -`NT_flux = RRP × sat(pre_fast_trace, K_release)` models continuous NT release proportional to -the readily-releasable pool and a saturating Ca²⁺ drive (synaptotagmin's cooperative Ca²⁺ -sensitivity, simplified to a saturating curve). RRP depletes as released (short-term depression -as a consequence) and refills via VATPase (energy-throttled, so low budget deepens depression). -The mGluR2/3 brake is presynaptic autoinhibition by spillover (Gi → reduced VGCC opening). - -### POST | NOT_bAP — three calcium sources, two plasticity cases -- **Source 1 (AMPA):** glutamate opens AMPA → depolarizing current + small Ca²⁺; the - depolarization begins ejecting the NMDA Mg²⁺ block. -- **Source 2 (NMDA):** if depolarized enough (Mg²⁺ ejected) AND D-serine present (astrocyte - co-agonist) AND glutamate bound → large Ca²⁺ influx. This is the coincidence detector. -- **Source 3 (bAP, separate context):** back-propagating AP adds depolarization + Ca²⁺, - amplifying an existing signal supralinearly. -- **Case 1 (STP):** high Ca²⁺ drives AMPA receptors from the local reserve to the surface, - bounded by the anchoring-slot ceiling. Fast, reversible, NO dopamine. When Ca²⁺ falls, - receptors drift back — short-term depression as a passive consequence, never signaled. -- **Case 2 (LTP tag):** high Ca²⁺ + (later) dopamine sets the tag that NIGHT uses to raise the - slot ceiling. NIGHT builds slots; DAY fills them. - -### DEND | bAP — bidirectional signaling -Propagates the bAP from soma toward spines (fidelity attenuates with distance — distal spines -get weaker confirmation, are harder to potentiate) and integrates spine signals toward the soma. - -### SOMA | AP — integration, firing, emergent timing -Fires when integrated branch input exceeds a threshold that is the baseline (from structure) -raised by adaptation and modulated by neuromodulators, gated by the emergent refractory state. -Each AP deposits three traces (inactivation → refractory, adaptation → threshold rise, nuclear -Ca²⁺ → plasticity). The soma is the coincidence detector at the cellular scale (nuclear Ca²⁺ + -dopamine → CREB), and the production bottleneck: its tag gates how much material all downstream -components get in NIGHT. - -### AXON | AP — reliable propagation with frequency-dependent failure -Propagation reliability is set by myelination and degraded by high-frequency load (Na⁺ -inactivation at branch points = axonal STD). The axon also transports material to boutons and -sets the timescale of presynaptic structural commits. - -### ASTRO | CONTINUOUS — gatekeeper and energy hub -Clears glutamate (EAAT), supplies D-serine (the NMDA co-agonist that gates postsynaptic LTP), -and distributes lactate to the territory by demand-weighting (active synapses generating more -clearance load pull more fuel; slow synapses get less). The same spillover that excites the -astrocyte (mGluR5 → Ca²⁺ → D-serine) also brakes the presynapse (mGluR2/3 → Gi) — one signal, -opposite effects via different receptors. The astrocyte is the energy root and the gain control -of the whole synapse. - ---- - -## NIGHT operations — biological meaning - -- **Step 1 (replenish/distribute):** overnight protein synthesis peaks (CREB-driven, gated by - soma_tag — corresponds to slow-wave-sleep replay). Soma material flows to branches/axon then - spines/boutons; astrocyte material flows to astrosynapses, tag-weighted. -- **Step 2 (strength commits):** tagged components build structure — more slots, tighter - coupling, tighter astrosynaptic wrap. Coherence bonus when pre+post+astro all tagged (the - whole synapse agrees). astro_structure self-reinforces. -- **Step 2b (endurance commits):** components with high endurance_need build budget_ceiling — - mitochondrial biogenesis. Competes with step 2 for the same material/energy. -- **Step 3 (passive decay):** both ceilings decay; maintenance from the remaining pool resists - decay only where sufficient. Depotentiation and endurance-loss are both by neglect — no - signal weakens anything; unmaintained capacity simply drifts down. Recovered material (not - energy) returns to pools. -- **Step 4 (homeostatic scaling):** if the soma fired too much overall, all synapses scale down - proportionally (sleep-associated global downscaling), preserving relative differences. -- **Step 5 (clear traces):** fast traces, possible tags, endurance needs, and soma timing traces - reset; tags below expiry clear, above-expiry tags carry forward (multi-night consolidation); - structure and budget_ceiling persist. - -### Shockwave lockdown -Emergency global astrocytic Ca²⁺ wave → GABA + ATP release → mass AMPA internalization and -hyperpolarization. Bypasses budget gates. A circuit breaker against runaway excitation. - ---- - -## Pool-filling: private reserve vs contested supply - -The pseudocode uses two filling primitives, distinguished by where the resource comes from. - -**`fill` (private reserve).** The pool is replenished from a source the component owns -outright, uncontested by siblings, bounded by the component's own ceiling and a rate cap. -- RRP refill — vesicles mobilized from the bouton's own reserve pool toward the docking-slot - ceiling, rate-limited by VATPase. The reserve is private to the bouton. -- SOMA self-replenish — the soma fuels itself from its own mitochondria toward its budget - ceiling. No other component draws on it. - -**`refill` (contested supply).** The pool is replenished from a supply that multiple -components compete for, rationed by demand (gap to ceiling). -- pre/post/dend/axon budgets — drawn from astrocytic lactate (shared across all synapses the - astrocyte wraps) plus shipment from soma/axon/dendrite (shared across downstream targets). - -**Neither primitive (their own forms).** Some inflows are not fills toward a ceiling: -- AMPA surface insertion — Ca²⁺-driven rate from the spine's private endosomal reserve, with - an explicit passive drift-back (short-term depression) when Ca²⁺ is low. Not a steady fill. -- D-serine release — demand-driven (saturating in astro Ca²⁺) and budget-limited, like NT - release; a release process, not a pool top-up. -- Root productions — `glycolysis(glucose)` at the astrocyte and `CREB_synth(soma_tag)` at the - soma are the system's energy and material roots: raw inflows capped only by the external - vascular supply, not fills toward an internal ceiling. - -The distinction matters biologically: a private reserve guarantees a component some autonomy -(the bouton can refill its RRP from its own vesicles even when lactate is scarce), while a -contested supply couples a component's fate to its neighbours' demands (operational budget -fails first where many active synapses compete for the same lactate). - ---- - -## PRE ↔ POST interaction: local computation, message-only coupling - -The presynapse and postsynapse never read each other's internal state. They interact only -by writing to and reading from shared cleft channels. Each side computes entirely locally on -what it has: its own variables plus whatever signals have arrived in the cleft. This is the -message-passing realization of the locality principle. - -**Forward channel — glutamate (PRE → POST and ASTRO).** The presynapse writes glutamate via -NT_flux. The postsynapse reads it (AMPA, NMDA) and the astrosynapse reads it (clearance, -mGluR5). The astrosynapse clears it. PRE never knows whether POST responded — it only emits. - -**Gate channel — astro_Dserine (ASTRO → POST).** The astrosynapse writes D-serine; the -postsynapse reads it as the obligatory NMDA co-agonist. POST cannot open NMDA without this -arrived signal, but it does not read the astrocyte's state — only the delivered D-serine. - -**Backward channel + — retro_NO (POST → PRE).** When the postsynapse's NMDA opens (Mg²⁺ -ejected, D-serine present, glutamate bound), nNOS — physically tethered to the NMDA receptor -through PSD-95 — synthesises nitric oxide (and, on a slower timescale, BDNF is released). -These diffuse retrogradely to the presynapse. Biologically this is the classic retrograde -messenger of LTP: it tells the bouton that its release landed on a postsynapse that genuinely -responded. In the model, POST emits `retro_NO` proportional to its own NMDA-driven calcium — -computed purely from POST's local state — and PRE reads it as `retro_NO_local`. - - `retro_NO_local` is exactly the grounding of the presynaptic endurance signal. The - presynapse's local success proxy is "I was releasing strongly" (`pre_fast_trace` high). On - its own that only says the bouton was working hard, not that the work mattered. `retro_NO` - adds the missing confirmation — that the postsynapse responded — without PRE ever reading - POST's calcium. So PRE deposits endurance need as `pre_fast_trace × (1 + retro_NO_local)`: - strong release that was confirmed effective makes the strongest claim that fuel, not - futility, was what interrupted a forming success. retro_NO is short-lived (NO degrades and - diffuses within seconds), so the channel decays fast — confirmation must be recent to count. - -**Backward channel − — retro_eCB (POST → PRE).** When the postsynapse is strongly -depolarised, it synthesises endocannabinoids (2-AG, anandamide) that diffuse retrogradely and -bind presynaptic CB1 receptors, suppressing release. This is depolarisation-induced -suppression of excitation (DSE) — a homeostatic negative feedback: an over-driven postsynapse -tells the presynapse to release less. In the model, POST emits `retro_eCB` from its own -membrane potential, and PRE reads it as `retro_eCB_local`, which reduces the release drive -`sat(...) × (1 - retro_eCB_local)`. Again POST computes from its own state; PRE adjusts from -the arrived signal; neither reads the other's interior. - -The two backward channels are opposite-signed messages the postsynapse sends about its own -condition: retro_NO says "your input was effective — worth sustaining," retro_eCB says "I am -saturated — ease off." Together with the forward glutamate and the D-serine gate, they make -the synapse a fully message-coupled system of locally-computing components. - -**Why RRP refill is in NOT_AP only.** During an AP the bouton releases — RRP depletes. Refill -(VATPase reloading vesicles from the reserve pool) is a recovery process that proceeds between -spikes. Placing `fill(RRP, ...)` only in the NOT_AP context makes the AP context pure -depletion and the NOT_AP context pure recovery. A consequence falls out for free: during -sustained high-frequency firing there are many AP steps and few NOT_AP steps, so RRP depletes -faster than it recovers — short-term depression deepens with frequency, with no explicit -depression rule. The release itself is throttled further when budget is low (VATPase refill -is energy-limited), coupling metabolic state to the depth of depression. diff --git a/elements/neuron/appunti/2026-06-21-tripartite-synapse_v12.md b/elements/neuron/appunti/2026-06-21-tripartite-synapse_v12.md deleted file mode 100644 index 1373c72..0000000 --- a/elements/neuron/appunti/2026-06-21-tripartite-synapse_v12.md +++ /dev/null @@ -1,442 +0,0 @@ -# Tripartite Synapse — Pseudocode v12 - -> Companion: `tripartite_synapse_v12_biology.md`. -> Changes from v11: SENSE renamed TRACE; new ADJUST group (compute local operating -> parameters from structure + traces + modulators); reference order puts EVALUATE before -> ADJUST and DECAY; NIGHT labeled with the same group grammar; all `// GROUP` headers sit -> at one indentation column so they stand out. - ---- - -## Functional groups (uniform grammar, applied within each context) - -``` -RECEIVE take in resources + signals that arrived from outside -EVALUATE judge behavior — strength (needs dopamine) + endurance (interrupted success) -ADJUST compute local operating parameters from structure + traces + modulators -BEHAVE the component's defining action, using the adjusted parameters -EMIT send out — signals (messages) and resources (shipments) across the boundary -TRACE deposit the fast trace that records the behavior -RECOVER refill own private pools consumed by behaving -DECAY let traces recede, closing their windows -``` -Groups sit inside the DAY contexts (Option A). Execution contexts (AP/bAP/CONTINUOUS) carry -ADJUST/BEHAVE/EMIT/TRACE and endurance-EVALUATE; replenishment contexts (NOT_AP/NOT_bAP) -carry RECEIVE/strength-EVALUATE/RECOVER/DECAY. Not every component uses every group. Group -order within a context follows data dependencies (e.g. where a fast trace both drives a -behavior and records it, TRACE precedes ADJUST). NIGHT runs the same grammar on ceilings. - ---- - -## Conventions - -``` -SCOPE = {DAY, NIGHT} CONTEXT = {AP, NOT_AP, bAP, NOT_bAP, CONTINUOUS} - -DAY budget · fast_trace · possible_tag · endurance_need -BRIDGE tag (POST: CANDIDATE→STABLE) -NIGHT energy (not recoverable) · material (recoverable) · structure · budget_ceiling - -LOCALITY only local state + arrived signals; no component reads another's internal state. - -CLEFT MESSAGE CHANNELS SHIPMENT CHANNELS - glutamate PRE → POST, ASTRO soma_ship_dend SOMA→DEND - astro_Dserine ASTRO → POST soma_ship_axon SOMA→AXON - retro_NO POST → PRE (+) dend_ship_post DEND→POST - retro_eCB POST → PRE (−) axon_ship_pre AXON→PRE -``` - ---- - -## Primitives (return the increment; caller applies it) - -``` -sat(x, K) = x / (K + x) - -fill(pool, ceiling, rate, cost, budget) -> amount: // PRIVATE reserve - amount = min(rate, ceiling - pool)·Δt; budget -= amount·cost; return amount - -refill(c from supply S) -> amount: // CONTESTED supply - demand = c.budget_ceiling - c.budget - factor = min(1, S / (Σ demand over components on S + ε)); S -= demand·factor - return demand·factor - -ship(from_budget, demand_sig, frac, cost) -> amount: // DIRECTED transfer - amount = min(from_budget·frac, demand_sig); from_budget -= amount·(1+cost); return amount -``` - ---- - -## SHARED parameters - -``` -dopamine NE ACh // organism broadcasts (external) -glucose geometry // physical (external) -elig dop_thr tag_thr tag_expiry // strength gates (universal) -traj_thr endur_thr // endurance gates (universal) -decay_rate capacity_decay_rate recycle homeostatic_ceiling -coherence_factor assembly_cost biogenesis_cost maint_cost -``` - ---- ---- -# DAY ---- - -## PRE - -``` -// PARAMETERS K_release · release_cost · fusion_cost · vatpase_cost · spillover · brake -// INTERFACE -// EMIT glutamate → POST, ASTRO -// RECEIVE astro_lactate[syn] ← ASTRO ; axon_ship_pre ← AXON ; retro_NO, retro_eCB ← POST -// pre_material ← AXON(NIGHT) ; pre_energy ← SOMA(NIGHT) -// READ glutamate (own cleft, autobrake) ; dopamine (gates tag) -// OWN pre_structure{slot_ceiling, VGCC_coupling, refill_ceiling} ; pre_budget_ceiling -// EMERGENCY shockwave_lockdown ← ASTRO - -DAY | AP: - // TRACE (residual Ca²⁺ from this spike — also drives release) - pre_fast_trace += spike_Ca(input_freq) - // ADJUST (release drive from trace + received DSE brake) - drive = sat(pre_fast_trace, K_release) × (1 - retro_eCB_local) - // BEHAVE (release or fail) - if pre_budget < release_cost: - suppress(NT_flux) - if pre_fast_trace > traj_thr: // EVALUATE (endurance): retro_NO-confirmed - pre_endurance_need += pre_fast_trace × (1 + retro_NO_local) - exit - if RRP > 0: - NT_flux = RRP × drive; RRP -= NT_flux·Δt; pre_budget -= NT_flux·fusion_cost - // EMIT - glutamate += NT_flux·Δt - if glutamate > spillover: drive *= brake // own-cleft autobrake - -DAY | NOT_AP: - // RECEIVE - retro_NO_local = retro_NO; retro_eCB_local = retro_eCB - pre_budget += refill(pre from astro_lactate[syn] + axon_ship_pre) - // EVALUATE (strength) - if pre_fast_trace > elig: pre_possible_tag += pre_fast_trace - if dopamine > dop_thr and pre_possible_tag > tag_thr: - pre_tag += dopamine × pre_possible_tag - // RECOVER (RRP from private reserve) - RRP += fill(RRP, pre_structure.slot_ceiling, pre_structure.refill_ceiling, vatpase_cost, pre_budget) - // DECAY - pre_fast_trace *= decay(100ms); pre_possible_tag *= decay(s) - pre_endurance_need *= decay(min); pre_tag *= decay(hr) - dopamine *= decay(ms); retro_NO *= decay(s); retro_eCB *= decay(s) -``` - ---- - -## POST - -``` -// PARAMETERS K_AMPA · AMPA_Ca · AMPA_cost · NMDA_cost · bAP_cost · pka_cost · traffic_cost -// req_cost · Mg_eject · Dserine_thr · Ca_STP · Ca_TAG · eCB_thr · drift · baseline -// NO_synth_cost · eCB_synth_cost -// INTERFACE -// EMIT retro_NO (+), retro_eCB (−) → PRE -// RECEIVE astro_lactate[syn] ← ASTRO ; dend_ship_post ← DEND -// post_material ← DEND(NIGHT) ; post_energy ← SOMA(NIGHT) -// READ glutamate ← PRE ; astro_Dserine ← ASTRO ; bAP (dend_structure.bAP_fidelity) ; dopamine -// OWN post_structure{slot_ceiling, spine_volume, reserve_ceiling} ; post_budget_ceiling -// EMERGENCY shockwave_lockdown ← ASTRO - -DAY | NOT_bAP: - // RECEIVE - post_budget += refill(post from astro_lactate[syn] + dend_ship_post) - // ADJUST (AMPA drive from arrived glutamate) - a = sat(glutamate, K_AMPA) - // BEHAVE (SOURCE 1 AMPA: current + small Ca + begins Mg ejection) - AMPA_current = a × AMPA_surface; Vm += AMPA_current; post_budget -= AMPA_cost - // TRACE (Ca deposited by AMPA) - post_fast_trace += AMPA_Ca·AMPA_current - // BEHAVE (SOURCE 2 NMDA: large Ca on local coincidence) - if Vm > Mg_eject and astro_Dserine > Dserine_thr and glutamate > 0: - post_fast_trace += NMDA_Ca(glutamate)·rise_speed(); post_budget -= NMDA_cost - // EMIT (+) NO/BDNF: "release reached a responsive target" - retro_NO += NO_emit(post_fast_trace); post_budget -= NO_synth_cost - // EMIT (−) endocannabinoid (DSE) when over-driven - if Vm > eCB_thr: retro_eCB += eCB_emit(Vm); post_budget -= eCB_synth_cost - post_fast_trace *= decay(ms) - // BEHAVE (STP: fill slots from private reserve ; else STD drift = consequence) - if post_fast_trace > Ca_STP: - AMPA_surface = min(AMPA_surface + Ca_insert(post_fast_trace), post_structure.slot_ceiling) - post_budget -= traffic_cost - else: - AMPA_surface = max(AMPA_surface - drift·Δt, baseline) - // EVALUATE (endurance: own Ca was climbing toward a tag when fuel failed) - if post_budget < req_cost and post_fast_trace > traj_thr and post_fast_trace_rising: - post_endurance_need += post_fast_trace - // EVALUATE (strength: CANDIDATE then STABLE via dopamine) - if post_fast_trace > Ca_TAG: post_possible_tag += post_fast_trace; post_budget -= pka_cost - if dopamine > dop_thr and post_possible_tag > tag_thr: - post_tag += dopamine × post_possible_tag - // DECAY - post_possible_tag *= decay(min); post_endurance_need *= decay(min) - post_tag *= decay(hr); dopamine *= decay(ms) - -DAY | bAP: - // BEHAVE (SOURCE 3 bAP: depolarization + Ca, amplifies existing signal) - Vm += bAP_depol × dend_structure.bAP_fidelity; post_budget -= bAP_cost - // TRACE (supralinear boost only if a CANDIDATE is present) - if post_possible_tag > Ca_TAG: post_fast_trace += bAP_Ca_boost() -``` - ---- - -## DEND - -``` -// PARAMETERS prop_cost · branch_Ca_cost · integrate_cost · translate_cost -// INTERFACE -// EMIT bAP_local → POST ; branch_Vm → SOMA ; dend_ship_post → POST -// RECEIVE astro_lactate[branch] ← ASTRO ; soma_ship_dend ← SOMA ; dend_material, dend_energy ← SOMA(NIGHT) -// READ SOMA.fired ; POST.Vm + spine spillover ; dopamine ; ACh -// OWN dend_structure{bAP_fidelity(pos), translation_ceiling, transport_speed} ; dend_budget_ceiling - -DAY | bAP: - // ADJUST (propagation strength from structure) -> inside propagate() - // BEHAVE (propagate bAP; may fall short if depleted) - bAP_local, reached = propagate(SOMA.fired, dend_structure.bAP_fidelity, dend_budget, geometry) - dend_budget -= prop_cost × reached - // EVALUATE (endurance: propagation cut short while branch strongly active) - if reached < full and dend_fast_trace > traj_thr: - dend_endurance_need += dend_fast_trace - // TRACE - dend_fast_trace += bAP_Ca(bAP_local) + spine_spillover(); dend_budget -= branch_Ca_cost - // EMIT (integrated voltage to soma ; propagated bAP already reached spines) - branch_Vm = integrate(POST.Vm, spines); dend_budget -= integrate_cost - -DAY | NOT_bAP: - // RECEIVE - dend_budget += refill(dend from astro_lactate[branch] + soma_ship_dend) - // EVALUATE (strength) - if dend_fast_trace > elig: dend_possible_tag += dend_fast_trace - if dopamine > dop_thr and dend_possible_tag > tag_thr: - dend_tag += dopamine × dend_possible_tag - // ADJUST (commit threshold lowered by attention) - commit_threshold *= 1/(1 + ACh·gain) - // EMIT (ship budget to spines; demand = post tag) - dend_ship_post = ship(dend_budget, post_demand, post_ship_frac, ship_cost) - // BEHAVE (local translation if tagged — fills dend capacity faster) - if dend_tag > tag_expiry and dend_budget > translate_cost: dend_budget -= translate_cost - // DECAY - dend_fast_trace *= decay(300ms); dend_possible_tag *= decay(s) - dend_endurance_need *= decay(min); dend_tag *= decay(hr) -``` - ---- - -## SOMA - -``` -// PARAMETERS ap_cost · nuclear_cost · creb_cost · mito_output · inactivation · ap_amp · ap_contrib -// base_recovery · τ_Na · τ_adapt · τ_nuclear · τ_align -// INTERFACE -// EMIT fired → AXON (propagate) + DEND (bAP) ; soma_ship_dend → DEND ; soma_ship_axon → AXON -// RECEIVE self (mitochondria, ROOT) ; branch_Vm ← DEND -// READ dopamine ; NE ; ACh -// OWN soma_structure{baseline_threshold, AP_reliability, synthesis_ceiling} ; soma_budget_ceiling - -DAY | AP: - // ADJUST (threshold from structure + adaptation + neuromodulators ; refractory gate) - threshold = soma_structure.baseline_threshold × (1 + soma_adaptation) × neuromod(NE, ACh) - can_fire = soma_Na_inactivation < inactivation - // BEHAVE (fire if able) - if branch_Vm > threshold and can_fire: - if soma_budget < ap_cost: - if soma_fast_trace > traj_thr and soma_fast_trace_rising: // EVALUATE (endurance) - soma_endurance_need += soma_fast_trace - exit - fired = True; soma_budget -= ap_cost // EMIT: fired → AXON, DEND - // TRACE (three traces from one AP) - soma_Na_inactivation += ap_amp // → refractory (emergent) - soma_adaptation += ap_contrib // → threshold rise - soma_fast_trace += nuclear_Ca(); soma_budget -= nuclear_cost - // EVALUATE (strength) - if soma_fast_trace > elig: soma_possible_tag += soma_fast_trace - if dopamine > dop_thr and soma_possible_tag > tag_thr: - soma_tag += dopamine × soma_possible_tag - soma_budget -= creb_cost - -DAY | NOT_AP: - // RECEIVE (self-replenish from private root ; integrate input) - soma_budget += fill(soma_budget, soma_budget_ceiling, mito_output, 0, soma_budget) - branch_Vm = integrate(DEND.branch_Vm, branches) - // BEHAVE (bottom-up refractory alignment: suprathreshold input during refractory) - if branch_Vm > threshold and soma_Na_inactivation > inactivation: - soma_refractory_alignment += (branch_Vm - threshold) × soma_Na_inactivation - // EMIT (ship downstream; demand = propagated tags) - soma_ship_dend = ship(soma_budget, dend_demand, dend_ship_frac, ship_cost) - soma_ship_axon = ship(soma_budget, axon_demand, axon_ship_frac, ship_cost) - // RECOVER (inactivation recovery sped by alignment trace → emergent refractory) - recovery = base_recovery × (1 + soma_refractory_alignment) - soma_Na_inactivation *= decay(τ_Na / recovery) - // DECAY - soma_adaptation *= decay(τ_adapt); soma_fast_trace *= decay(τ_nuclear) - soma_refractory_alignment *= decay(τ_align) // self-limiting - soma_possible_tag *= decay(s); soma_endurance_need *= decay(min) - soma_tag *= decay(hr); dopamine *= decay(ms) -``` - ---- - -## AXON - -``` -// PARAMETERS prop_cost · budget_factor -// INTERFACE -// EMIT APs_delivered → PRE (propagation) ; axon_ship_pre → PRE -// RECEIVE soma_ship_axon ← SOMA ; astro_lactate[shaft] ← ASTRO ; axon_material, axon_energy ← SOMA(NIGHT) -// READ SOMA.fired ; dopamine -// OWN axon_structure{propagation, transport_ceiling, mito_density} ; axon_budget_ceiling - -DAY | AP: - // ADJUST (reliability from structure − load-driven failure) - reliability = axon_structure.propagation × (1 - fail(axon_fast_trace)) - // BEHAVE (propagate; degraded if depleted) - if axon_budget < prop_cost: - reliability *= budget_factor - if axon_fast_trace > traj_thr: // EVALUATE (endurance) - axon_endurance_need += axon_fast_trace - delivered = fired × reliability; axon_budget -= prop_cost × delivered // EMIT → boutons - // TRACE - axon_fast_trace += delivered; axon_fast_trace *= decay(s) - -DAY | NOT_AP: - // RECEIVE - axon_budget += refill(axon from soma_ship_axon + astro_lactate[shaft]) - // EVALUATE (strength) - if axon_fast_trace > elig: axon_possible_tag += axon_fast_trace - if dopamine > dop_thr and axon_possible_tag > tag_thr: - axon_tag += dopamine × axon_possible_tag - // EMIT (ship to boutons; demand = pre tag) - axon_ship_pre = ship(axon_budget, pre_demand, pre_ship_frac, ship_cost) - // DECAY - axon_fast_trace *= decay(s); axon_possible_tag *= decay(s) - axon_endurance_need *= decay(min); axon_tag *= decay(hr) -``` - ---- - -## ASTRO - -``` -// PARAMETERS K_Dserine · Ds_max · Ds_frac · Ds_cost · EAAT_cost · lactate_cost · spillover · overload -// INTERFACE -// EMIT astro_lactate[i] → pre/post/dend budgets ; astro_Dserine[i] → POST (gate) -// RECEIVE glucose (ROOT) ; astro_material, astro_energy ← cell body (NIGHT) -// READ glutamate ← PRE (clearance + spillover) ; dopamine -// OWN astro_structure{perisynaptic_distance⁻¹, EAAT, Dserine_tonic, ECM} ; astro_budget_ceiling -// EMERGENCY emits shockwave_lockdown on overload - -DAY | CONTINUOUS: // per astrosynapse i - // RECEIVE (root production, capped by glucose) - astro_central_budget += glycolysis(glucose)·Δt - // ADJUST (demand weights across territory) - for each i: demand[i] = clearance_load[i] × astro_structure[i].delivery_eff - factor = min(1, astro_central_budget / (Σ demand·lactate_cost + ε)) - // EMIT (demand-weighted lactate to all components) - for each i: - astro_lactate[i] = demand[i] × factor; astro_central_budget -= astro_lactate[i]·lactate_cost - // BEHAVE (clear glutamate ; supply tonic D-serine) - glutamate[i] -= astro_structure[i].EAAT × glutamate[i]·Δt; astro_central_budget -= clearance·EAAT_cost - astro_Dserine[i] += astro_structure[i].Dserine_tonic·Δt - if glutamate[i] > spillover: - // TRACE - astro_fast_trace[i] += mGluR_Ca(); astro_fast_trace[i] *= decay(s) - // BEHAVE + EMIT (D-serine pulse: demand-driven, budget-limited) - want = sat(astro_fast_trace[i], K_Dserine) × Ds_max - got = min(want, astro_central_budget × Ds_frac) - astro_Dserine[i] += got; astro_central_budget -= got·Ds_cost - // EVALUATE (endurance: ran out of synthesis under high own demand) - if got < want and astro_fast_trace[i] > traj_thr: - astro_endurance_need[i] += (want - got) - // EVALUATE (strength) - if astro_fast_trace[i] > elig: astro_possible_tag[i] += astro_fast_trace[i] - if dopamine > dop_thr and astro_possible_tag[i] > tag_thr: - astro_tag[i] += dopamine × astro_possible_tag[i] - // DECAY - astro_possible_tag[i] *= decay(s); astro_endurance_need[i] *= decay(min); astro_tag[i] *= decay(hr) - // EMERGENCY - if astro_fast_trace[i] > overload: emit(shockwave_lockdown) -``` - ---- - -## Special — Shockwave Lockdown - -``` -DAY or NIGHT | OVERLOAD: - Vm = HYPERPOLARIZED; AMPA_surface = mass_internalize() → post reserve - axon_fast_trace += overdrive(); astro_central_budget -= emergency_cost -``` - ---- ---- -# NIGHT -The same grammar on ceilings: RECEIVE production, EVALUATE/ADJUST the commits, BEHAVE -(build ceilings), DECAY (unmaintained ceilings recede). Runs once per cycle, not per spike. - -``` -NIGHT | 1 RECEIVE + EMIT (replenish and distribute) - astro_central_{budget,energy,material} += overnight_*(glucose, …)·Δt // RECEIVE - soma_{budget,energy} += overnight_*()·Δt ; soma_material += CREB_synth(soma_tag)·Δt // RECEIVE (bottleneck) - for each i with astro_tag[i] > tag_expiry: w = astro_tag[i]/Σastro_tag // ADJUST (weights) - astro_energy[i] += astro_central_energy·w; astro_material[i] += astro_central_material·w // EMIT - dend_material += soma_material·f_dend ; axon_material += soma_material·f_axon ; soma_material -= … // EMIT - post_material += dend_material·f_spine ; pre_material += axon_material·f_bouton // EMIT - {pre,post,dend,axon}_energy += soma_energy·f[·] ; {…}_budget += astro_lactate_reserve·f[·]·Δt - -NIGHT | 2 EVALUATE + BEHAVE (strength commits → raise structure) - coherence = (pre_tag, post_tag, astro_tag all > tag_expiry) ? coherence_factor : 1 // ADJUST - for each c with c_tag > tag_expiry: // EVALUATE - Δ = min(slot_cost, c_material, c_energy·f) // BEHAVE - c_structure += Δ × (coherence if c in {pre,post,astro} else 1) - c_material -= Δ; c_energy -= Δ·assembly_cost; if Δ < slot_cost: queue(→ next NIGHT) - -NIGHT | 2b EVALUATE + BEHAVE (endurance commits → raise budget_ceiling ; no dopamine ; competes w/ 2) - for each c with c_endurance_need > endur_thr: // EVALUATE - Δ = min(cap_cost, c_material·f_cap, c_energy·f_cap) // BEHAVE - c_budget_ceiling += Δ; c_material -= Δ; c_energy -= Δ·biogenesis_cost; if Δ homeostatic_ceiling: - s = homeostatic_ceiling / soma_tag - for each synapse: post_structure.slot_ceiling *= s ; pre_structure.slot_ceiling *= s - soma_material += Σ reduction·recycle - -NIGHT | 5 DECAY (clear traces) - all fast_trace, possible_tag, endurance_need = 0 - soma_Na_inactivation = soma_adaptation = soma_refractory_alignment = 0 - for each tag: if tag < tag_expiry: tag = 0 // else carry forward - // structure and budget_ceiling PERSIST -``` - ---- - -## One-view summary - -``` -DAY per context: RECEIVE → EVALUATE → ADJUST → BEHAVE/EMIT/TRACE → RECOVER → DECAY - behavior runs within structure (strength) and budget_ceiling (endurance), - both filled competitively (refill = contested, fill = private, ship = directed) - fast_trace + dopamine → tag (strength evidence) - depletion + interrupted LOCAL success → endurance_need (endurance evidence) -NIGHT same grammar on ceilings: tag → structure ; endurance_need → budget_ceiling - both draw one pool (compete) ; unmaintained ceilings decay → freed material recycles -LOCAL every evaluation uses only own state + arrived signals; coupling is via channels. -```