Update 2026-06-29-tripartite-synapse_v17.md

This commit is contained in:
2026-07-06 16:45:34 +02:00
parent db08fb9770
commit 651f2847af
@@ -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 always integrating fatigue and emitting sleep-pressure, spanning every other actor's day and
night — the clock that never sleeps. night — the clock that never sleeps.
NIGHT IS A SEQUENCE OF REPLAY CYCLES (dual of DAY). DAY loops action-steps until energy/material EVERY SCOPE RUNS THE SAME THREE CATEGORIES: (ACTION ⇄ RECOVERY) × many, then PREPARATION.
is exhausted; NIGHT loops NON_REM_1 → REM → NON_REM_2 cycles until the tag is exhausted. It is the ACTION the scope's defining deed (DAY: release/fire/respond/propagate — the cleft exchange;
SAME three-phase ring as DAY (PREPARATION · ACTION · EVALUATION) — only the subjects and the NIGHT: change structure — the irreversible build).
assignment of which phase is ACTION vs EVALUATION rotate: RECOVERY the fast alter-ego of the action — restore the ability to act again (DAY: vesicle
NON_REM_1 = PREPARATION import material/energy; PRIME the threshold/VGCC from the standing tag refill, refractory de-inactivation, Ca clearance; NIGHT: import material/energy, prime).
REM = EVALUATION release NT as a PROBE to MEASURE participation (fast_trace level); PREPARATION shape what comes next — faces BOTH the next same-scope action AND the other scope.
NO dopamine — significance is settled; this reads circuit centrality only This is where what earlier drafts called "evaluation" lives: depositing a trace is not
NON_REM_2 = ACTION the structural change itself (the night's defining deed): general judging, it is provisioning. DAY-preparation stocks the tag (for NIGHT) and sets
homeostatic lowering, then increase where tag stands AND REM measured occupancy/thresholds (for the next action). NIGHT-preparation REPLAYS the action —
high/medium participation, consuming the tag on the build re-runs the SAME machinery as DAY ACTION (same capacity/vesicle checks, same endurance
The SAME physical NT release is ACTION by DAY (transmit) and EVALUATION by NIGHT (probe to measure). deposit into the SAME trace), but with NO dopamine and the release as a PROBE, read as
The structural change is only MARKED by day (the inert tag) and ENACTED by night. SOMA is the participation, not transmitted.
ignition point: its REM firing propagates a replay_AP through the DAY PATHWAYS
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. (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 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. 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 The assembly that replays is NOT an actor — it is the coincidence of many components' own lowered
thresholds propagating through recurrent coupling. thresholds propagating through recurrent coupling.
WHAT PERSISTS MUST HAVE EARNED PERSISTENCE. NON_REM_1 drives occupancy (VGCC_active, AMPA_surface, WHAT PERSISTS MUST HAVE EARNED PERSISTENCE. Night-RECOVERY drives occupancy (VGCC_active,
possible_tag) toward baseline; NON_REM_2's homeostatic lowering trims all structure; only what is AMPA_surface, possible_tag) toward baseline; night-ACTION's homeostatic lowering trims all
rebuilt from a still-standing tag with confirmed participation carries forward. NIGHT ends when the structure; only what is rebuilt from a still-standing tag with confirmed participation carries
tag is exhausted (well-rested — every significant pattern replayed and its structure rebuilt) OR forward. NIGHT ends when the tag is exhausted (well-rested — every significant pattern replayed and
energy is spent (overloaded — unspent tags carry to the next night). 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 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) 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 maint_frac cap_frac // maintenance allocation
decay_rate capacity_decay_rate recycle // passive ceiling decay + material recovery decay_rate capacity_decay_rate recycle // passive ceiling decay + material recovery
homeostatic_ceiling assembly_cost biogenesis_cost maint_cost 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) 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) neuron_weight_ceiling // renormalization target (broadcast constraint)
// ── NIGHT RING (NON_REM_1 = PREPARATION · REM = EVALUATION · NON_REM_2 = ACTION) ── // ── NIGHT (RECOVERY = import/prime · PREPARATION = replay probe · ACTION = restructure) ──
spont_thr_base thr_gain // spontaneous threshold = base gain×own_tag (NON_REM_1 prime) 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 (NON_REM_1) 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) intrinsic_fluctuation() // intrinsic sub-threshold noise (the night's ignition source)
mini_flux mini_Ca() // spontaneous mini release size + its Ca deposit (REM probe) 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) 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. // ── 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 ⇄ 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] // ACTION change the structure (the night's defining deed)
// RECOVERY restore the ability to restructure again: import material/energy, prime [was NON_REM_1] // RECOVERY restore the ability to restructure again: import material/energy, prime
// PREPARATION probe-release to MEASURE participation, shaping the next restructuring [was REM] // 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; // 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 — // 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. // 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) emit(freed → recycled material pool)
pre_material += pre_ceiling_shrinkage·recycle // energy NOT recovered pre_material += pre_ceiling_shrinkage·recycle // energy NOT recovered
// ===== PREPARATION (probe-release to measure participation; shapes the next ACTION; NO dopamine) ===== // ===== PREPARATION (REM: REPLAY the action — SAME machinery as DAY ACTION, read differently) =====
NIGHT | probe + measure: // release here is PREPARATION, not action // 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() spont = intrinsic_fluctuation()
if spont > pre_spont_thr or arrived_replay_AP: // spontaneous, or recruited by the pattern if spont > pre_spont_thr or arrived_replay_AP: // ignite: spontaneous, or recruited by the pattern
pre_fast_trace += mini_Ca(VGCC_active); glutamate += mini_flux·Δt // release as a PROBE pre_fast_trace += mini_Ca(VGCC_active)·δ(replay) // SAME trace deposit as DAY ACTION
pre_participation = level(pre_fast_trace) // high/medium/low — feeds the next 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) pre_fast_trace *= decay(100ms)
// ===== ACTION (change the structure — the night's defining deed) ===== // ===== 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 depolarization and calcium, and supralinearly amplifies an existing candidate — the soma's
confirmation that it fired, detected in the action-moment (instantaneous coincidence). 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 **EVALUATION FOLDS INTO PREPARATION.** POST runs the same three categories as every component.
dopamine coincidence, climbs to the tag. Preparation fills AMPA surface toward the slot ceiling ACTION is the synaptic response (integrate glutamate, detect the instantaneous coincidences, emit
from accumulated calcium (short-term potentiation, no dopamine), refills budget toward next demand, the retrogrades). RECOVERY restores the ability to respond again — calcium extrusion and NMDA
and lets traces settle. A fuel shortfall while calcium was climbing toward a tag is endurance Mg-block re-establishment, the fast alter-ego of the response. PREPARATION shapes what comes next:
evidence; a surface already at its ceiling is a structural limit, not endurance. 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, **During NIGHT — the same three categories, turned inward.** RECOVERY imports material/energy and
draw-and-commit (structure where a validated tag stood — with a coherence bonus when pre, post, and primes AMPA responsiveness from the standing tag. PREPARATION replays: POST responds to the
astro all tagged the same synapse — or budget capacity where fuel interrupted a climbing trajectory), re-evoked glutamate exactly as it responds by day (same AMPA/NMDA machinery, same endurance
make-room. Both ceilings draw the same finite pool and compete; unmaintained ceilings drift down. 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 // 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) // SUPPLY astro_lactate[syn] ← ASTRO ; dend_ship_post ← DEND ; post_material ← DEND(NIGHT) ; post_energy ← SOMA(NIGHT)
// EMERGENCY shockwave_lockdown ← ASTRO // EMERGENCY shockwave_lockdown ← ASTRO
// NOTE POST endurance is own-state only (own Ca climbing); no arrived feedback term. // 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 in PREPARATION.
// coincidences sort by timescale: D-serine/bAP detected IN ACTION (instantaneous),
// dopamine detected IN EVALUATION (integrable).
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 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 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 DAY | NOT_bAP: // respond to arrived input (the defining deed)
// ── ACTION (lateral): integrate arrived input, detect instantaneous coincidences, emit retro ──
a = sat(glutamate, K_AMPA) a = sat(glutamate, K_AMPA)
AMPA_current = a × AMPA_surface; Vm += AMPA_current; post_budget -= AMPA_cost // SOURCE 1 AMPA AMPA_current = a × AMPA_surface; Vm += AMPA_current; post_budget -= AMPA_cost // SOURCE 1 AMPA
post_fast_trace += AMPA_Ca·AMPA_current post_fast_trace += AMPA_Ca·AMPA_current
if Vm > Mg_eject and astro_Dserine > Dserine_thr and glutamate > 0: // SOURCE 2 NMDA 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" retro_NO += NO_emit(post_fast_trace); post_budget -= NO_synth_cost // EMIT + "responsive target"
if Vm > eCB_thr: if Vm > eCB_thr:
retro_eCB += eCB_emit(Vm); post_budget -= eCB_synth_cost // EMIT brake 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 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: if dopamine > dop_thr and post_possible_tag > tag_thr:
post_tag += dopamine × post_possible_tag // token minted for NIGHT 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_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: if post_fast_trace > traj_thr and post_fast_trace_rising:
post_endurance_need += post_fast_trace post_endurance_need += post_fast_trace
else if AMPA_surface < post_structure.slot_ceiling: else if AMPA_surface < post_structure.slot_ceiling:
@@ -521,15 +558,18 @@ DAY | NOT_bAP: // ACTION(integrate)
else: else:
AMPA_surface = max(AMPA_surface - drift·Δt, baseline) // STD = un-honored decay 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_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_possible_tag *= decay(min); post_endurance_need *= decay(min) // MEDIUM
post_tag *= decay(hr); dopamine *= decay(ms) // SLOW + signals 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_material += transit(post_material_ship, τ_transport_spine)
post_energy += transit(post_energy_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 // restore responsiveness from standing tag
post_spont_thr = spont_thr_base thr_gain × post_tag
if post_tag > prime_thr: if post_tag > prime_thr:
AMPA_surface = min(AMPA_surface + prime_gain × post_tag, post_structure.slot_ceiling) AMPA_surface = min(AMPA_surface + prime_gain × post_tag, post_structure.slot_ceiling)
post_possible_tag *= occupancy_downscale post_possible_tag *= occupancy_downscale
@@ -538,15 +578,20 @@ NIGHT · NON_REM_1 = PREPARATION | import + prime: // vertical: supply
emit(freed → recycled material pool) emit(freed → recycled material pool)
post_material += post_ceiling_shrinkage·recycle // energy NOT recovered post_material += post_ceiling_shrinkage·recycle // energy NOT recovered
NIGHT · REM = EVALUATION | respond to re-evoked input, MEASURE participation (NO dopamine): // ===== PREPARATION (REM: REPLAY the response — SAME machinery as DAY ACTION) =====
// a re-evoked pattern arrives as replayed glutamate (from PRE's mini) ± bAP; POST responds as a PROBE NIGHT | replay + measure: // response here is PREPARATION, not the deed
if arrived_glutamate_replay or arrived_replay_AP: if arrived_glutamate_replay or arrived_replay_AP: // re-evoked input arrives
post_fast_trace += AMPA_Ca·(a × AMPA_surface) a = sat(glutamate, K_AMPA)
if Vm > Mg_eject and astro_Dserine > Dserine_thr: post_fast_trace += NMDA_Ca(glutamate) post_fast_trace += AMPA_Ca·(a × AMPA_surface) // SAME AMPA machinery as DAY ACTION
post_participation = level(post_fast_trace) // high/medium/low = centrality in re-evoked pattern 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) 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 post_structure -= decay_rate·Δt_cycle; post_structure += min(post_maint, maint_cost) // homeostatic lowering
if post_tag > tag_expiry and post_participation ≥ MEDIUM: if post_tag > tag_expiry and post_participation ≥ MEDIUM:
Δ = min(slot_batch, post_material, post_energy·f_cap, post_tag) × post_participation Δ = 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; // NOTE DEND endurance fires only on FUEL-limited propagation, not structural attenuation;
// own-state proxy (strong branch activity); no arrived feedback term. // 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 // ===== ACTION =====
// ADJUST (propagation strength from structure — inside propagate()) DAY | bAP: // propagate + integrate (the defining deed)
// BEHAVE (propagate bAP; distinguish fuel-limited vs structure-limited shortfall)
if dend_budget < prop_cost: if dend_budget < prop_cost:
// FUEL shortfall → endurance (branch was strongly active) if dend_fast_trace > traj_thr: // FUEL shortfall → endurance (a PREPARATION deposit)
if dend_fast_trace > traj_thr:
dend_endurance_need += dend_fast_trace dend_endurance_need += dend_fast_trace
bAP_local, reached = propagate_partial(dend_budget) bAP_local, reached = propagate_partial(dend_budget)
else: else:
bAP_local, reached = propagate(SOMA.fired, dend_structure.bAP_fidelity, geometry) bAP_local, reached = propagate(SOMA.fired, dend_structure.bAP_fidelity, geometry)
// reached < full here is structural attenuation (distance), NOT endurance // reached < full here is structural attenuation (distance), NOT endurance
dend_budget -= prop_cost × reached 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 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 // EMIT integrated Vm → SOMA
branch_Vm = integrate(POST.Vm, spines); dend_budget -= integrate_cost
DAY | NOT_bAP: // EVALUATION (climb to tag) + PREPARATION (ship/refill/settle) // ===== RECOVERY (restore branch excitability; alter-ego of propagation) =====
// EVAL: strength climb 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 dend_fast_trace > elig: dend_possible_tag += dend_fast_trace
if dopamine > dop_thr and dend_possible_tag > tag_thr: if dopamine > dop_thr and dend_possible_tag > tag_thr:
dend_tag += dopamine × dend_possible_tag // token minted for NIGHT 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) commit_threshold *= 1/(1 + ACh·ACh_gain)
if dend_tag > tag_expiry and dend_budget > translate_cost: dend_budget -= translate_cost 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_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)) dend_budget += refill(dend from astro_lactate[branch] + transit(soma_ship_dend, τ_transport_dend))
// DECAY dend_possible_tag *= decay(s); dend_endurance_need *= decay(min) // MEDIUM
// FAST (mss) dend_tag *= decay(hr) // SLOW
dend_fast_trace *= decay(300ms)
// MEDIUM (smin)
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)
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_material += transit(soma_material_to_dend, τ_transport_dend)
dend_energy += transit(soma_energy_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: if renorm_signal arrived:
freed = dend_structure × (1 - renorm_signal); dend_structure *= renorm_signal freed = dend_structure × (1 - renorm_signal); dend_structure *= renorm_signal
emit(freed → recycled material pool) emit(freed → recycled material pool)
dend_material += dend_ceiling_shrinkage·recycle // energy NOT recovered 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) // ship to feed spine links
post_material_ship += ship(dend_material, post_demand, f_spine, ship_cost)
post_energy_ship += ship(dend_energy, post_demand, f_spine, ship_cost) post_energy_ship += ship(dend_energy, post_demand, f_spine, ship_cost)
NIGHT · REM = EVALUATION | relay replay_AP if primed + MEASURE participation (NO dopamine): // ===== PREPARATION (REM: REPLAY the propagation — SAME machinery as DAY ACTION; relays the pattern) =====
// an arrived replay_AP (from SOMA) re-evokes the branch — relay onward to spines IF primed NIGHT | replay + measure: // propagation here is PREPARATION, not the deed
if arrived_replay_AP and dend_spont_thr < recruit_thr: 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) bAP_local = propagate(replay_AP, dend_structure.bAP_fidelity, geometry) // SAME propagate machinery
emit(bAP_local → POST) // carries the pattern to the spines IF primed emit(bAP_local → POST) // carries the pattern to the spines
dend_fast_trace += bAP_Ca(bAP_local) 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) 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 dend_structure -= decay_rate·Δt_cycle; dend_structure += min(dend_maint, maint_cost) // homeostatic lowering
if dend_tag > tag_expiry and dend_participation ≥ MEDIUM: if dend_tag > tag_expiry and dend_participation ≥ MEDIUM:
Δ = min(slot_batch, dend_material, dend_energy·f_cap, dend_tag) × dend_participation Δ = 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 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 — 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 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 **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 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); // NOTE SOMA endurance fires only on FUEL shortfall (budget < ap_cost);
// refractory / sub-threshold are timing limits, not endurance. Own-state proxy. // 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 THREE CATEGORIES (same at DAY and NIGHT; here DAY, subject = the branch input / spike):
// the ONE spike's fast trace feeds TWO destinations: nuclear-Ca → tag (EVALUATION, cross-scope), // ACTION fire (the defining deed) — context AP
// and inactivation/adaptation/alignment → next-spike timing (PREPARATION, this scope). // 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 // ===== ACTION =====
// ADJUST (threshold from structure + adaptation + neuromodulators ; refractory gate) DAY | AP: // integrate + fire (the defining deed)
threshold = soma_structure.baseline_threshold × (1 + soma_adaptation) × neuromod(NE, ACh) threshold = soma_structure.baseline_threshold × (1 + soma_adaptation) × neuromod(NE, ACh)
can_fire = soma_Na_inactivation < inactivation can_fire = soma_Na_inactivation < inactivation
// ACTION (fire if able)
if branch_Vm > threshold and can_fire: if branch_Vm > threshold and can_fire:
if soma_budget < ap_cost: if soma_budget < ap_cost: // FUEL shortfall → endurance (a PREPARATION deposit)
// FUEL shortfall → endurance (firing was approaching CREB)
if soma_fast_trace > traj_thr and soma_fast_trace_rising: if soma_fast_trace > traj_thr and soma_fast_trace_rising:
soma_endurance_need += soma_fast_trace soma_endurance_need += soma_fast_trace
exit exit
fired = True; soma_budget -= ap_cost // EMIT fired → AXON, DEND fired = True; soma_budget -= ap_cost // EMIT fired → AXON, DEND
// deposit the THREE traces from one AP: nuclear-Ca (→EVAL) + adaptation/inactivation (→PREP) // deposit the THREE traces from one AP (all PREPARATION content, deposited in the action):
soma_Na_inactivation += ap_amp // PREP seed: refractory (emergent) soma_Na_inactivation += ap_amp // refractory (recovery will undo this)
soma_adaptation += ap_contrib // PREP seed: threshold rise soma_adaptation += ap_contrib // threshold rise (next-spike timing)
soma_fast_trace += nuclear_Ca(); soma_budget -= nuclear_cost // EVAL seed soma_fast_trace += nuclear_Ca(); soma_budget -= nuclear_cost // → tag (for NIGHT)
// EVALUATION: strength climb toward the tag (cross-scope token for NIGHT)
if soma_fast_trace > elig: soma_possible_tag += soma_fast_trace if soma_fast_trace > elig: soma_possible_tag += soma_fast_trace
if dopamine > dop_thr and soma_possible_tag > tag_thr: if dopamine > dop_thr and soma_possible_tag > tag_thr:
soma_tag += dopamine × soma_possible_tag soma_tag += dopamine × soma_possible_tag
soma_budget -= creb_cost soma_budget -= creb_cost
soma_emitted_activity += 1; soma_emitted_structure = soma_structure // NEURON sums these 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 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: if branch_Vm > threshold and soma_Na_inactivation > inactivation:
soma_refractory_alignment += (branch_Vm - threshold) × soma_Na_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_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_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) // settle medium/slow stocks
recovery = base_recovery × (1 + soma_refractory_alignment) soma_refractory_alignment *= decay(τ_align); soma_adaptation *= decay(τ_adapt)
soma_Na_inactivation *= decay(τ_Na / recovery)
// DECAY
// FAST (mss) — refractory + nuclear-Ca + alignment
soma_fast_trace *= decay(τ_nuclear); soma_refractory_alignment *= decay(τ_align) // self-limiting
// MEDIUM (smin) — adaptation + tagging evidence
soma_adaptation *= decay(τ_adapt)
soma_possible_tag *= decay(s); soma_endurance_need *= decay(min) soma_possible_tag *= decay(s); soma_endurance_need *= decay(min)
// SLOW (hr)
soma_tag *= decay(hr); dopamine *= decay(ms) 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 // ── NIGHT: SAME three categories, consolidation timescale, subject = the pattern. SOMA is a ROOT
// ROOT (produces material each cycle) AND the IGNITION POINT: its REM firing propagates a replay // (produces material each cycle) AND the IGNITION POINT: its PREPARATION replay-fire propagates a
// AP down axon + dendrites, re-evoking the pattern through the DAY PATHWAY. A pattern carries only // replay_AP down axon + dendrites, re-evoking the pattern through the DAY PATHWAY. A pattern
// if every link is primed (each component's own tag lowered its own threshold). SOMA's own // carries only if every link is primed. Night PREPARATION mirrors day ACTION (same fire machinery),
// firing/participation is measured the way PRE measures release; NON_REM_2 is its structural act. // read for participation, not significance. (ACTION ⇄ RECOVERY) × cycles, then PREPARATION.
NIGHT · NON_REM_1 = PREPARATION | produce + prime: // vertical: production + excitability + supply // ===== RECOVERY (produce + restore the ability to restructure: material, energy, excitability) =====
// PRODUCTION (root): this cycle's material + energy batch, gated by own tag, capped externally NIGHT | produce + prime: // ROOT production + alter-ego of night ACTION
soma_material += CREB_synth(soma_tag)·Δt_cycle // material — recoverable soma_material += CREB_synth(soma_tag)·Δt_cycle // material — recoverable
soma_energy += mito_synth()·Δt_cycle // energy — NOT recoverable soma_energy += mito_synth()·Δt_cycle // energy — NOT recoverable
night_energy_spent += mito_synth()·Δt_cycle 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 // restore firing excitability from standing tag
soma_spont_thr = spont_thr_base thr_gain × soma_tag soma_material_to_dend += ship(soma_material, dend_demand, f_dend, ship_cost) // ship to feed pattern links
// 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_material_to_axon += ship(soma_material, axon_demand, f_axon, ship_cost) 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_dend += ship(soma_energy, dend_demand, f_dend, ship_cost)
soma_energy_to_axon += ship(soma_energy, axon_demand, f_axon, 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() spont = intrinsic_fluctuation()
if spont > soma_spont_thr: if spont > soma_spont_thr: // ignite (SAME threshold logic as day fire)
replay_AP = TRUE replay_AP = TRUE
soma_fast_trace += nuclear_Ca() // deposit trace (the measurement) soma_fast_trace += nuclear_Ca()·δ(replay) // SAME trace deposit as DAY ACTION
// propagate down the DAY PATHWAY (self-igniting): AP → axon → boutons ; bAPdendrites/spines if soma_budget < ap_cost: // SAME capacity check → endurance evidence
emit(replay_AP → AXON, DEND) // AXON/DEND relay onward IF primed if soma_fast_trace > traj_thr: soma_endurance_need += soma_fast_trace // SAME trace, fed by replay
// pattern carries link by link, each relaying only if primed (mechanical coherence): else:
// SOMA →[replay_AP]→ AXON(primed?) →→ PRE(primed?) →[glutamate]→ POST(primed?) →→ DEND →→ SOMA soma_budget -= ap_cost
// a single un-primed link breaks the loop — only all-primed patterns re-evoke. emit(replay_AP → AXON, DEND) // propagate: AXON/DEND relay onward IF primed
soma_participation = level(soma_fast_trace) // high/medium/low = circuit centrality (no dopamine) // 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) 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 soma_structure -= decay_rate·Δt_cycle; soma_structure += min(soma_maint, maint_cost) // homeostatic lowering
if soma_tag > tag_expiry and soma_participation ≥ MEDIUM: if soma_tag > tag_expiry and soma_participation ≥ MEDIUM:
Δ = min(slot_batch, soma_material, soma_energy·f_cap, soma_tag) × soma_participation Δ = min(slot_batch, soma_material, soma_energy·f_cap, soma_tag) × soma_participation
soma_structure += Δ; soma_material -= Δ; soma_energy -= Δ·assembly_cost soma_structure += Δ; soma_material -= Δ; soma_energy -= Δ·assembly_cost
soma_tag -= Δ // CONSUME on build → threshold rises next cycle soma_tag -= Δ // CONSUME on build → excitability drops next cycle
if soma_endurance_need > endur_thr: if soma_endurance_need > endur_thr:
Δ' = min(cap_batch, soma_material·f_cap, soma_energy·f_cap) Δ' = min(cap_batch, soma_material·f_cap, soma_energy·f_cap)
soma_budget_ceiling += Δ'; soma_material -= Δ'; soma_energy -= Δ'·biogenesis_cost soma_budget_ceiling += Δ'; soma_material -= Δ'; soma_energy -= Δ'·biogenesis_cost
soma_endurance_need -= Δ' soma_endurance_need -= Δ'
// if tag low or participation low: no build — never worth the spend (forgotten) else:
soma_budget_ceiling -= capacity_decay_rate·Δt_cycle; soma_budget_ceiling += min(soma_cap_maint, cap_cost)
soma_endurance_need *= decay(slow) 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 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 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 **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 — (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) // NOTE AXON endurance fires only on FUEL shortfall; load-driven failure fail(fast_trace)
// is axonal STD (a consequence), not endurance. Own-state proxy. // 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 // ===== ACTION =====
// ADJUST (reliability from structure load-driven failure) DAY | AP: // propagate the spike (the defining deed)
reliability = axon_structure.propagation × (1 - fail(axon_fast_trace)) // fail() = STD, not endurance reliability = axon_structure.propagation × (1 - fail(axon_fast_trace)) // fail() = STD, not endurance
if axon_budget < prop_cost: if axon_budget < prop_cost:
reliability *= budget_factor 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 axon_endurance_need += axon_fast_trace
delivered = fired × reliability; axon_budget -= prop_cost × delivered // EMIT delivered → boutons 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 // ===== RECOVERY (restore axon excitability; alter-ego of propagation) =====
// EVAL: strength climb → token for NIGHT 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 axon_fast_trace > elig: axon_possible_tag += axon_fast_trace
if dopamine > dop_thr and axon_possible_tag > tag_thr: if dopamine > dop_thr and axon_possible_tag > tag_thr:
axon_tag += dopamine × axon_possible_tag 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_ship_pre = ship(axon_budget, pre_demand, pre_ship_frac, ship_cost)
axon_budget += refill(axon from soma_ship_axon + astro_lactate[shaft]) axon_budget += refill(axon from soma_ship_axon + astro_lactate[shaft])
// DECAY axon_possible_tag *= decay(s); axon_endurance_need *= decay(min) // MEDIUM
// FAST (mss) axon_tag *= decay(hr) // SLOW
axon_fast_trace *= decay(s)
// MEDIUM (smin)
axon_possible_tag *= decay(s); axon_endurance_need *= decay(min)
// SLOW (hr)
axon_tag *= decay(hr)
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_material += transit(soma_material_to_axon, τ_transport_dend)
axon_energy += transit(soma_energy_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: if renorm_signal arrived:
freed = axon_structure × (1 - renorm_signal); axon_structure *= renorm_signal freed = axon_structure × (1 - renorm_signal); axon_structure *= renorm_signal
emit(freed → recycled material pool) emit(freed → recycled material pool)
axon_material += axon_ceiling_shrinkage·recycle // energy NOT recovered 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) // ship to feed bouton links
pre_material_ship += ship(axon_material, pre_demand, f_bouton, ship_cost)
pre_energy_ship += ship(axon_energy, pre_demand, f_bouton, ship_cost) pre_energy_ship += ship(axon_energy, pre_demand, f_bouton, ship_cost)
NIGHT · REM = EVALUATION | relay replay_AP if primed + MEASURE participation (NO dopamine): // ===== PREPARATION (REM: REPLAY the propagation — SAME machinery as DAY ACTION; relays the pattern) =====
// an arrived replay_AP (from SOMA) — relay onward to boutons IF primed (this carries SOMA→PRE) NIGHT | replay + measure: // propagation here is PREPARATION, not the deed
if arrived_replay_AP and axon_spont_thr < recruit_thr: 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 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_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) 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 axon_structure -= decay_rate·Δt_cycle; axon_structure += min(axon_maint, maint_cost) // homeostatic lowering
if axon_tag > tag_expiry and axon_participation ≥ MEDIUM: if axon_tag > tag_expiry and axon_participation ≥ MEDIUM:
Δ = min(slot_batch, axon_material, axon_energy·f_cap, axon_tag) × axon_participation Δ = 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 > NIGHT-BLOCK UNIFORMITY (three categories). PRE, SOMA, POST, DEND, AXON now run both DAY and NIGHT
> (NON_REM_1 = PREPARATION · REM = EVALUATION · NON_REM_2 = ACTION), each adapted to its role: > chunked as (ACTION RECOVERY) × many, then PREPARATION, under explicit `// ===== =====` separators:
> (a) NON_REM_1 imports/produces supply, primes its OWN threshold from its OWN standing tag, > (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 — > 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 > ships downstream so the pattern's links are fed; (b) NIGHT-PREPARATION REPLAYS the day action —
> reads its own fast_trace as participation (level: high/medium/low), NO dopamine — AXON/DEND also > re-runs the SAME release/fire/respond/propagate machinery (same capacity/vesicle checks, same
> RELAY the arrived replay_AP onward IF primed (this carries the pattern SOMA→AXON→PRE and > endurance deposit into the SAME trace), read as participation (level: high/medium/low), NO dopamine;
> SOMA→DEND→POST); (c) NON_REM_2 lowers structure homeostatically, then rebuilds where the tag still > AXON/DEND/SOMA also propagate the replay_AP onward IF primed (carrying SOMA→AXON→PRE and
> stands AND participation ≥ medium, consuming the tag. Roots (SOMA material, ASTROSYNAPSE energy) > SOMA→DEND→POST); (c) NIGHT-ACTION lowers structure homeostatically, then rebuilds where the tag
> additionally PRODUCE each cycle and track night_energy_spent. The replay pattern propagates entirely > still stands AND participation ≥ medium, consuming the tag. Roots (SOMA material) additionally
> through the DAY PATHWAYS, self-igniting, carrying only where every link is primed. > 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) NIGHT | cycle: // (own_activity low AND sleep_pressure high)
// the neuron acts ONLY by signalling; components prime/measure/rebuild themselves. Each // 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. // component's cycle is RECOVERY→PREPARATION→ACTION; the neuron just supplies the constraint.
occupancy_downscale = downscale_factor // → components reset own occupancy (in NON_REM_1) occupancy_downscale = downscale_factor // → components reset own occupancy (in RECOVERY)
if neuron_total_weight > neuron_weight_ceiling: if neuron_total_weight > neuron_weight_ceiling:
renorm_signal = neuron_weight_ceiling / neuron_total_weight // → components scale own structure renorm_signal = neuron_weight_ceiling / neuron_total_weight // → components scale own structure
rest_permission = TRUE // → components may restructure this cycle rest_permission = TRUE // → components may restructure this cycle