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

This commit is contained in:
2026-07-01 11:36:42 +02:00
parent d523660db9
commit d80643425c
@@ -236,37 +236,42 @@ early_phase_frac // fraction of night cycles that are D
## PRE
The presynaptic bouton releases neurotransmitter and gathers evidence about whether that
release was worth strengthening and worth sustaining. Its behavior unfolds across two DAY
contexts and the NIGHT scope.
release was worth strengthening and worth sustaining. Like every component it turns one ring —
ACTION → EVALUATION → PREPARATION — in two directions: outward by DAY (against the cleft), inward
by NIGHT (against the economy).
**During DAY, during AP — the bouton releases neurotransmitter.** The amount released depends on
residual **calcium** from recent spikes (the fast trace, setting the drive), the current
**VGCC coupling occupancy** (how tightly calcium channels are coupled to docking slots right
now — filled short-term, bounded by structure), the two **retrograde messages** from the
postsynapse (`retro_eCB` brakes the drive; `retro_NO` will confirm release reached a responsive
target), and the availability of both **fuel and vesicles**. Two shortfalls are read
differently: a fuel shortfall on a succeeding release is evidence the bouton needs more
*endurance*; an empty pool with fuel to spare is ordinary short-term depression.
**DAY · ACTION (the AP) — the bouton releases.** The amount released depends on residual
**calcium** (the fast trace, set by this spike), the current **VGCC coupling occupancy** (how
tightly channels are coupled right now, bounded by structure), the two **retrograde messages**
(`retro_eCB` brakes, `retro_NO` confirms release reached a responsive target), and the
availability of **fuel and vesicles**. The action deposits the fast trace the rest of the turn
reads. Two shortfalls read differently: a fuel shortfall on a succeeding release is *endurance*
evidence; an empty pool with fuel to spare is ordinary short-term depression.
**During DAY, during NOT_AP — the bouton consolidates, potentiates short-term, and recovers.**
With no spike to release, it latches the retrograde messages (RECEIVE); maintains its traces
accumulating eligibility toward a dopamine-gated tag (TRACE); transiently tightens its VGCC
coupling from accumulated eligibility, with no dopamine, a reversible short-term potentiation
bounded by the structural ceiling (BEHAVE); refills both its budget (contested supply) and its
vesicle pool (private reserve) (RECOVER); and lets its traces decay, closing the windows (DECAY).
**DAY · EVALUATION (after the AP, trace fresh) — climb toward the tag.** Reading the fast trace,
the bouton accumulates eligibility (`possible_tag`) and, on the dopamine coincidence, the `tag`
the inert token minted for the night. It never acts here; it lays down evidence.
**During NIGHT — the bouton's ceilings are rewritten.** NIGHT raises the bouton's **structure**
(active-zone capacity, including the VGCC-coupling ceiling) where a validated tag accumulated,
and its **budget capacity** (mitochondrial endurance) where fuel repeatedly interrupted a
succeeding release. Both draw on the same finite material and energy shipped down the axon, so
the two kinds of growth compete — and whatever is not maintained drifts back down.
**DAY · PREPARATION (trace decaying) — ready the next release.** The bouton latches the retrograde
messages, tightens its VGCC coupling from accumulated eligibility (reversible short-term
potentiation, no dopamine, bounded by structure — readiness, not evidence), refills budget and
vesicles *toward the next demand* (not a restoration — forward-facing), and lets its traces decay.
Preparation is the sole gateway to the next action.
**NIGHT — the ring turned inward.** ACTION is the coherence check (does post and astro concur this
change should be kept). EVALUATION is draw-and-commit: burn shipped material and energy into
**structure** (where a validated tag stood) or **budget capacity** (where fuel interrupted a
succeeding release), spending the tag — the token minted for the next day. PREPARATION is
make-room: take the descended constraint, recycle material from decayed ceilings, ready for the
next round. The bouton is not a sink — by night it emits inward and upward (fatigue, demand,
recycled material).
```
// PARAMETERS K_release · release_cost · fusion_cost · vatpase_cost · spillover · brake
// stp_thr · coupling_gain · coupling_drift · VGCC_baseline
// INTERFACE
// EMIT glutamate → POST, ASTRO
// RECEIVE retro_NO, retro_eCB ← POST (signals latched; resources refill in RECOVER)
// RECEIVE retro_NO, retro_eCB ← POST (signals latched in EVALUATION/PREPARATION; pools refill in PREPARATION)
// READ glutamate (own cleft, autobrake) ; dopamine (gates tag)
// OWN pre_structure{slot_ceiling, VGCC_coupling, refill_ceiling} ; pre_budget_ceiling
// VGCC_active (occupancy: current coupling, filled toward VGCC_coupling ceiling)
@@ -276,89 +281,76 @@ the two kinds of growth compete — and whatever is not maintained drifts back d
// TRACE CREATION MODES (every trace: trace += input·Δt trace·(Δt/τ_decay))
// impulse input = quantum·δ(event) — a point event; no rise time, τ = decay only (FAST)
// accumulate input = rate(condition)·Δt — ramps while a condition holds; τ = rise AND decay (MEDIUM/SLOW)
// A trace's tier is set by BOTH its creation mode and its decay: the fast trace is impulse-created
// and fast-decaying; possible_tag/endurance_need are slowly accumulated and medium-decaying.
//
// THE RING: ACTION (lateral, punctate — the AP) → EVALUATION (local, trace fresh — climb to tag)
// → PREPARATION (vertical, trace decaying — ready next release). Phase edges are
// event/decay-timed, not clocked: AP ends preparation; fast-trace decay ends evaluation.
DAY | AP:
// TRACE FAST · impulse (Ca²⁺ bolus from THIS spike — a point event; no rise time,
// decay alone sets its τ; frequency is emergent from impulse-rate vs decay)
DAY · ACTION | AP: // lateral: release into the cleft
// deposit the fast trace THIS action leaves (FAST · impulse)
pre_fast_trace += spike_Ca(pre_structure.VGCC_coupling)·δ(spike)
// ADJUST (release drive from residual Ca²⁺ × current coupling occupancy, + DSE brake)
drive = sat(pre_fast_trace × VGCC_active, K_release) × (1 - retro_eCB_local)
// BEHAVE (release; two distinct failure modes)
if pre_budget < release_cost:
// FUEL shortfall → endurance evidence (retro_NO-confirmed local success)
if pre_budget < release_cost: // FUEL shortfall → endurance evidence
suppress(NT_flux)
// TRACE MEDIUM · accumulate (ramps while fuel keeps interrupting a succeeding release)
if pre_fast_trace > traj_thr:
if pre_fast_trace > traj_thr: // MEDIUM · accumulate
pre_endurance_need += pre_fast_trace × (1 + retro_NO_local)·Δt
exit
if RRP == 0:
// OCCUPANCY shortfall → short-term depression (NOT endurance; fuel was fine)
suppress(NT_flux)
exit
if RRP == 0: suppress(NT_flux); exit // OCCUPANCY shortfall → STD (not endurance)
NT_flux = RRP × drive; RRP -= NT_flux·Δt; pre_budget -= NT_flux·fusion_cost
// EMIT (glutamate into cleft)
glutamate += NT_flux·Δt
glutamate += NT_flux·Δt // EMIT glutamate → POST, ASTRO
if glutamate > spillover: drive *= brake // own-cleft autobrake
DAY | NOT_AP:
// RECEIVE (latch backward messages — signals only)
retro_NO_local = retro_NO; retro_eCB_local = retro_eCB
// TRACE (strength pathway — evidence climbs the ladder)
// MEDIUM · accumulate (ramps while fast_trace stays eligible; rise-rate is its τ_rise)
if pre_fast_trace > elig: pre_possible_tag += pre_fast_trace·Δt
// SLOW · accumulate (ramps only on dopamine coincidence; rise gated by validation)
if dopamine > dop_thr and pre_possible_tag > tag_thr:
pre_tag += dopamine × pre_possible_tag·Δt
// BEHAVE (short-term potentiation: eligibility tightens coupling, NO dopamine; drifts back)
DAY · EVALUATION | after AP, fast trace fresh: // local: climb the ladder toward the tag
if pre_fast_trace > elig: pre_possible_tag += pre_fast_trace·Δt // MEDIUM · accumulate
if dopamine > dop_thr and pre_possible_tag > tag_thr: // SLOW · accumulate
pre_tag += dopamine × pre_possible_tag·Δt // the inert token minted for NIGHT
DAY · PREPARATION | fast trace decaying: // vertical: ready the next action
retro_NO_local = retro_NO; retro_eCB_local = retro_eCB // latch descended/arrived signals
// short-term potentiation: eligibility → coupling readiness (NO dopamine; drifts back)
if pre_possible_tag > stp_thr:
VGCC_active = min(VGCC_active + coupling_gain × pre_possible_tag, pre_structure.VGCC_coupling)
else:
VGCC_active = max(VGCC_active - coupling_drift·Δt, VGCC_baseline) // STD = consequence
// RECOVER (refill BOTH pools: contested budget + private RRP)
VGCC_active = max(VGCC_active - coupling_drift·Δt, VGCC_baseline) // STD = un-honored decay
// refill BOTH pools TOWARD next demand (forward-facing, not restoration)
pre_budget += refill(pre from astro_lactate[syn] + transit(axon_ship_pre, τ_transport_bouton))
RRP += fill(RRP, pre_structure.slot_ceiling, pre_structure.refill_ceiling, vatpase_cost, pre_budget)
// DECAY
// FAST (mss)
pre_fast_trace *= decay(100ms)
// MEDIUM (smin)
pre_possible_tag *= decay(s); pre_endurance_need *= decay(min)
// SLOW (hr)
pre_tag *= decay(hr)
// (signals) arrived channels fade
// decay times the phase edges (fast clears evaluation; medium/slow settle; persistent waits for NIGHT)
pre_fast_trace *= decay(100ms) // FAST
pre_possible_tag *= decay(s); pre_endurance_need *= decay(min) // MEDIUM
pre_tag *= decay(hr) // SLOW
dopamine *= decay(ms); retro_NO *= decay(s); retro_eCB *= decay(s)
// (PERSISTENT: pre_structure, pre_budget_ceiling — no DAY decay; NIGHT only)
NIGHT | cycle: // leaf consumer (no downstream emit)
// RECEIVE batch arrived from AXON (material) + SOMA (energy) + neuron broadcasts
pre_material += transit(pre_material_ship, τ_transport_bouton)
pre_energy += transit(pre_energy_ship, τ_transport_bouton)
// BEHAVE (DOWNSCALE phase) — reset OWN occupancy / renorm OWN structure on arrived signals
if occupancy_downscale arrived:
VGCC_active *= occupancy_downscale; pre_possible_tag *= occupancy_downscale
if renorm_signal arrived:
freed = pre_structure × (1 - renorm_signal); pre_structure *= renorm_signal
emit(freed → recycled material pool) // I scale myself; neuron only signalled
// TRACE read standing demand (pre_tag → structure ; pre_endurance_need → budget_ceiling)
// ADJUST size commits from material + energy on hand
coh = coherence_signal // arrived: pre+post+astro tags aligned
// BEHAVE (COMMIT phase) — build ceilings; spend tag/need as fuel
NIGHT · ACTION | coherence check: // lateral: does post & astro concur?
coh = coherence_signal // arrived verdict (pre+post+astro tags aligned)
// (this is the night's "release": signal the standing claim, read what returns; leaves coh as trace)
NIGHT · EVALUATION | draw & commit (only if coherent + permitted): // local: mint structure for next DAY
if rest_permission and pre_tag > tag_expiry:
Δ = min(slot_batch, pre_material, pre_energy·f_cap)
pre_structure += Δ × coh; pre_material -= Δ; pre_energy -= Δ·assembly_cost
pre_tag -= Δ // tag-as-fuel
pre_tag -= Δ // tag-as-fuel; energy burned only here (irreversible)
if rest_permission and 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 -= Δ'
// EMIT (none downstream — bouton is a leaf) ; pre_fatigue → HYPOTHALAMUS
// RECOVER reclaim material from any ceiling that decayed this cycle
// if not coherent / not permitted: draw nothing, hold the tag, leave resource for peers — defer
NIGHT · PREPARATION | make room: // vertical: take constraint, recycle, ready
// receive shipped batch for the next round (forward-facing)
pre_material += transit(pre_material_ship, τ_transport_bouton)
pre_energy += transit(pre_energy_ship, τ_transport_bouton)
// apply the descended constraint to MYSELF (neuron only broadcasts; I scale myself)
VGCC_active *= occupancy_downscale; pre_possible_tag *= occupancy_downscale
if renorm_signal arrived:
freed = pre_structure × (1 - renorm_signal); pre_structure *= renorm_signal
emit(freed → recycled material pool)
// recycle material from decayed ceilings; unmaintained ceilings drift; emit inward/upward
pre_material += pre_ceiling_shrinkage·recycle // energy NOT recovered
// DECAY unmaintained ceilings + tags drift down a little
pre_structure -= decay_rate·Δt_cycle; pre_budget_ceiling -= capacity_decay_rate·Δt_cycle
pre_structure += min(pre_maint, maint_cost); pre_budget_ceiling += min(pre_cap_maint, cap_cost)
pre_tag *= decay(slow); pre_endurance_need *= decay(slow)
emit(pre_fatigue, pre_demand → upward) // not a sink: emits inward/upward by night
```
---