From d10ec73310ec203d18aefa4f977ad1d5746d1cce Mon Sep 17 00:00:00 2001 From: ocrampal Date: Mon, 6 Jul 2026 18:34:26 +0200 Subject: [PATCH] Update 2026-06-29-tripartite-synapse_v17.md --- .../2026-06-29-tripartite-synapse_v17.md | 101 ++++++++++-------- 1 file changed, 56 insertions(+), 45 deletions(-) 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 56077e2..b5d4d02 100644 --- a/elements/neuron/appunti/2026-06-29-tripartite-synapse_v17.md +++ b/elements/neuron/appunti/2026-06-29-tripartite-synapse_v17.md @@ -283,6 +283,7 @@ neuron_weight_ceiling // renormalization target (broadcast c // ── 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) +release_rate homeostatic_floor // night RELEASE: shed rate + floor structure never pruned below 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) @@ -398,35 +399,57 @@ DAY | NOT_SPIKE_TRAIN: // sustained quiet; pre_tag *= decay(hr) // SLOW 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. -// (ACTION ⇄ RECOVERY) × many cycles, then PREPARATION — mirror of DAY's (release ⇄ refill) → prep. -// 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. -// NOTE the rotation vs DAY: NT release is ACTION by day, PREPARATION by night. +// ── NIGHT: SAME three categories, consolidation timescale, subject = the pattern. The rhythm is +// (ACTION ⇄ RECOVERY) × many, then PREPARATION, then again — like DAY's (release ⇄ refill) × many +// → prep. Two competitions at two loci: WITHIN action, build vs release contend over the +// component's own structure (participation is the arbiter); WITHIN recovery, THIS component vs +// OTHERS contend for shared material/energy. A category spans all THREE timescales (fast/med/slow). +// ACTION change structure — BUILD (participation high + tag stands; tag funds it, a slice +// per cycle so the tag persists across cycles) ⇄ RELEASE (participation LOW; frees +// material; tag untouched). Both always possible; participation selects direction. +// 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) ===== -NIGHT | import + prime: // alter-ego of the night ACTION - pre_material += transit(pre_material_ship, τ_transport_bouton) // import build material - pre_energy += transit(pre_energy_ship, τ_transport_bouton) // import build energy - pre_spont_thr = spont_thr_base − thr_gain × pre_tag // restore excitability from standing tag - if pre_tag > prime_thr: - VGCC_active = min(VGCC_active + prime_gain × pre_tag, pre_structure.VGCC_coupling) - pre_possible_tag *= occupancy_downscale // apply descended constraint to self - if renorm_signal arrived: +// ===== ACTION (build ⇄ release; participation gates direction; tag funds build, persists across cycles) ===== +NIGHT | build or release: // the night's defining deed (both directions) + // BUILD (participation confirmed AND tag stands): spend a SLICE of the tag — persists next cycle + 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 -= Δ // SLICE only — tag survives for successive cycles + if pre_endurance_need > endur_thr: // endurance capacity builds on the same act + Δ' = 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 - emit(freed → recycled material pool) - pre_material += pre_ceiling_shrinkage·recycle // energy NOT recovered + emit(freed → recycled material pool) // freed material re-enters contention + 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 -// 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 +// endurance deposit into the SAME pre_endurance_need trace. Differs from DAY ACTION: no dopamine, +// and the glutamate is a PROBE — drives the pattern onward and its own trace is read as participation. +NIGHT | replay + measure + prime: // release here is PREPARATION, not the deed + // FAST: probe-release ⇄ restock (the replay, run repeatedly to measure participation) spont = intrinsic_fluctuation() 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 @@ -438,27 +461,15 @@ NIGHT | replay + measure: // release here is PR 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 + 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_fast_trace *= decay(100ms) - -// ===== ACTION (change the structure — the night's defining deed) ===== -NIGHT | change the structure: // the irreversible night deed - // (1) general homeostatic lowering — the subtractive baseline - pre_structure -= decay_rate·Δt_cycle; pre_structure += min(pre_maint, maint_cost) - // (2) build where the tag STILL STANDS and PREPARATION measured high/medium participation - 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) + // 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 + if pre_tag > prime_thr: + VGCC_active = min(VGCC_active + prime_gain × pre_tag, pre_structure.VGCC_coupling) + pre_possible_tag *= occupancy_downscale // apply descended constraint to self + // SLOW: settle + pre_fast_trace *= decay(100ms); pre_tag *= decay(hr); pre_endurance_need *= decay(slow) emit(pre_fatigue, pre_demand → upward) // not a sink: emits inward/upward by night ```