Update 2026-06-29-tripartite-synapse_v17.md
This commit is contained in:
@@ -236,37 +236,42 @@ early_phase_frac // fraction of night cycles that are D
|
|||||||
## PRE
|
## PRE
|
||||||
|
|
||||||
The presynaptic bouton releases neurotransmitter and gathers evidence about whether that
|
The presynaptic bouton releases neurotransmitter and gathers evidence about whether that
|
||||||
release was worth strengthening and worth sustaining. Its behavior unfolds across two DAY
|
release was worth strengthening and worth sustaining. Like every component it turns one ring —
|
||||||
contexts and the NIGHT scope.
|
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
|
**DAY · ACTION (the AP) — the bouton releases.** The amount released depends on residual
|
||||||
residual **calcium** from recent spikes (the fast trace, setting the drive), the current
|
**calcium** (the fast trace, set by this spike), the current **VGCC coupling occupancy** (how
|
||||||
**VGCC coupling occupancy** (how tightly calcium channels are coupled to docking slots right
|
tightly channels are coupled right now, bounded by structure), the two **retrograde messages**
|
||||||
now — filled short-term, bounded by structure), the two **retrograde messages** from the
|
(`retro_eCB` brakes, `retro_NO` confirms release reached a responsive target), and the
|
||||||
postsynapse (`retro_eCB` brakes the drive; `retro_NO` will confirm release reached a responsive
|
availability of **fuel and vesicles**. The action deposits the fast trace the rest of the turn
|
||||||
target), and the availability of both **fuel and vesicles**. Two shortfalls are read
|
reads. Two shortfalls read differently: a fuel shortfall on a succeeding release is *endurance*
|
||||||
differently: a fuel shortfall on a succeeding release is evidence the bouton needs more
|
evidence; an empty pool with fuel to spare is ordinary short-term depression.
|
||||||
*endurance*; 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.**
|
**DAY · EVALUATION (after the AP, trace fresh) — climb toward the tag.** Reading the fast trace,
|
||||||
With no spike to release, it latches the retrograde messages (RECEIVE); maintains its traces —
|
the bouton accumulates eligibility (`possible_tag`) and, on the dopamine coincidence, the `tag` —
|
||||||
accumulating eligibility toward a dopamine-gated tag (TRACE); transiently tightens its VGCC
|
the inert token minted for the night. It never acts here; it lays down evidence.
|
||||||
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).
|
|
||||||
|
|
||||||
**During NIGHT — the bouton's ceilings are rewritten.** NIGHT raises the bouton's **structure**
|
**DAY · PREPARATION (trace decaying) — ready the next release.** The bouton latches the retrograde
|
||||||
(active-zone capacity, including the VGCC-coupling ceiling) where a validated tag accumulated,
|
messages, tightens its VGCC coupling from accumulated eligibility (reversible short-term
|
||||||
and its **budget capacity** (mitochondrial endurance) where fuel repeatedly interrupted a
|
potentiation, no dopamine, bounded by structure — readiness, not evidence), refills budget and
|
||||||
succeeding release. Both draw on the same finite material and energy shipped down the axon, so
|
vesicles *toward the next demand* (not a restoration — forward-facing), and lets its traces decay.
|
||||||
the two kinds of growth compete — and whatever is not maintained drifts back down.
|
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
|
// PARAMETERS K_release · release_cost · fusion_cost · vatpase_cost · spillover · brake
|
||||||
// stp_thr · coupling_gain · coupling_drift · VGCC_baseline
|
// stp_thr · coupling_gain · coupling_drift · VGCC_baseline
|
||||||
// INTERFACE
|
// INTERFACE
|
||||||
// EMIT glutamate → POST, ASTRO
|
// 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)
|
// READ glutamate (own cleft, autobrake) ; dopamine (gates tag)
|
||||||
// OWN pre_structure{slot_ceiling, VGCC_coupling, refill_ceiling} ; pre_budget_ceiling
|
// OWN pre_structure{slot_ceiling, VGCC_coupling, refill_ceiling} ; pre_budget_ceiling
|
||||||
// VGCC_active (occupancy: current coupling, filled toward VGCC_coupling 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))
|
// TRACE CREATION MODES (every trace: trace += input·Δt − trace·(Δt/τ_decay))
|
||||||
// impulse input = quantum·δ(event) — a point event; no rise time, τ = decay only (FAST)
|
// 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)
|
// 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:
|
DAY · ACTION | AP: // lateral: release into the cleft
|
||||||
// TRACE FAST · impulse (Ca²⁺ bolus from THIS spike — a point event; no rise time,
|
// deposit the fast trace THIS action leaves (FAST · impulse)
|
||||||
// decay alone sets its τ; frequency is emergent from impulse-rate vs decay)
|
|
||||||
pre_fast_trace += spike_Ca(pre_structure.VGCC_coupling)·δ(spike)
|
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)
|
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
|
||||||
if pre_budget < release_cost:
|
|
||||||
// FUEL shortfall → endurance evidence (retro_NO-confirmed local success)
|
|
||||||
suppress(NT_flux)
|
suppress(NT_flux)
|
||||||
// TRACE MEDIUM · accumulate (ramps while fuel keeps interrupting a succeeding release)
|
if pre_fast_trace > traj_thr: // MEDIUM · accumulate
|
||||||
if pre_fast_trace > traj_thr:
|
|
||||||
pre_endurance_need += pre_fast_trace × (1 + retro_NO_local)·Δt
|
pre_endurance_need += pre_fast_trace × (1 + retro_NO_local)·Δt
|
||||||
exit
|
exit
|
||||||
if RRP == 0:
|
if RRP == 0: suppress(NT_flux); exit // OCCUPANCY shortfall → STD (not endurance)
|
||||||
// OCCUPANCY shortfall → short-term depression (NOT endurance; fuel was fine)
|
|
||||||
suppress(NT_flux)
|
|
||||||
exit
|
|
||||||
NT_flux = RRP × drive; RRP -= NT_flux·Δt; pre_budget -= NT_flux·fusion_cost
|
NT_flux = RRP × drive; RRP -= NT_flux·Δt; pre_budget -= NT_flux·fusion_cost
|
||||||
// EMIT (glutamate into cleft)
|
glutamate += NT_flux·Δt // EMIT glutamate → POST, ASTRO
|
||||||
glutamate += NT_flux·Δt
|
|
||||||
if glutamate > spillover: drive *= brake // own-cleft autobrake
|
if glutamate > spillover: drive *= brake // own-cleft autobrake
|
||||||
|
|
||||||
DAY | NOT_AP:
|
DAY · EVALUATION | after AP, fast trace fresh: // local: climb the ladder toward the tag
|
||||||
// RECEIVE (latch backward messages — signals only)
|
if pre_fast_trace > elig: pre_possible_tag += pre_fast_trace·Δt // MEDIUM · accumulate
|
||||||
retro_NO_local = retro_NO; retro_eCB_local = retro_eCB
|
if dopamine > dop_thr and pre_possible_tag > tag_thr: // SLOW · accumulate
|
||||||
// TRACE (strength pathway — evidence climbs the ladder)
|
pre_tag += dopamine × pre_possible_tag·Δt // the inert token minted for NIGHT
|
||||||
// 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
|
DAY · PREPARATION | fast trace decaying: // vertical: ready the next action
|
||||||
// SLOW · accumulate (ramps only on dopamine coincidence; rise gated by validation)
|
retro_NO_local = retro_NO; retro_eCB_local = retro_eCB // latch descended/arrived signals
|
||||||
if dopamine > dop_thr and pre_possible_tag > tag_thr:
|
// short-term potentiation: eligibility → coupling readiness (NO dopamine; drifts back)
|
||||||
pre_tag += dopamine × pre_possible_tag·Δt
|
|
||||||
// BEHAVE (short-term potentiation: eligibility tightens coupling, NO dopamine; drifts back)
|
|
||||||
if pre_possible_tag > stp_thr:
|
if pre_possible_tag > stp_thr:
|
||||||
VGCC_active = min(VGCC_active + coupling_gain × pre_possible_tag, pre_structure.VGCC_coupling)
|
VGCC_active = min(VGCC_active + coupling_gain × pre_possible_tag, pre_structure.VGCC_coupling)
|
||||||
else:
|
else:
|
||||||
VGCC_active = max(VGCC_active - coupling_drift·Δt, VGCC_baseline) // STD = consequence
|
VGCC_active = max(VGCC_active - coupling_drift·Δt, VGCC_baseline) // STD = un-honored decay
|
||||||
// RECOVER (refill BOTH pools: contested budget + private RRP)
|
// refill BOTH pools TOWARD next demand (forward-facing, not restoration)
|
||||||
pre_budget += refill(pre from astro_lactate[syn] + transit(axon_ship_pre, τ_transport_bouton))
|
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)
|
RRP += fill(RRP, pre_structure.slot_ceiling, pre_structure.refill_ceiling, vatpase_cost, pre_budget)
|
||||||
// DECAY
|
// decay times the phase edges (fast clears evaluation; medium/slow settle; persistent waits for NIGHT)
|
||||||
// FAST (ms–s)
|
pre_fast_trace *= decay(100ms) // FAST
|
||||||
pre_fast_trace *= decay(100ms)
|
pre_possible_tag *= decay(s); pre_endurance_need *= decay(min) // MEDIUM
|
||||||
// MEDIUM (s–min)
|
pre_tag *= decay(hr) // SLOW
|
||||||
pre_possible_tag *= decay(s); pre_endurance_need *= decay(min)
|
|
||||||
// SLOW (hr)
|
|
||||||
pre_tag *= decay(hr)
|
|
||||||
// (signals) arrived channels fade
|
|
||||||
dopamine *= decay(ms); retro_NO *= decay(s); retro_eCB *= decay(s)
|
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)
|
NIGHT · ACTION | coherence check: // lateral: does post & astro concur?
|
||||||
// RECEIVE batch arrived from AXON (material) + SOMA (energy) + neuron broadcasts
|
coh = coherence_signal // arrived verdict (pre+post+astro tags aligned)
|
||||||
pre_material += transit(pre_material_ship, τ_transport_bouton)
|
// (this is the night's "release": signal the standing claim, read what returns; leaves coh as trace)
|
||||||
pre_energy += transit(pre_energy_ship, τ_transport_bouton)
|
|
||||||
// BEHAVE (DOWNSCALE phase) — reset OWN occupancy / renorm OWN structure on arrived signals
|
NIGHT · EVALUATION | draw & commit (only if coherent + permitted): // local: mint structure for next DAY
|
||||||
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
|
|
||||||
if rest_permission and pre_tag > tag_expiry:
|
if rest_permission and pre_tag > tag_expiry:
|
||||||
Δ = min(slot_batch, pre_material, pre_energy·f_cap)
|
Δ = min(slot_batch, pre_material, pre_energy·f_cap)
|
||||||
pre_structure += Δ × coh; pre_material -= Δ; pre_energy -= Δ·assembly_cost
|
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:
|
if rest_permission and pre_endurance_need > endur_thr:
|
||||||
Δ' = min(cap_batch, pre_material·f_cap, pre_energy·f_cap)
|
Δ' = min(cap_batch, pre_material·f_cap, pre_energy·f_cap)
|
||||||
pre_budget_ceiling += Δ'; pre_material -= Δ'; pre_energy -= Δ'·biogenesis_cost
|
pre_budget_ceiling += Δ'; pre_material -= Δ'; pre_energy -= Δ'·biogenesis_cost
|
||||||
pre_endurance_need -= Δ'
|
pre_endurance_need -= Δ'
|
||||||
// EMIT (none downstream — bouton is a leaf) ; pre_fatigue → HYPOTHALAMUS
|
// if not coherent / not permitted: draw nothing, hold the tag, leave resource for peers — defer
|
||||||
// RECOVER reclaim material from any ceiling that decayed this cycle
|
|
||||||
|
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
|
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 -= 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_structure += min(pre_maint, maint_cost); pre_budget_ceiling += min(pre_cap_maint, cap_cost)
|
||||||
pre_tag *= decay(slow); pre_endurance_need *= decay(slow)
|
pre_tag *= decay(slow); pre_endurance_need *= decay(slow)
|
||||||
|
emit(pre_fatigue, pre_demand → upward) // not a sink: emits inward/upward by night
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user