diff --git a/elements/neuron/appunti/2026-06-29-tripartite-synapse_v17.md b/elements/neuron/appunti/2026-06-29-tripartite-synapse_v17.md index 25e1229..56077e2 100644 --- a/elements/neuron/appunti/2026-06-29-tripartite-synapse_v17.md +++ b/elements/neuron/appunti/2026-06-29-tripartite-synapse_v17.md @@ -137,32 +137,37 @@ territory demand/load. Both have their own DAY (integrate, allocate in the gaps) always integrating fatigue and emitting sleep-pressure, spanning every other actor's day and night — the clock that never sleeps. -NIGHT IS A SEQUENCE OF REPLAY CYCLES (dual of DAY). DAY loops action-steps until energy/material -is exhausted; NIGHT loops NON_REM_1 → REM → NON_REM_2 cycles until the tag is exhausted. It is the -SAME three-phase ring as DAY (PREPARATION · ACTION · EVALUATION) — only the subjects and the -assignment of which phase is ACTION vs EVALUATION rotate: - NON_REM_1 = PREPARATION import material/energy; PRIME the threshold/VGCC from the standing tag - REM = EVALUATION release NT as a PROBE to MEASURE participation (fast_trace level); - NO dopamine — significance is settled; this reads circuit centrality only - NON_REM_2 = ACTION the structural change itself (the night's defining deed): general - homeostatic lowering, then increase where tag stands AND REM measured - high/medium participation, consuming the tag on the build -The SAME physical NT release is ACTION by DAY (transmit) and EVALUATION by NIGHT (probe to measure). -The structural change is only MARKED by day (the inert tag) and ENACTED by night. SOMA is the -ignition point: its REM firing propagates a replay_AP through the DAY PATHWAYS +EVERY SCOPE RUNS THE SAME THREE CATEGORIES: (ACTION ⇄ RECOVERY) × many, then PREPARATION. + ACTION the scope's defining deed (DAY: release/fire/respond/propagate — the cleft exchange; + NIGHT: change structure — the irreversible build). + RECOVERY the fast alter-ego of the action — restore the ability to act again (DAY: vesicle + refill, refractory de-inactivation, Ca clearance; NIGHT: import material/energy, prime). + PREPARATION shape what comes next — faces BOTH the next same-scope action AND the other scope. + This is where what earlier drafts called "evaluation" lives: depositing a trace is not + judging, it is provisioning. DAY-preparation stocks the tag (for NIGHT) and sets + occupancy/thresholds (for the next action). NIGHT-preparation REPLAYS the action — + re-runs the SAME machinery as DAY ACTION (same capacity/vesicle checks, same endurance + deposit into the SAME trace), but with NO dopamine and the release as a PROBE, read as + participation, not transmitted. + +NIGHT IS A SEQUENCE OF REPLAY CYCLES (dual of DAY). DAY loops until energy/material is exhausted; +NIGHT loops until the tag is exhausted. The rotation across scopes: the SAME physical release/fire +is ACTION by DAY (the deed) and PREPARATION by NIGHT (the probe that replays it); the structural +change is only MARKED by day (the inert tag) and ENACTED by night (its action). SOMA is the ignition +point: its night-PREPARATION replay-fire propagates a replay_AP through the DAY PATHWAYS (soma→axon→pre→glutamate→post→dend→soma), self-igniting the tagged pattern. COHERENCE IS MECHANICAL, not a checked flag: a pattern re-evokes only where EVERY link in its -recurrent loop is primed (each component's own tag lowered its own threshold in NON_REM_1); one +recurrent loop is primed (each component's own tag lowered its own threshold in RECOVERY); one un-primed link breaks the loop at the gap, so only patterns significant all the way around carry. The assembly that replays is NOT an actor — it is the coincidence of many components' own lowered thresholds propagating through recurrent coupling. -WHAT PERSISTS MUST HAVE EARNED PERSISTENCE. NON_REM_1 drives occupancy (VGCC_active, AMPA_surface, -possible_tag) toward baseline; NON_REM_2's homeostatic lowering trims all structure; only what is -rebuilt from a still-standing tag with confirmed participation carries forward. NIGHT ends when the -tag is exhausted (well-rested — every significant pattern replayed and its structure rebuilt) OR -energy is spent (overloaded — unspent tags carry to the next night). +WHAT PERSISTS MUST HAVE EARNED PERSISTENCE. Night-RECOVERY drives occupancy (VGCC_active, +AMPA_surface, possible_tag) toward baseline; night-ACTION's homeostatic lowering trims all +structure; only what is rebuilt from a still-standing tag with confirmed participation carries +forward. NIGHT ends when the tag is exhausted (well-rested — every significant pattern replayed and +its structure rebuilt) OR energy is spent (overloaded — unspent tags carry to the next night). --- @@ -268,16 +273,16 @@ ship_cost // transport overhead (all shipments) ``` slot_batch cap_batch f_cap // per-CYCLE commit/allocation sizes / endurance fraction night_energy_ceiling // total energy a single night can spend (supply bound) -Δt_cycle // duration of one NIGHT cycle (NON_REM_1→REM→NON_REM_2) +Δt_cycle // duration of one NIGHT cycle (recovery→preparation→action) maint_frac cap_frac // maintenance allocation decay_rate capacity_decay_rate recycle // passive ceiling decay + material recovery homeostatic_ceiling assembly_cost biogenesis_cost maint_cost f_dend f_axon f_spine f_bouton // per-cycle material/energy ship fractions (down the chain) -downscale_factor // per-cycle multiplicative occupancy reset (<1), NON_REM_1 +downscale_factor // per-cycle multiplicative occupancy reset (<1), night RECOVERY neuron_weight_ceiling // renormalization target (broadcast constraint) -// ── NIGHT RING (NON_REM_1 = PREPARATION · REM = EVALUATION · NON_REM_2 = ACTION) ── -spont_thr_base thr_gain // spontaneous threshold = base − gain×own_tag (NON_REM_1 prime) -prime_thr prime_gain // tag threshold to raise VGCC, and the gain (NON_REM_1) +// ── NIGHT (RECOVERY = import/prime · PREPARATION = replay probe · ACTION = restructure) ── +spont_thr_base thr_gain // spontaneous threshold = base − gain×own_tag (night RECOVERY prime) +prime_thr prime_gain // tag threshold to raise VGCC, and the gain (night RECOVERY) intrinsic_fluctuation() // intrinsic sub-threshold noise (the night's ignition source) mini_flux mini_Ca() // spontaneous mini release size + its Ca deposit (REM probe) level(·) → {LOW, MEDIUM, HIGH} // reads fast_trace as circuit participation (REM, no dopamine) @@ -395,9 +400,9 @@ DAY | NOT_SPIKE_TRAIN: // sustained quiet; // ── NIGHT: the SAME three categories as DAY, at the consolidation timescale, subject = the pattern. // (ACTION ⇄ RECOVERY) × many cycles, then PREPARATION — mirror of DAY's (release ⇄ refill) → prep. -// ACTION change the structure (the night's defining deed) [was NON_REM_2] -// RECOVERY restore the ability to restructure again: import material/energy, prime [was NON_REM_1] -// PREPARATION probe-release to MEASURE participation, shaping the next restructuring [was REM] +// ACTION change the structure (the night's defining deed) +// RECOVERY restore the ability to restructure again: import material/energy, prime +// PREPARATION replay the release as a probe, measure participation (SAME machinery as day ACTION) // Cycle ordering: RECOVERY (import/prime) ⇄ ACTION (build) alternate across the night's cycles; // PREPARATION (the probe) runs each cycle and its participation-measure feeds the NEXT ACTION — // exactly as DAY's preparation shapes the next train. Loops until the tag is spent. @@ -416,12 +421,24 @@ NIGHT | import + prime: // alter-ego of the n emit(freed → recycled material pool) pre_material += pre_ceiling_shrinkage·recycle // energy NOT recovered -// ===== PREPARATION (probe-release to measure participation; shapes the next ACTION; NO dopamine) ===== -NIGHT | probe + measure: // release here is PREPARATION, not action +// ===== PREPARATION (REM: REPLAY the action — SAME machinery as DAY ACTION, read differently) ===== +// Replay re-runs the release exactly as by day: same drive, same capacity + vesicle checks, same +// endurance deposit into the SAME pre_endurance_need trace (endurance discovered in replay is as +// real as in behaving). What differs from DAY ACTION: no dopamine (significance settled), and the +// glutamate is a PROBE — it drives the pattern onward and its own trace is read as participation. +NIGHT | replay + measure: // release here is PREPARATION, not the deed spont = intrinsic_fluctuation() - if spont > pre_spont_thr or arrived_replay_AP: // spontaneous, or recruited by the pattern - pre_fast_trace += mini_Ca(VGCC_active); glutamate += mini_flux·Δt // release as a PROBE - pre_participation = level(pre_fast_trace) // high/medium/low — feeds the next ACTION + if spont > pre_spont_thr or arrived_replay_AP: // ignite: spontaneous, or recruited by the pattern + pre_fast_trace += mini_Ca(VGCC_active)·δ(replay) // SAME trace deposit as DAY ACTION + drive = sat(pre_fast_trace × VGCC_active, K_release) + if pre_budget < release_cost: // SAME capacity check → endurance evidence + suppress(replay_flux) + if pre_fast_trace > traj_thr: + pre_endurance_need += pre_fast_trace·Δt // SAME trace, fed by replay too + else if RRP > 0: // SAME vesicle check + replay_flux = RRP × drive; RRP -= replay_flux·Δt; pre_budget -= replay_flux·fusion_cost + glutamate += replay_flux·Δt // real glutamate → POST: carries the pattern onward + pre_participation = level(pre_fast_trace) // read the replayed response as participation pre_fast_trace *= decay(100ms) // ===== ACTION (change the structure — the night's defining deed) ===== @@ -465,16 +482,23 @@ below) are detected *in the action*; only the organism's dopamine coincidence is depolarization and calcium, and supralinearly amplifies an existing candidate — the soma's confirmation that it fired, detected in the action-moment (instantaneous coincidence). -**EVALUATION and PREPARATION share the quiet.** Evaluation reads the calcium trace and, on the -dopamine coincidence, climbs to the tag. Preparation fills AMPA surface toward the slot ceiling -from accumulated calcium (short-term potentiation, no dopamine), refills budget toward next demand, -and lets traces settle. A fuel shortfall while calcium was climbing toward a tag is endurance -evidence; a surface already at its ceiling is a structural limit, not endurance. +**EVALUATION FOLDS INTO PREPARATION.** POST runs the same three categories as every component. +ACTION is the synaptic response (integrate glutamate, detect the instantaneous coincidences, emit +the retrogrades). RECOVERY restores the ability to respond again — calcium extrusion and NMDA +Mg-block re-establishment, the fast alter-ego of the response. PREPARATION shapes what comes next: +fills AMPA surface toward the slot ceiling from accumulated calcium (short-term potentiation, no +dopamine — for the next response), climbs the tag on the dopamine coincidence (for the night), +refills budget, and settles. A fuel shortfall while calcium was climbing toward a tag is endurance +evidence (a preparation deposit made during action); a surface already at its ceiling is a +structural limit, not endurance. -**During NIGHT — the spine's ceilings are rewritten.** The ring turned inward: coherence check, -draw-and-commit (structure where a validated tag stood — with a coherence bonus when pre, post, and -astro all tagged the same synapse — or budget capacity where fuel interrupted a climbing trajectory), -make-room. Both ceilings draw the same finite pool and compete; unmaintained ceilings drift down. +**During NIGHT — the same three categories, turned inward.** RECOVERY imports material/energy and +primes AMPA responsiveness from the standing tag. PREPARATION replays: POST responds to the +re-evoked glutamate exactly as it responds by day (same AMPA/NMDA machinery, same endurance +deposit into the same trace), reading the response as participation rather than transmitting — no +dopamine. ACTION is the structural change: general homeostatic lowering, then rebuild where the tag +stands and participation was confirmed, consuming the tag. Both ceilings draw the same finite pool +and compete; unmaintained ceilings drift down. ``` // PARAMETERS K_AMPA · AMPA_Ca · AMPA_cost · NMDA_cost · bAP_cost · pka_cost · traffic_cost @@ -488,31 +512,44 @@ make-room. Both ceilings draw the same finite pool and compete; unmaintained cei // SUPPLY astro_lactate[syn] ← ASTRO ; dend_ship_post ← DEND ; post_material ← DEND(NIGHT) ; post_energy ← SOMA(NIGHT) // EMERGENCY shockwave_lockdown ← ASTRO // NOTE POST endurance is own-state only (own Ca climbing); no arrived feedback term. -// RING × CONTEXT: NOT_bAP → ACTION(integrate) + EVAL + PREP | bAP → second ACTION (vertical amplify) -// coincidences sort by timescale: D-serine/bAP detected IN ACTION (instantaneous), -// dopamine detected IN EVALUATION (integrable). +// coincidences sort by timescale: D-serine/bAP detected IN ACTION (instantaneous); dopamine in PREPARATION. -DAY | bAP: // ACTION (vertical): soma's spike confirms +// THE THREE CATEGORIES (same at DAY and NIGHT; here DAY, subject = arrived glutamate / bAP): +// ACTION respond: integrate glutamate, detect instantaneous coincidences, emit retro (NOT_bAP); +// bAP is a second, vertical action-context (soma's spike confirms) +// RECOVERY restore the ability to respond: Ca extrusion + NMDA Mg-block re-establish +// PREPARATION shape what comes next: AMPA fill (next response) + tag climb (NIGHT) + refill + settle +// Coincidences sort by timescale: D-serine/bAP detected IN ACTION (instantaneous); dopamine in PREPARATION. + +// ===== ACTION ===== +DAY | bAP: // second action-context (vertical): soma confirms Vm += bAP_depol × dend_structure.bAP_fidelity; post_budget -= bAP_cost if post_possible_tag > Ca_TAG: post_fast_trace += bAP_Ca_boost() // amplify only if candidate present -DAY | NOT_bAP: // ACTION(integrate) then EVAL + PREP - // ── ACTION (lateral): integrate arrived input, detect instantaneous coincidences, emit retro ── +DAY | NOT_bAP: // respond to arrived input (the defining deed) a = sat(glutamate, K_AMPA) AMPA_current = a × AMPA_surface; Vm += AMPA_current; post_budget -= AMPA_cost // SOURCE 1 AMPA post_fast_trace += AMPA_Ca·AMPA_current if Vm > Mg_eject and astro_Dserine > Dserine_thr and glutamate > 0: // SOURCE 2 NMDA - post_fast_trace += NMDA_Ca(glutamate)·rise_speed(); post_budget -= NMDA_cost // (coincidence #1,2 here) + post_fast_trace += NMDA_Ca(glutamate)·rise_speed(); post_budget -= NMDA_cost // coincidence #1,2 here retro_NO += NO_emit(post_fast_trace); post_budget -= NO_synth_cost // EMIT + "responsive target" if Vm > eCB_thr: retro_eCB += eCB_emit(Vm); post_budget -= eCB_synth_cost // EMIT − brake - // ── EVALUATION (local): climb toward the tag; dopamine is the integrable coincidence (#3) ── + +// ===== RECOVERY (restore the ability to respond; alter-ego of the response) ===== +DAY | NOT_bAP · recovered: // Ca extrusion + Mg-block re-establish + post_fast_trace *= decay(ms) // FAST — Ca extruded, trace relaxes + // (NMDA Mg-block re-establishes as Vm falls — implicit in the Vm>Mg_eject gate next response) + +// ===== PREPARATION (shape the next response AND the NIGHT) ===== +DAY | quiet: // sustained quiet + // for NIGHT: climb the tag; dopamine is the integrable coincidence (#3) 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 // token minted for NIGHT - // ── PREPARATION (vertical): STP fill / STD drift, refill toward next demand, settle ── + // for the NEXT RESPONSE: STP fill / STD drift if post_fast_trace > Ca_STP: - if post_budget < traffic_cost: // FUEL shortfall → endurance + if post_budget < traffic_cost: // FUEL shortfall → endurance (a PREPARATION deposit) if post_fast_trace > traj_thr and post_fast_trace_rising: post_endurance_need += post_fast_trace else if AMPA_surface < post_structure.slot_ceiling: @@ -521,15 +558,18 @@ DAY | NOT_bAP: // ACTION(integrate) else: AMPA_surface = max(AMPA_surface - drift·Δt, baseline) // STD = un-honored decay post_budget += refill(post from astro_lactate[syn] + transit(dend_ship_post, τ_transport_spine)) - post_fast_trace *= decay(ms) // FAST post_possible_tag *= decay(min); post_endurance_need *= decay(min) // MEDIUM post_tag *= decay(hr); dopamine *= decay(ms) // SLOW + signals -NIGHT · NON_REM_1 = PREPARATION | import + prime: // vertical: supply + set responsiveness +// ── NIGHT: SAME three categories, consolidation timescale, subject = the pattern. +// (ACTION ⇄ RECOVERY) × cycles, then PREPARATION. Night PREPARATION replays the DAY ACTION (same +// AMPA/NMDA machinery, same endurance trace), read for participation not significance. + +// ===== RECOVERY (import + prime responsiveness) ===== +NIGHT | import + prime: post_material += transit(post_material_ship, τ_transport_spine) post_energy += transit(post_energy_ship, τ_transport_spine) - // prime from the STANDING tag: high tag raises AMPA occupancy → primes NMDA responsiveness in REM - post_spont_thr = spont_thr_base − thr_gain × post_tag + post_spont_thr = spont_thr_base − thr_gain × post_tag // restore responsiveness from standing tag if post_tag > prime_thr: AMPA_surface = min(AMPA_surface + prime_gain × post_tag, post_structure.slot_ceiling) post_possible_tag *= occupancy_downscale @@ -538,15 +578,20 @@ NIGHT · NON_REM_1 = PREPARATION | import + prime: // vertical: supply emit(freed → recycled material pool) post_material += post_ceiling_shrinkage·recycle // energy NOT recovered -NIGHT · REM = EVALUATION | respond to re-evoked input, MEASURE participation (NO dopamine): - // a re-evoked pattern arrives as replayed glutamate (from PRE's mini) ± bAP; POST responds as a PROBE - if arrived_glutamate_replay or arrived_replay_AP: - post_fast_trace += AMPA_Ca·(a × AMPA_surface) - if Vm > Mg_eject and astro_Dserine > Dserine_thr: post_fast_trace += NMDA_Ca(glutamate) - post_participation = level(post_fast_trace) // high/medium/low = centrality in re-evoked pattern +// ===== PREPARATION (REM: REPLAY the response — SAME machinery as DAY ACTION) ===== +NIGHT | replay + measure: // response here is PREPARATION, not the deed + if arrived_glutamate_replay or arrived_replay_AP: // re-evoked input arrives + a = sat(glutamate, K_AMPA) + post_fast_trace += AMPA_Ca·(a × AMPA_surface) // SAME AMPA machinery as DAY ACTION + if Vm > Mg_eject and astro_Dserine > Dserine_thr: + post_fast_trace += NMDA_Ca(glutamate) // SAME NMDA machinery + if post_budget < traffic_cost: // SAME capacity check → endurance evidence + if post_fast_trace > traj_thr: post_endurance_need += post_fast_trace // SAME trace, fed by replay + post_participation = level(post_fast_trace) // read replayed response as participation post_fast_trace *= decay(ms) -NIGHT · NON_REM_2 = ACTION | change the structure: // the night's defining deed +// ===== ACTION (change the structure — the night's defining deed) ===== +NIGHT | change the structure: post_structure -= decay_rate·Δt_cycle; post_structure += min(post_maint, maint_cost) // homeostatic lowering if post_tag > tag_expiry and post_participation ≥ MEDIUM: Δ = min(slot_batch, post_material, post_energy·f_cap, post_tag) × post_participation @@ -601,66 +646,72 @@ ceilings drift down. // NOTE DEND endurance fires only on FUEL-limited propagation, not structural attenuation; // own-state proxy (strong branch activity); no arrived feedback term. -// RING × CONTEXT: bAP → ACTION(propagate+integrate) + EVAL | NOT_bAP → EVAL + PREP (ship/refill/settle) +// THE THREE CATEGORIES (same at DAY and NIGHT; here DAY, subject = soma's bAP / spine input): +// ACTION propagate the bAP to spines + integrate spine voltage to soma (context bAP) +// RECOVERY restore branch excitability: Ca clearance (fast alter-ego of propagation) +// PREPARATION shape the next: tag climb (NIGHT), attention threshold, ship to spines, refill, settle +// ONE fuel shortfall that cuts propagation short = endurance; distance attenuation = structural limit. -DAY | bAP: // ACTION (lateral/vertical): propagate + integrate - // ADJUST (propagation strength from structure — inside propagate()) - // BEHAVE (propagate bAP; distinguish fuel-limited vs structure-limited shortfall) +// ===== ACTION ===== +DAY | bAP: // propagate + integrate (the defining deed) if dend_budget < prop_cost: - // FUEL shortfall → endurance (branch was strongly active) - if dend_fast_trace > traj_thr: + if dend_fast_trace > traj_thr: // FUEL shortfall → endurance (a PREPARATION deposit) dend_endurance_need += dend_fast_trace bAP_local, reached = propagate_partial(dend_budget) else: bAP_local, reached = propagate(SOMA.fired, dend_structure.bAP_fidelity, geometry) // reached < full here is structural attenuation (distance), NOT endurance dend_budget -= prop_cost × reached - // TRACE (deposit fast trace THIS action leaves) 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 + branch_Vm = integrate(POST.Vm, spines); dend_budget -= integrate_cost // EMIT integrated Vm → SOMA -DAY | NOT_bAP: // EVALUATION (climb to tag) + PREPARATION (ship/refill/settle) - // EVAL: strength climb +// ===== RECOVERY (restore branch excitability; alter-ego of propagation) ===== +DAY | NOT_bAP · recovered: // Ca clearance + dend_fast_trace *= decay(300ms) // FAST — branch Ca relaxes + +// ===== PREPARATION (shape the next propagation AND the NIGHT) ===== +DAY | NOT_bAP: + // for NIGHT: strength climb 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 // token minted for NIGHT - // PREP: attention lowers commit threshold; local translation; ship to spines; refill; settle + // for the next: attention lowers commit threshold; local translation; ship to spines; refill commit_threshold *= 1/(1 + ACh·ACh_gain) if dend_tag > tag_expiry and dend_budget > translate_cost: dend_budget -= translate_cost dend_ship_post = ship(dend_budget, post_demand, post_ship_frac, ship_cost) // EMIT down to spines dend_budget += refill(dend from astro_lactate[branch] + transit(soma_ship_dend, τ_transport_dend)) - // DECAY - // FAST (ms–s) - dend_fast_trace *= decay(300ms) - // MEDIUM (s–min) - dend_possible_tag *= decay(s); dend_endurance_need *= decay(min) - // SLOW (hr) - dend_tag *= decay(hr) - // (PERSISTENT: dend_structure, dend_budget_ceiling — no DAY decay; NIGHT only) + dend_possible_tag *= decay(s); dend_endurance_need *= decay(min) // MEDIUM + dend_tag *= decay(hr) // SLOW -NIGHT · NON_REM_1 = PREPARATION | import + prime + relay setup: // vertical: supply + excitability +// ── NIGHT: SAME three categories, consolidation timescale, subject = the pattern. DEND is an +// intermediate RELAY: its PREPARATION replay relays replay_AP onward to spines IF primed (carrying +// SOMA→DEND→POST). (ACTION ⇄ RECOVERY) × cycles, then PREPARATION. + +// ===== RECOVERY (import + prime relay excitability + ship down) ===== +NIGHT | import + prime: dend_material += transit(soma_material_to_dend, τ_transport_dend) dend_energy += transit(soma_energy_to_dend, τ_transport_dend) - dend_spont_thr = spont_thr_base − thr_gain × dend_tag // prime own bAP-relay excitability from own tag + dend_spont_thr = spont_thr_base − thr_gain × dend_tag // restore bAP-relay excitability from standing tag if renorm_signal arrived: freed = dend_structure × (1 - renorm_signal); dend_structure *= renorm_signal emit(freed → recycled material pool) dend_material += dend_ceiling_shrinkage·recycle // energy NOT recovered - // ship this cycle's batch one hop down to POST (feeds the pattern's spine links) - post_material_ship += ship(dend_material, post_demand, f_spine, ship_cost) + post_material_ship += ship(dend_material, post_demand, f_spine, ship_cost) // ship to feed spine links post_energy_ship += ship(dend_energy, post_demand, f_spine, ship_cost) -NIGHT · REM = EVALUATION | relay replay_AP if primed + MEASURE participation (NO dopamine): - // an arrived replay_AP (from SOMA) re-evokes the branch — relay onward to spines IF primed - if arrived_replay_AP and dend_spont_thr < recruit_thr: - bAP_local = propagate(replay_AP, dend_structure.bAP_fidelity, geometry) - emit(bAP_local → POST) // carries the pattern to the spines IF primed +// ===== PREPARATION (REM: REPLAY the propagation — SAME machinery as DAY ACTION; relays the pattern) ===== +NIGHT | replay + measure: // propagation here is PREPARATION, not the deed + if arrived_replay_AP and dend_spont_thr < recruit_thr: // relay onward to spines IF primed + bAP_local = propagate(replay_AP, dend_structure.bAP_fidelity, geometry) // SAME propagate machinery + emit(bAP_local → POST) // carries the pattern to the spines dend_fast_trace += bAP_Ca(bAP_local) - dend_participation = level(dend_fast_trace) // high/medium/low = branch centrality + if dend_budget < prop_cost and dend_fast_trace > traj_thr: // SAME capacity check → endurance + dend_endurance_need += dend_fast_trace // SAME trace, fed by replay + dend_participation = level(dend_fast_trace) // read replayed response as participation dend_fast_trace *= decay(300ms) -NIGHT · NON_REM_2 = ACTION | change the structure: // the night's defining deed +// ===== ACTION (change the structure — the night's defining deed) ===== +NIGHT | change the structure: dend_structure -= decay_rate·Δt_cycle; dend_structure += min(dend_maint, maint_cost) // homeostatic lowering if dend_tag > tag_expiry and dend_participation ≥ MEDIUM: Δ = min(slot_batch, dend_material, dend_energy·f_cap, dend_tag) × dend_participation @@ -683,7 +734,7 @@ The soma is the neuron's integrating center and the root of its structural mater the branch inputs, fires when they exceed a threshold it sets from its own adaptation and the neuromodulators, and ships material and budget out to the dendrites and axon. Its timing — refractoriness, adaptation, rhythm alignment — emerges bottom-up from local traces, never from -a represented clock. Its behavior unfolds across two DAY contexts and the NIGHT scope. +a represented clock. Its behavior unfolds as the three categories at DAY and at NIGHT. **During DAY, during AP — the soma integrates and fires.** It computes its firing threshold from its baseline (structure), its accumulated adaptation, and the neuromodulators, and checks @@ -717,97 +768,103 @@ downstream components receive depends on the soma having been tagged. // NOTE SOMA endurance fires only on FUEL shortfall (budget < ap_cost); // refractory / sub-threshold are timing limits, not endurance. Own-state proxy. -// RING × CONTEXT: AP → ACTION(fire) + EVAL(nuclear Ca→tag) | NOT_AP → EVAL + PREP -// the ONE spike's fast trace feeds TWO destinations: nuclear-Ca → tag (EVALUATION, cross-scope), -// and inactivation/adaptation/alignment → next-spike timing (PREPARATION, this scope). +// THE THREE CATEGORIES (same at DAY and NIGHT; here DAY, subject = the branch input / spike): +// ACTION fire (the defining deed) — context AP +// RECOVERY restore the ability to fire again: refractory de-inactivation + mito replenish — +// the alter-ego of the spike, runs in NOT_AP +// PREPARATION shape the next spike: alignment, adaptation, tag-climb (for NIGHT), ship, decay +// Pattern: (ACTION ⇄ RECOVERY) × many spikes, then PREPARATION. +// ONE spike's fast trace feeds TWO preparation destinations: nuclear-Ca → tag (for NIGHT), +// inactivation/adaptation/alignment → next-spike timing (this scope). -DAY | AP: // ACTION (lateral): fire; then EVAL climbs to tag - // ADJUST (threshold from structure + adaptation + neuromodulators ; refractory gate) +// ===== ACTION ===== +DAY | AP: // integrate + fire (the defining deed) threshold = soma_structure.baseline_threshold × (1 + soma_adaptation) × neuromod(NE, ACh) can_fire = soma_Na_inactivation < inactivation - // ACTION (fire if able) if branch_Vm > threshold and can_fire: - if soma_budget < ap_cost: - // FUEL shortfall → endurance (firing was approaching CREB) + if soma_budget < ap_cost: // FUEL shortfall → endurance (a PREPARATION deposit) if soma_fast_trace > traj_thr and soma_fast_trace_rising: soma_endurance_need += soma_fast_trace exit fired = True; soma_budget -= ap_cost // EMIT fired → AXON, DEND - // deposit the THREE traces from one AP: nuclear-Ca (→EVAL) + adaptation/inactivation (→PREP) - soma_Na_inactivation += ap_amp // PREP seed: refractory (emergent) - soma_adaptation += ap_contrib // PREP seed: threshold rise - soma_fast_trace += nuclear_Ca(); soma_budget -= nuclear_cost // EVAL seed - // EVALUATION: strength climb toward the tag (cross-scope token for NIGHT) + // deposit the THREE traces from one AP (all PREPARATION content, deposited in the action): + soma_Na_inactivation += ap_amp // → refractory (recovery will undo this) + soma_adaptation += ap_contrib // → threshold rise (next-spike timing) + soma_fast_trace += nuclear_Ca(); soma_budget -= nuclear_cost // → tag (for NIGHT) 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 soma_emitted_activity += 1; soma_emitted_structure = soma_structure // NEURON sums these -DAY | NOT_AP: // EVAL (align) + PREP (recover timing, ship, refill) +// ===== RECOVERY (restore the ability to fire; alter-ego of AP; runs in NOT_AP) ===== +DAY | NOT_AP: // de-inactivate + replenish + soma_budget += fill(soma_budget, soma_budget_ceiling, mito_output, 0, soma_budget) // mito replenish + recovery = base_recovery × (1 + soma_refractory_alignment) + soma_Na_inactivation *= decay(τ_Na / recovery) // refractory recovery (sped by alignment) + soma_fast_trace *= decay(τ_nuclear) // FAST — nuclear-Ca relaxes + +// ===== PREPARATION (shape the next spike AND the NIGHT; ⊂ NOT_AP, sustained quiet) ===== +DAY | NOT_SPIKE_TRAIN: branch_Vm = integrate(DEND.branch_Vm, branches) // RECEIVE latest branch input - // PREP seed: refractory alignment (suprathreshold input during refractory → tune next-spike timing) + // for next-spike timing: refractory alignment (suprathreshold input during refractory) if branch_Vm > threshold and soma_Na_inactivation > inactivation: soma_refractory_alignment += (branch_Vm - threshold) × soma_Na_inactivation - // PREP: ship downstream, self-replenish from root, recover refractoriness (sped by alignment) + // for downstream: ship budget to dendrites + axon (demand-weighted) 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) - soma_budget += fill(soma_budget, soma_budget_ceiling, mito_output, 0, soma_budget) - recovery = base_recovery × (1 + soma_refractory_alignment) - soma_Na_inactivation *= decay(τ_Na / recovery) - // DECAY - // FAST (ms–s) — refractory + nuclear-Ca + alignment - soma_fast_trace *= decay(τ_nuclear); soma_refractory_alignment *= decay(τ_align) // self-limiting - // MEDIUM (s–min) — adaptation + tagging evidence - soma_adaptation *= decay(τ_adapt) + // settle medium/slow stocks + soma_refractory_alignment *= decay(τ_align); soma_adaptation *= decay(τ_adapt) soma_possible_tag *= decay(s); soma_endurance_need *= decay(min) - // SLOW (hr) soma_tag *= decay(hr); dopamine *= decay(ms) -// ── NIGHT: NON_REM_1 → REM → NON_REM_2, until tag spent (same ring as PRE, rotated). SOMA is a -// ROOT (produces material each cycle) AND the IGNITION POINT: its REM firing propagates a replay -// AP down axon + dendrites, re-evoking the pattern through the DAY PATHWAY. A pattern carries only -// if every link is primed (each component's own tag lowered its own threshold). SOMA's own -// firing/participation is measured the way PRE measures release; NON_REM_2 is its structural act. +// ── NIGHT: SAME three categories, consolidation timescale, subject = the pattern. SOMA is a ROOT +// (produces material each cycle) AND the IGNITION POINT: its PREPARATION replay-fire propagates a +// replay_AP down axon + dendrites, re-evoking the pattern through the DAY PATHWAY. A pattern +// carries only if every link is primed. Night PREPARATION mirrors day ACTION (same fire machinery), +// read for participation, not significance. (ACTION ⇄ RECOVERY) × cycles, then PREPARATION. -NIGHT · NON_REM_1 = PREPARATION | produce + prime: // vertical: production + excitability + supply - // PRODUCTION (root): this cycle's material + energy batch, gated by own tag, capped externally +// ===== RECOVERY (produce + restore the ability to restructure: material, energy, excitability) ===== +NIGHT | produce + prime: // ROOT production + alter-ego of night ACTION soma_material += CREB_synth(soma_tag)·Δt_cycle // material — recoverable soma_energy += mito_synth()·Δt_cycle // energy — NOT recoverable night_energy_spent += mito_synth()·Δt_cycle - // prime OWN spontaneous-firing threshold from OWN standing tag (high tag → easier to ignite) - soma_spont_thr = spont_thr_base − thr_gain × soma_tag - // ship this cycle's batch down to DEND and AXON (feeds the pattern's downstream links) - soma_material_to_dend += ship(soma_material, dend_demand, f_dend, ship_cost) + soma_spont_thr = spont_thr_base − thr_gain × soma_tag // restore firing excitability from standing tag + soma_material_to_dend += ship(soma_material, dend_demand, f_dend, ship_cost) // ship to feed pattern links soma_material_to_axon += ship(soma_material, axon_demand, f_axon, ship_cost) soma_energy_to_dend += ship(soma_energy, dend_demand, f_dend, ship_cost) soma_energy_to_axon += ship(soma_energy, axon_demand, f_axon, ship_cost) - soma_material += soma_ceiling_shrinkage·recycle // recycle + soma_material += soma_ceiling_shrinkage·recycle -NIGHT · REM = EVALUATION | fire to ignite + MEASURE participation (NO dopamine): // ignition + probe +// ===== PREPARATION (REM: REPLAY the fire — SAME machinery as DAY ACTION; ignites the pattern) ===== +NIGHT | replay-fire + measure: // firing here is PREPARATION, not the deed spont = intrinsic_fluctuation() - if spont > soma_spont_thr: + if spont > soma_spont_thr: // ignite (SAME threshold logic as day fire) replay_AP = TRUE - soma_fast_trace += nuclear_Ca() // deposit trace (the measurement) - // propagate down the DAY PATHWAY (self-igniting): AP → axon → boutons ; bAP → dendrites/spines - emit(replay_AP → AXON, DEND) // AXON/DEND relay onward IF primed - // pattern carries link by link, each relaying only if primed (mechanical coherence): - // SOMA →[replay_AP]→ AXON(primed?) →→ PRE(primed?) →[glutamate]→ POST(primed?) →→ DEND →→ SOMA - // a single un-primed link breaks the loop — only all-primed patterns re-evoke. - soma_participation = level(soma_fast_trace) // high/medium/low = circuit centrality (no dopamine) + soma_fast_trace += nuclear_Ca()·δ(replay) // SAME trace deposit as DAY ACTION + if soma_budget < ap_cost: // SAME capacity check → endurance evidence + if soma_fast_trace > traj_thr: soma_endurance_need += soma_fast_trace // SAME trace, fed by replay + else: + soma_budget -= ap_cost + emit(replay_AP → AXON, DEND) // propagate: AXON/DEND relay onward IF primed + // pattern carries link by link, primed→primed (mechanical coherence): + // SOMA →[replay_AP]→ AXON →→ PRE →[glutamate]→ POST →→ DEND →→ SOMA ; one un-primed link breaks it + soma_participation = level(soma_fast_trace) // read replayed response as participation soma_fast_trace *= decay(τ_nuclear) -NIGHT · NON_REM_2 = ACTION | change the structure: // the night's defining deed +// ===== ACTION (change the structure — the night's defining deed) ===== +NIGHT | change the structure: soma_structure -= decay_rate·Δt_cycle; soma_structure += min(soma_maint, maint_cost) // homeostatic lowering if soma_tag > tag_expiry and soma_participation ≥ MEDIUM: Δ = min(slot_batch, soma_material, soma_energy·f_cap, soma_tag) × soma_participation soma_structure += Δ; soma_material -= Δ; soma_energy -= Δ·assembly_cost - soma_tag -= Δ // CONSUME on build → threshold rises next cycle - if soma_endurance_need > endur_thr: - Δ' = min(cap_batch, soma_material·f_cap, soma_energy·f_cap) - soma_budget_ceiling += Δ'; soma_material -= Δ'; soma_energy -= Δ'·biogenesis_cost - soma_endurance_need -= Δ' - // if tag low or participation low: no build — never worth the spend (forgotten) + soma_tag -= Δ // CONSUME on build → excitability drops next cycle + if soma_endurance_need > endur_thr: + Δ' = min(cap_batch, soma_material·f_cap, soma_energy·f_cap) + soma_budget_ceiling += Δ'; soma_material -= Δ'; soma_energy -= Δ'·biogenesis_cost + soma_endurance_need -= Δ' + else: + soma_budget_ceiling -= capacity_decay_rate·Δt_cycle; soma_budget_ceiling += min(soma_cap_maint, cap_cost) soma_endurance_need *= decay(slow) ``` @@ -817,7 +874,7 @@ NIGHT · NON_REM_2 = ACTION | change the structure: // the night's defin The axon carries the soma's spike out to its boutons and is the presynapse's supply line. It propagates reliably or not depending on its myelination and its recent load, and ships material -and budget to the boutons. Its behavior unfolds across two DAY contexts and the NIGHT scope. +and budget to the boutons. Its behavior unfolds as the three categories at DAY and at NIGHT. **During DAY, during AP — the axon propagates the spike.** Reliability is set by structure (myelination) and degraded by recent high-frequency load (sodium inactivation at branch points — @@ -843,56 +900,68 @@ ceilings drift down. // NOTE AXON endurance fires only on FUEL shortfall; load-driven failure fail(fast_trace) // is axonal STD (a consequence), not endurance. Own-state proxy. -// RING × CONTEXT: AP → ACTION(propagate) | NOT_AP → EVAL(climb to tag) + PREP(ship/refill/settle) +// THE THREE CATEGORIES (same at DAY and NIGHT; here DAY, subject = soma's spike): +// ACTION propagate the delivered spike to boutons (context AP) +// RECOVERY restore axon excitability: ionic re-equilibration (fast alter-ego of propagation) +// PREPARATION shape the next: tag climb (NIGHT), ship to boutons, refill, settle +// fail(fast_trace) is load-driven axonal STD (a consequence); FUEL shortfall is endurance. -DAY | AP: // ACTION (lateral): propagate the spike - // ADJUST (reliability from structure − load-driven failure) +// ===== ACTION ===== +DAY | AP: // propagate the spike (the defining deed) reliability = axon_structure.propagation × (1 - fail(axon_fast_trace)) // fail() = STD, not endurance if axon_budget < prop_cost: reliability *= budget_factor - if axon_fast_trace > traj_thr: // FUEL-limited → endurance + if axon_fast_trace > traj_thr: // FUEL-limited → endurance (a PREPARATION deposit) axon_endurance_need += axon_fast_trace delivered = fired × reliability; axon_budget -= prop_cost × delivered // EMIT delivered → boutons - axon_fast_trace += delivered; axon_fast_trace *= decay(s) // deposit fast trace + axon_fast_trace += delivered // deposit fast trace -DAY | NOT_AP: // EVALUATION (climb to tag) + PREPARATION - // EVAL: strength climb → token for NIGHT +// ===== RECOVERY (restore axon excitability; alter-ego of propagation) ===== +DAY | NOT_AP · recovered: // ionic re-equilibration + axon_fast_trace *= decay(s) // FAST — shaft relaxes + +// ===== PREPARATION (shape the next propagation AND the NIGHT) ===== +DAY | NOT_AP: + // for NIGHT: strength climb → token for NIGHT 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 - // PREP: ship to boutons, refill toward next demand, settle + // for the next: ship to boutons, refill toward next demand axon_ship_pre = ship(axon_budget, pre_demand, pre_ship_frac, ship_cost) axon_budget += refill(axon from soma_ship_axon + astro_lactate[shaft]) - // DECAY - // FAST (ms–s) - axon_fast_trace *= decay(s) - // MEDIUM (s–min) - axon_possible_tag *= decay(s); axon_endurance_need *= decay(min) - // SLOW (hr) - axon_tag *= decay(hr) + axon_possible_tag *= decay(s); axon_endurance_need *= decay(min) // MEDIUM + axon_tag *= decay(hr) // SLOW -NIGHT · NON_REM_1 = PREPARATION | import + prime + relay setup: // vertical: supply + excitability +// ── NIGHT: SAME three categories, consolidation timescale, subject = the pattern. AXON is an +// intermediate RELAY: its PREPARATION replay relays replay_AP onward to boutons IF primed (carrying +// SOMA→AXON→PRE). (ACTION ⇄ RECOVERY) × cycles, then PREPARATION. + +// ===== RECOVERY (import + prime relay excitability + ship down) ===== +NIGHT | import + prime: axon_material += transit(soma_material_to_axon, τ_transport_dend) axon_energy += transit(soma_energy_to_axon, τ_transport_dend) - axon_spont_thr = spont_thr_base − thr_gain × axon_tag // prime own relay excitability from own tag + axon_spont_thr = spont_thr_base − thr_gain × axon_tag // restore relay excitability from standing tag if renorm_signal arrived: freed = axon_structure × (1 - renorm_signal); axon_structure *= renorm_signal emit(freed → recycled material pool) axon_material += axon_ceiling_shrinkage·recycle // energy NOT recovered - // ship this cycle's batch one hop down to PRE (feeds the pattern's bouton links) - pre_material_ship += ship(axon_material, pre_demand, f_bouton, ship_cost) + pre_material_ship += ship(axon_material, pre_demand, f_bouton, ship_cost) // ship to feed bouton links pre_energy_ship += ship(axon_energy, pre_demand, f_bouton, ship_cost) -NIGHT · REM = EVALUATION | relay replay_AP if primed + MEASURE participation (NO dopamine): - // an arrived replay_AP (from SOMA) — relay onward to boutons IF primed (this carries SOMA→PRE) - if arrived_replay_AP and axon_spont_thr < recruit_thr: +// ===== PREPARATION (REM: REPLAY the propagation — SAME machinery as DAY ACTION; relays the pattern) ===== +NIGHT | replay + measure: // propagation here is PREPARATION, not the deed + if arrived_replay_AP and axon_spont_thr < recruit_thr: // relay onward to boutons IF primed + reliability = axon_structure.propagation × (1 - fail(axon_fast_trace)) // SAME reliability machinery delivered = reliability × axon_structure.propagation - emit(replay_AP → PRE) // carries the pattern to the boutons IF primed + emit(replay_AP → PRE) // carries the pattern to the boutons axon_fast_trace += delivered - axon_participation = level(axon_fast_trace) // high/medium/low = shaft centrality + if axon_budget < prop_cost and axon_fast_trace > traj_thr: // SAME capacity check → endurance + axon_endurance_need += axon_fast_trace // SAME trace, fed by replay + axon_participation = level(axon_fast_trace) // read replayed response as participation axon_fast_trace *= decay(s) -NIGHT · NON_REM_2 = ACTION | change the structure: // the night's defining deed +// ===== ACTION (change the structure — the night's defining deed) ===== +NIGHT | change the structure: axon_structure -= decay_rate·Δt_cycle; axon_structure += min(axon_maint, maint_cost) // homeostatic lowering if axon_tag > tag_expiry and axon_participation ≥ MEDIUM: Δ = min(slot_batch, axon_material, axon_energy·f_cap, axon_tag) × axon_participation @@ -1032,17 +1101,20 @@ DAY or NIGHT | OVERLOAD: --- --- -> NIGHT-BLOCK UNIFORMITY. ALL SIX local components now run the NIGHT ring -> (NON_REM_1 = PREPARATION · REM = EVALUATION · NON_REM_2 = ACTION), each adapted to its role: -> (a) NON_REM_1 imports/produces supply, primes its OWN threshold from its OWN standing tag, +> NIGHT-BLOCK UNIFORMITY (three categories). PRE, SOMA, POST, DEND, AXON now run both DAY and NIGHT +> chunked as (ACTION ⇄ RECOVERY) × many, then PREPARATION, under explicit `// ===== =====` separators: +> (a) NIGHT-RECOVERY imports/produces supply, primes its OWN threshold from its OWN standing tag, > applies the descended constraint to itself, recycles, and — for intermediate nodes AXON/DEND — -> ships downstream so the pattern's links are fed; (b) REM releases/fires/responds as a PROBE and -> reads its own fast_trace as participation (level: high/medium/low), NO dopamine — AXON/DEND also -> RELAY the arrived replay_AP onward IF primed (this carries the pattern SOMA→AXON→PRE and -> SOMA→DEND→POST); (c) NON_REM_2 lowers structure homeostatically, then rebuilds where the tag still -> stands AND participation ≥ medium, consuming the tag. Roots (SOMA material, ASTROSYNAPSE energy) -> additionally PRODUCE each cycle and track night_energy_spent. The replay pattern propagates entirely -> through the DAY PATHWAYS, self-igniting, carrying only where every link is primed. +> ships downstream so the pattern's links are fed; (b) NIGHT-PREPARATION REPLAYS the day action — +> re-runs the SAME release/fire/respond/propagate machinery (same capacity/vesicle checks, same +> endurance deposit into the SAME trace), read as participation (level: high/medium/low), NO dopamine; +> AXON/DEND/SOMA also propagate the replay_AP onward IF primed (carrying SOMA→AXON→PRE and +> SOMA→DEND→POST); (c) NIGHT-ACTION lowers structure homeostatically, then rebuilds where the tag +> still stands AND participation ≥ medium, consuming the tag. Roots (SOMA material) additionally +> PRODUCE each cycle. The replay pattern propagates entirely through the DAY PATHWAYS, self-igniting, +> carrying only where every link is primed. +> [ASTROSYNAPSE still shows the earlier NON_REM/REM form — pending its own pass (it is continuous and +> under-described; the three-category cut will be verified there separately).] --- --- @@ -1079,8 +1151,8 @@ DAY | active: // (own_activity high NIGHT | cycle: // (own_activity low AND sleep_pressure high) // the neuron acts ONLY by signalling; components prime/measure/rebuild themselves. Each - // component's cycle is NON_REM_1→REM→NON_REM_2; the neuron just supplies the constraint. - occupancy_downscale = downscale_factor // → components reset own occupancy (in NON_REM_1) + // component's cycle is RECOVERY→PREPARATION→ACTION; the neuron just supplies the constraint. + occupancy_downscale = downscale_factor // → components reset own occupancy (in RECOVERY) if neuron_total_weight > neuron_weight_ceiling: renorm_signal = neuron_weight_ceiling / neuron_total_weight // → components scale own structure rest_permission = TRUE // → components may restructure this cycle