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

This commit is contained in:
2026-07-06 18:34:26 +02:00
parent 651f2847af
commit d10ec73310
@@ -283,6 +283,7 @@ neuron_weight_ceiling // renormalization target (broadcast c
// ── NIGHT (RECOVERY = import/prime · PREPARATION = replay probe · ACTION = restructure) ── // ── NIGHT (RECOVERY = import/prime · PREPARATION = replay probe · ACTION = restructure) ──
spont_thr_base thr_gain // spontaneous threshold = base gain×own_tag (night RECOVERY 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 (night RECOVERY) prime_thr prime_gain // tag threshold to raise VGCC, and the gain (night RECOVERY)
release_rate homeostatic_floor // night RELEASE: shed rate + floor structure never pruned below
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)
@@ -398,35 +399,57 @@ DAY | NOT_SPIKE_TRAIN: // sustained quiet;
pre_tag *= decay(hr) // SLOW pre_tag *= decay(hr) // SLOW
dopamine *= decay(ms); retro_NO *= decay(s); retro_eCB *= decay(s) dopamine *= decay(ms); retro_NO *= decay(s); retro_eCB *= decay(s)
// ── NIGHT: the SAME three categories as DAY, at the consolidation timescale, subject = the pattern. // ── NIGHT: SAME three categories, consolidation timescale, subject = the pattern. The rhythm is
// (ACTION ⇄ RECOVERY) × many cycles, then PREPARATION — mirror of DAY's (release ⇄ refill) → prep. // (ACTION ⇄ RECOVERY) × many, then PREPARATION, then again — like DAY's (release ⇄ refill) × many
// ACTION change the structure (the night's defining deed) // → prep. Two competitions at two loci: WITHIN action, build vs release contend over the
// RECOVERY restore the ability to restructure again: import material/energy, prime // component's own structure (participation is the arbiter); WITHIN recovery, THIS component vs
// PREPARATION replay the release as a probe, measure participation (SAME machinery as day ACTION) // OTHERS contend for shared material/energy. A category spans all THREE timescales (fast/med/slow).
// Cycle ordering: RECOVERY (import/prime) ⇄ ACTION (build) alternate across the night's cycles; // ACTION change structure — BUILD (participation high + tag stands; tag funds it, a slice
// PREPARATION (the probe) runs each cycle and its participation-measure feeds the NEXT ACTION — // per cycle so the tag persists across cycles) ⇄ RELEASE (participation LOW; frees
// exactly as DAY's preparation shapes the next train. Loops until the tag is spent. // material; tag untouched). Both always possible; participation selects direction.
// NOTE the rotation vs DAY: NT release is ACTION by day, PREPARATION by night. // RECOVERY restore the ability to build: acquire material/energy from the shared pool AND
// receive freed material — in CONTENTION with other components.
// PREPARATION replay the release as a probe (SAME machinery as day ACTION) to measure
// participation; itself multi-timescale: probe⇄restock (fast), VGCC/threshold
// prime from the tag (medium), tag settle (slow).
// Two independent forgettings: structural pruning ← low participation (release); intention decay
// ← tag decaying unspent. Loops until the tag is spent.
// ===== RECOVERY (restore the ability to restructure: material, energy, excitability) ===== // ===== ACTION (build ⇄ release; participation gates direction; tag funds build, persists across cycles) =====
NIGHT | import + prime: // alter-ego of the night ACTION NIGHT | build or release: // the night's defining deed (both directions)
pre_material += transit(pre_material_ship, τ_transport_bouton) // import build material // BUILD (participation confirmed AND tag stands): spend a SLICE of the tag — persists next cycle
pre_energy += transit(pre_energy_ship, τ_transport_bouton) // import build energy if rest_permission and pre_tag > tag_expiry and pre_participation ≥ MEDIUM:
pre_spont_thr = spont_thr_base thr_gain × pre_tag // restore excitability from standing tag Δ = min(slot_batch, pre_material, pre_energy·f_cap, pre_tag) × pre_participation
if pre_tag > prime_thr: pre_structure += Δ; pre_material -= Δ; pre_energy -= Δ·assembly_cost
VGCC_active = min(VGCC_active + prime_gain × pre_tag, pre_structure.VGCC_coupling) pre_tag -= Δ // SLICE only — tag survives for successive cycles
pre_possible_tag *= occupancy_downscale // apply descended constraint to self if pre_endurance_need > endur_thr: // endurance capacity builds on the same act
if renorm_signal arrived: Δ' = min(cap_batch, pre_material·f_cap, pre_energy·f_cap)
pre_budget_ceiling += Δ'; pre_material -= Δ'; pre_energy -= Δ'·biogenesis_cost
pre_endurance_need -= Δ'
// RELEASE (participation LOW): shed structure, FREE material back to the shared pool; tag untouched
else if pre_participation == LOW:
shed = release_rate × max(pre_structure - homeostatic_floor, 0)
pre_structure -= shed; pre_freed_material += shed·recycle // freed → contested pool (RECOVERY)
pre_budget_ceiling -= capacity_decay_rate·Δt_cycle
// else (tag present but participation not confirmed this cycle): HOLD — tag waits for its pattern
// ===== RECOVERY (acquire material/energy in CONTENTION with other components; receive freed material) =====
NIGHT | import + free: // alter-ego of the night ACTION (inter-component)
pre_material += transit(pre_material_ship, τ_transport_bouton) // import build material (contested pool)
pre_energy += transit(pre_energy_ship, τ_transport_bouton) // import build energy (contested pool)
pre_material += pre_freed_material; pre_freed_material = 0 // reclaim what release freed
if renorm_signal arrived: // descended constraint → free structure
freed = pre_structure × (1 - renorm_signal); pre_structure *= renorm_signal freed = pre_structure × (1 - renorm_signal); pre_structure *= renorm_signal
emit(freed → recycled material pool) emit(freed → recycled material pool) // freed material re-enters contention
pre_material += pre_ceiling_shrinkage·recycle // energy NOT recovered pre_material += pre_ceiling_shrinkage·recycle // energy NOT recovered
pre_maintain: pre_structure += min(pre_maint, maint_cost) // hold up what is used
// ===== PREPARATION (REM: REPLAY the action — SAME machinery as DAY ACTION, read differently) ===== // ===== PREPARATION (REPLAY the release as a probe — SAME machinery as day ACTION; multi-timescale) =====
// Replay re-runs the release exactly as by day: same drive, same capacity + vesicle checks, same // 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 // endurance deposit into the SAME pre_endurance_need trace. Differs from DAY ACTION: no dopamine,
// real as in behaving). What differs from DAY ACTION: no dopamine (significance settled), and the // and the glutamate is a PROBE — drives the pattern onward and its own trace is read as participation.
// glutamate is a PROBE — it drives the pattern onward and its own trace is read as participation. NIGHT | replay + measure + prime: // release here is PREPARATION, not the deed
NIGHT | replay + measure: // release here is PREPARATION, not the deed // FAST: probe-release ⇄ restock (the replay, run repeatedly to measure participation)
spont = intrinsic_fluctuation() spont = intrinsic_fluctuation()
if spont > pre_spont_thr or arrived_replay_AP: // ignite: 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)·δ(replay) // SAME trace deposit as DAY ACTION pre_fast_trace += mini_Ca(VGCC_active)·δ(replay) // SAME trace deposit as DAY ACTION
@@ -438,27 +461,15 @@ NIGHT | replay + measure: // release here is PR
else if RRP > 0: // SAME vesicle check else if RRP > 0: // SAME vesicle check
replay_flux = RRP × drive; RRP -= replay_flux·Δt; pre_budget -= replay_flux·fusion_cost 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 glutamate += replay_flux·Δt // real glutamate → POST: carries the pattern onward
RRP += fill(RRP, pre_structure.slot_ceiling, pre_structure.refill_ceiling, vatpase_cost, pre_budget) // restock
pre_participation = level(pre_fast_trace) // read the replayed response as participation pre_participation = level(pre_fast_trace) // read the replayed response as participation
pre_fast_trace *= decay(100ms) // MEDIUM: prime excitability + VGCC from the standing tag (readies the next probe AND next build)
pre_spont_thr = spont_thr_base thr_gain × pre_tag
// ===== ACTION (change the structure — the night's defining deed) ===== if pre_tag > prime_thr:
NIGHT | change the structure: // the irreversible night deed VGCC_active = min(VGCC_active + prime_gain × pre_tag, pre_structure.VGCC_coupling)
// (1) general homeostatic lowering — the subtractive baseline pre_possible_tag *= occupancy_downscale // apply descended constraint to self
pre_structure -= decay_rate·Δt_cycle; pre_structure += min(pre_maint, maint_cost) // SLOW: settle
// (2) build where the tag STILL STANDS and PREPARATION measured high/medium participation pre_fast_trace *= decay(100ms); pre_tag *= decay(hr); pre_endurance_need *= decay(slow)
if rest_permission and pre_tag > tag_expiry and pre_participation ≥ MEDIUM:
Δ = min(slot_batch, pre_material, pre_energy·f_cap, pre_tag) × pre_participation
pre_structure += Δ; pre_material -= Δ; pre_energy -= Δ·assembly_cost
pre_tag -= Δ // (3) CONSUME tag on build → excitability drops next cycle
// endurance capacity builds on the same act
if pre_endurance_need > endur_thr:
Δ' = min(cap_batch, pre_material·f_cap, pre_energy·f_cap)
pre_budget_ceiling += Δ'; pre_material -= Δ'; pre_energy -= Δ'·biogenesis_cost
pre_endurance_need -= Δ'
else:
pre_budget_ceiling -= capacity_decay_rate·Δt_cycle; pre_budget_ceiling += min(pre_cap_maint, cap_cost)
// if tag low or participation low: no build — never worth the spend (forgotten)
pre_endurance_need *= decay(slow)
emit(pre_fatigue, pre_demand → upward) // not a sink: emits inward/upward by night emit(pre_fatigue, pre_demand → upward) // not a sink: emits inward/upward by night
``` ```