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

This commit is contained in:
2026-07-05 21:33:31 +02:00
parent 49f0c48391
commit 25c20d10ea
@@ -200,6 +200,16 @@ VARIABLE TIERS (timescale = meaning; see logic_principles "The Timescale Ladder"
PERSISTENT (NIGHT) capacity (the ceilings) structure · budget_ceiling PERSISTENT (NIGHT) capacity (the ceilings) structure · budget_ceiling
energy (not recoverable) · material (recoverable) energy (not recoverable) · material (recoverable)
THE DAY STRENGTH CLIMB (same three-tier averaging in every component):
1. each ACTION leaves a fast_trace (FAST).
2. the running AVERAGE of fast_traces over SECONDS fills occupancy → short-term strength
(VGCC_active in PRE, AMPA_surface in POST, …); a LOW average lets occupancy drift back (STD).
3. the AVERAGE-OF-THE-AVERAGE over MINUTES (possible_tag), in coincidence with dopamine, raises
the TAG (SLOW) — the token passed to NIGHT. At night the tag is spent to modify structure
(the persistent version of the same strength the occupancy held transiently).
So occupancy is the fast/medium memory of participation; the tag is its dopamine-validated,
night-consolidatable distillate. Same climb, same three tiers, in all six components.
DAY budget · fast_trace · possible_tag · endurance_need DAY budget · fast_trace · possible_tag · endurance_need
BRIDGE tag (POST: CANDIDATE→STABLE) BRIDGE tag (POST: CANDIDATE→STABLE)
NIGHT energy (not recoverable) · material (recoverable) · structure · budget_ceiling NIGHT energy (not recoverable) · material (recoverable) · structure · budget_ceiling
@@ -512,29 +522,41 @@ DAY | NOT_bAP: // ACTION(integrate)
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 | cycle: // leaf of DAY chain, but emits inward/upward by NIGHT NIGHT · NON_REM_1 = PREPARATION | import + prime: // vertical: supply + set responsiveness
// RECEIVE batch arrived from DEND (material) + SOMA (energy) this cycle
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)
// TRACE read standing demand (post_tag → structure ; post_endurance_need → budget_ceiling) // prime from the STANDING tag: high tag raises AMPA occupancy → primes NMDA responsiveness in REM
// ADJUST coherence applies to POST (synaptic component) post_spont_thr = spont_thr_base thr_gain × post_tag
coh = coherence_signal if post_tag > prime_thr:
// BEHAVE commit batches; spend tag/need as fuel AMPA_surface = min(AMPA_surface + prime_gain × post_tag, post_structure.slot_ceiling)
if post_tag > tag_expiry: post_possible_tag *= occupancy_downscale
Δ = min(slot_batch, post_material, post_energy·f_cap) if renorm_signal arrived:
post_structure += Δ × coh; post_material -= Δ; post_energy -= Δ·assembly_cost freed = post_structure × (1 - renorm_signal); post_structure *= renorm_signal
post_tag -= Δ 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
post_fast_trace *= decay(ms)
NIGHT · NON_REM_2 = ACTION | change the structure: // the night's defining deed
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
post_structure += Δ; post_material -= Δ; post_energy -= Δ·assembly_cost
post_tag -= Δ // CONSUME on build
if post_endurance_need > endur_thr: if post_endurance_need > endur_thr:
Δ' = min(cap_batch, post_material·f_cap, post_energy·f_cap) Δ' = min(cap_batch, post_material·f_cap, post_energy·f_cap)
post_budget_ceiling += Δ'; post_material -= Δ'; post_energy -= Δ'·biogenesis_cost post_budget_ceiling += Δ'; post_material -= Δ'; post_energy -= Δ'·biogenesis_cost
post_endurance_need -= Δ' post_endurance_need -= Δ'
// EMIT (none — spine is a leaf) else:
// RECOVER reclaim material from decayed ceilings post_budget_ceiling -= capacity_decay_rate·Δt_cycle; post_budget_ceiling += min(post_cap_maint, cap_cost)
post_material += post_ceiling_shrinkage·recycle // energy NOT recovered post_endurance_need *= decay(slow)
// DECAY emit(post_fatigue, post_demand → upward) // not a sink: emits inward/upward by night
post_structure -= decay_rate·Δt_cycle; post_budget_ceiling -= capacity_decay_rate·Δt_cycle
post_structure += min(post_maint, maint_cost); post_budget_ceiling += min(post_cap_maint, cap_cost)
post_tag *= decay(slow); post_endurance_need *= decay(slow)
``` ```
--- ---
@@ -614,29 +636,40 @@ DAY | NOT_bAP: // EVALUATION (climb
dend_tag *= decay(hr) dend_tag *= decay(hr)
// (PERSISTENT: dend_structure, dend_budget_ceiling — no DAY decay; NIGHT only) // (PERSISTENT: dend_structure, dend_budget_ceiling — no DAY decay; NIGHT only)
NIGHT | cycle: // intermediate node (relays down to POST) NIGHT · NON_REM_1 = PREPARATION | import + prime + relay setup: // vertical: supply + excitability
// RECEIVE batch arrived from SOMA this cycle
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)
// TRACE read standing demand (dend_tag → structure ; dend_endurance_need → budget_ceiling) dend_spont_thr = spont_thr_base thr_gain × dend_tag // prime own bAP-relay excitability from own tag
// ADJUST (no coherence — DEND is not a synaptic component) if renorm_signal arrived:
// BEHAVE commit batches; spend tag/need as fuel freed = dend_structure × (1 - renorm_signal); dend_structure *= renorm_signal
if dend_tag > tag_expiry: emit(freed → recycled material pool)
Δ = min(slot_batch, dend_material, dend_energy·f_cap) 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_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
dend_fast_trace += bAP_Ca(bAP_local)
dend_participation = level(dend_fast_trace) // high/medium/low = branch centrality
dend_fast_trace *= decay(300ms)
NIGHT · NON_REM_2 = ACTION | change the structure: // the night's defining deed
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
dend_structure += Δ; dend_material -= Δ; dend_energy -= Δ·assembly_cost; dend_tag -= Δ dend_structure += Δ; dend_material -= Δ; dend_energy -= Δ·assembly_cost; dend_tag -= Δ
if dend_endurance_need > endur_thr: if dend_endurance_need > endur_thr:
Δ' = min(cap_batch, dend_material·f_cap, dend_energy·f_cap) Δ' = min(cap_batch, dend_material·f_cap, dend_energy·f_cap)
dend_budget_ceiling += Δ'; dend_material -= Δ'; dend_energy -= Δ'·biogenesis_cost dend_budget_ceiling += Δ'; dend_material -= Δ'; dend_energy -= Δ'·biogenesis_cost
dend_endurance_need -= Δ' dend_endurance_need -= Δ'
// EMIT ship remaining batch one hop down to POST (demand = post tag) else:
post_material_ship += ship(dend_material, post_demand, f_spine, ship_cost) dend_budget_ceiling -= capacity_decay_rate·Δt_cycle; dend_budget_ceiling += min(dend_cap_maint, cap_cost)
post_energy_ship += ship(dend_energy, post_demand, f_spine, ship_cost) dend_endurance_need *= decay(slow)
// RECOVER reclaim material from decayed ceilings emit(dend_fatigue, dend_demand → upward)
dend_material += dend_ceiling_shrinkage·recycle // energy NOT recovered
// DECAY
dend_structure -= decay_rate·Δt_cycle; dend_budget_ceiling -= capacity_decay_rate·Δt_cycle
dend_structure += min(dend_maint, maint_cost); dend_budget_ceiling += min(dend_cap_maint, cap_cost)
dend_tag *= decay(slow); dend_endurance_need *= decay(slow)
``` ```
--- ---
@@ -835,29 +868,40 @@ DAY | NOT_AP: // EVALUATION (climb
// SLOW (hr) // SLOW (hr)
axon_tag *= decay(hr) axon_tag *= decay(hr)
NIGHT | cycle: // intermediate node (relays down to PRE) NIGHT · NON_REM_1 = PREPARATION | import + prime + relay setup: // vertical: supply + excitability
// RECEIVE batch arrived from SOMA this cycle
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)
// TRACE read standing demand (axon_tag → structure ; axon_endurance_need → budget_ceiling) axon_spont_thr = spont_thr_base thr_gain × axon_tag // prime own relay excitability from own tag
// ADJUST (no coherence — AXON is not a synaptic component) if renorm_signal arrived:
// BEHAVE commit batches; spend tag/need as fuel freed = axon_structure × (1 - renorm_signal); axon_structure *= renorm_signal
if axon_tag > tag_expiry: emit(freed → recycled material pool)
Δ = min(slot_batch, axon_material, axon_energy·f_cap) 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_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:
delivered = reliability × axon_structure.propagation
emit(replay_AP → PRE) // carries the pattern to the boutons IF primed
axon_fast_trace += delivered
axon_participation = level(axon_fast_trace) // high/medium/low = shaft centrality
axon_fast_trace *= decay(s)
NIGHT · NON_REM_2 = ACTION | change the structure: // the night's defining deed
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
axon_structure += Δ; axon_material -= Δ; axon_energy -= Δ·assembly_cost; axon_tag -= Δ axon_structure += Δ; axon_material -= Δ; axon_energy -= Δ·assembly_cost; axon_tag -= Δ
if axon_endurance_need > endur_thr: if axon_endurance_need > endur_thr:
Δ' = min(cap_batch, axon_material·f_cap, axon_energy·f_cap) Δ' = min(cap_batch, axon_material·f_cap, axon_energy·f_cap)
axon_budget_ceiling += Δ'; axon_material -= Δ'; axon_energy -= Δ'·biogenesis_cost axon_budget_ceiling += Δ'; axon_material -= Δ'; axon_energy -= Δ'·biogenesis_cost
axon_endurance_need -= Δ' axon_endurance_need -= Δ'
// EMIT ship remaining batch one hop down to PRE (demand = pre tag) else:
pre_material_ship += ship(axon_material, pre_demand, f_bouton, ship_cost) axon_budget_ceiling -= capacity_decay_rate·Δt_cycle; axon_budget_ceiling += min(axon_cap_maint, cap_cost)
pre_energy_ship += ship(axon_energy, pre_demand, f_bouton, ship_cost) axon_endurance_need *= decay(slow)
// RECOVER reclaim material from decayed ceilings emit(axon_fatigue, axon_demand → upward)
axon_material += axon_ceiling_shrinkage·recycle // energy NOT recovered
// DECAY
axon_structure -= decay_rate·Δt_cycle; axon_budget_ceiling -= capacity_decay_rate·Δt_cycle
axon_structure += min(axon_maint, maint_cost); axon_budget_ceiling += min(axon_cap_maint, cap_cost)
axon_tag *= decay(slow); axon_endurance_need *= decay(slow)
``` ```
--- ---
@@ -935,37 +979,42 @@ DAY | CONTINUOUS: // per astrosynapse i
// EMERGENCY // EMERGENCY
if astro_fast_trace[i] > overload: emit(shockwave_lockdown) if astro_fast_trace[i] > overload: emit(shockwave_lockdown)
NIGHT | cycle: // ROOT (synaptic energy + ECM) — produces each cycle NIGHT · NON_REM_1 = PREPARATION | produce + distribute + prime: // ROOT: energy production + priming
// RECEIVE = PRODUCTION: glycolysis + ECM synthesis this cycle, capped by glucose // PRODUCTION (root): glycolysis + ECM synthesis this cycle, capped by glucose
astro_central_energy += overnight_glycolysis(glucose)·Δt_cycle // energy — NOT recoverable astro_central_energy += overnight_glycolysis(glucose)·Δt_cycle // energy — NOT recoverable
astro_central_material += astro_cellbody_synth()·Δt_cycle // material — recoverable astro_central_material += astro_cellbody_synth()·Δt_cycle // material — recoverable
night_energy_spent += overnight_glycolysis(glucose)·Δt_cycle night_energy_spent += overnight_glycolysis(glucose)·Δt_cycle
// ADJUST tag-weighted shares across the territory // distribute this cycle's batch across the territory, tag-weighted
W = Σ astro_tag[i] over astro_tag[i] > tag_expiry W = Σ astro_tag[i] over astro_tag[i] > tag_expiry
// EMIT distribute this cycle's batch to astrosynapses (demand = own tag)
for each i with astro_tag[i] > tag_expiry: for each i with astro_tag[i] > tag_expiry:
w = astro_tag[i]/W w = astro_tag[i]/W
astro_energy[i] += astro_central_energy·w astro_energy[i] += astro_central_energy·w; astro_material[i] += astro_central_material·w
astro_material[i] += astro_central_material·w astro_spont_thr[i] = spont_thr_base thr_gain × astro_tag[i] // prime own responsiveness from own tag
// BEHAVE each astrosynapse commits; spend tag/need as fuel (coherence applies — synaptic) astro_central_material += astro_ceiling_shrinkage·recycle // recycle
NIGHT · REM = EVALUATION | respond to re-evoked glutamate, MEASURE participation (NO dopamine):
for each astrosynapse i: for each astrosynapse i:
coh = coherence_signal[i] // when its synapse's pattern re-evokes, spillover glutamate arrives → mGluR Ca response (a PROBE)
if astro_tag[i] > tag_expiry: if arrived_glutamate_replay[i]:
Δ = min(slot_batch, astro_material[i], astro_energy[i]·f_cap) astro_fast_trace[i] += mGluR_Ca()
astro_structure[i] += Δ × coh // self-reinforcing both directions astro_participation[i] = level(astro_fast_trace[i]) // high/medium/low = centrality
astro_fast_trace[i] *= decay(s)
NIGHT · NON_REM_2 = ACTION | change the structure (per astrosynapse): // the night's defining deed
for each astrosynapse i:
astro_structure[i] -= decay_rate·Δt_cycle; astro_structure[i] += min(astro_maint[i], maint_cost) // lowering
if astro_tag[i] > tag_expiry and astro_participation[i] ≥ MEDIUM:
Δ = min(slot_batch, astro_material[i], astro_energy[i]·f_cap, astro_tag[i]) × astro_participation[i]
astro_structure[i] += Δ // self-reinforcing both directions
astro_material[i] -= Δ; astro_energy[i] -= Δ·assembly_cost; astro_tag[i] -= Δ astro_material[i] -= Δ; astro_energy[i] -= Δ·assembly_cost; astro_tag[i] -= Δ
if astro_endurance_need[i] > endur_thr: if astro_endurance_need[i] > endur_thr:
Δ' = min(cap_batch, astro_material[i]·f_cap, astro_energy[i]·f_cap) Δ' = min(cap_batch, astro_material[i]·f_cap, astro_energy[i]·f_cap)
astro_budget_ceiling[i] += Δ'; astro_material[i] -= Δ' astro_budget_ceiling[i] += Δ'; astro_material[i] -= Δ'
astro_energy[i] -= Δ'·biogenesis_cost; astro_endurance_need[i] -= Δ' astro_energy[i] -= Δ'·biogenesis_cost; astro_endurance_need[i] -= Δ'
// RECOVER reclaim material from decayed ceilings else:
astro_central_material += astro_ceiling_shrinkage·recycle // energy NOT recovered astro_budget_ceiling[i] -= capacity_decay_rate·Δt_cycle; astro_budget_ceiling[i] += min(astro_cap_maint[i], cap_cost)
// DECAY astro_endurance_need[i] *= decay(slow)
for each i: emit(astro_fatigue, astro_demand → upward)
astro_structure[i] -= decay_rate·Δt_cycle; astro_budget_ceiling[i] -= capacity_decay_rate·Δt_cycle
astro_structure[i] += min(astro_maint[i], maint_cost)
astro_budget_ceiling[i] += min(astro_cap_maint[i], cap_cost)
astro_tag[i] *= decay(slow); astro_endurance_need[i] *= decay(slow)
``` ```
--- ---
@@ -980,18 +1029,17 @@ DAY or NIGHT | OVERLOAD:
--- ---
--- ---
> NIGHT-BLOCK UNIFORMITY. PRE and SOMA above are the worked exemplars of the NIGHT ring > NIGHT-BLOCK UNIFORMITY. ALL SIX local components now run the NIGHT ring
> (NON_REM_1 = PREPARATION · REM = EVALUATION · NON_REM_2 = ACTION). POST, DEND, AXON, and > (NON_REM_1 = PREPARATION · REM = EVALUATION · NON_REM_2 = ACTION), each adapted to its role:
> ASTROSYNAPSE follow the identical pattern: (a) NON_REM_1 imports supply, primes each one's OWN > (a) NON_REM_1 imports/produces supply, primes its OWN threshold from its OWN standing tag,
> threshold from its OWN standing tag (→ occupancy), applies the descended constraint to itself, > applies the descended constraint to itself, recycles, and — for intermediate nodes AXON/DEND —
> recycles, and — for intermediate nodes AXON/DEND — relays the arrived `replay_AP` onward IF primed > ships downstream so the pattern's links are fed; (b) REM releases/fires/responds as a PROBE and
> (this carries the pattern SOMA→PRE and SOMA→POST); (b) REM releases/fires as a PROBE and reads its > reads its own fast_trace as participation (level: high/medium/low), NO dopamine — AXON/DEND also
> own fast_trace as participation (level: high/medium/low), NO dopamine; (c) NON_REM_2 lowers > RELAY the arrived replay_AP onward IF primed (this carries the pattern SOMA→AXON→PRE and
> structure homeostatically, then rebuilds where the tag still stands AND participation ≥ medium, > SOMA→DEND→POST); (c) NON_REM_2 lowers structure homeostatically, then rebuilds where the tag still
> consuming the tag on the build. Roots (SOMA material, ASTROCYTE energy) additionally PRODUCE each > stands AND participation ≥ medium, consuming the tag. Roots (SOMA material, ASTROSYNAPSE energy)
> cycle and track `night_energy_spent`. > additionally PRODUCE each cycle and track night_energy_spent. The replay pattern propagates entirely
> [The POST/DEND/AXON/ASTROSYNAPSE night blocks below still show the earlier commit form and are > through the DAY PATHWAYS, self-igniting, carrying only where every link is primed.
> pending conversion to NON_REM_1/REM/NON_REM_2 — the mechanism is defined by PRE + SOMA.]
--- ---
--- ---