fill vs refill
This commit is contained in:
@@ -242,3 +242,35 @@ of the whole synapse.
|
||||
### Shockwave lockdown
|
||||
Emergency global astrocytic Ca²⁺ wave → GABA + ATP release → mass AMPA internalization and
|
||||
hyperpolarization. Bypasses budget gates. A circuit breaker against runaway excitation.
|
||||
|
||||
---
|
||||
|
||||
## Pool-filling: private reserve vs contested supply
|
||||
|
||||
The pseudocode uses two filling primitives, distinguished by where the resource comes from.
|
||||
|
||||
**`fill` (private reserve).** The pool is replenished from a source the component owns
|
||||
outright, uncontested by siblings, bounded by the component's own ceiling and a rate cap.
|
||||
- RRP refill — vesicles mobilized from the bouton's own reserve pool toward the docking-slot
|
||||
ceiling, rate-limited by VATPase. The reserve is private to the bouton.
|
||||
- SOMA self-replenish — the soma fuels itself from its own mitochondria toward its budget
|
||||
ceiling. No other component draws on it.
|
||||
|
||||
**`refill` (contested supply).** The pool is replenished from a supply that multiple
|
||||
components compete for, rationed by demand (gap to ceiling).
|
||||
- pre/post/dend/axon budgets — drawn from astrocytic lactate (shared across all synapses the
|
||||
astrocyte wraps) plus shipment from soma/axon/dendrite (shared across downstream targets).
|
||||
|
||||
**Neither primitive (their own forms).** Some inflows are not fills toward a ceiling:
|
||||
- AMPA surface insertion — Ca²⁺-driven rate from the spine's private endosomal reserve, with
|
||||
an explicit passive drift-back (short-term depression) when Ca²⁺ is low. Not a steady fill.
|
||||
- D-serine release — demand-driven (saturating in astro Ca²⁺) and budget-limited, like NT
|
||||
release; a release process, not a pool top-up.
|
||||
- Root productions — `glycolysis(glucose)` at the astrocyte and `CREB_synth(soma_tag)` at the
|
||||
soma are the system's energy and material roots: raw inflows capped only by the external
|
||||
vascular supply, not fills toward an internal ceiling.
|
||||
|
||||
The distinction matters biologically: a private reserve guarantees a component some autonomy
|
||||
(the bouton can refill its RRP from its own vesicles even when lactate is scarce), while a
|
||||
contested supply couples a component's fate to its neighbours' demands (operational budget
|
||||
fails first where many active synapses compete for the same lactate).
|
||||
|
||||
@@ -66,9 +66,18 @@ Replenishment contexts (NOT_AP, NOT_bAP): competitive refill, ship downstream, d
|
||||
|
||||
---
|
||||
|
||||
## Shared competitive replenishment (used by all NOT contexts)
|
||||
## Pool-filling primitives
|
||||
|
||||
Two shapes share the core "rise toward a ceiling, bounded by the gap, paying budget":
|
||||
|
||||
```
|
||||
// PRIVATE: fill own pool from own reserve toward own ceiling, at a rate cap
|
||||
fill(pool, ceiling, rate_cap, cost, budget):
|
||||
amount = min(rate_cap, ceiling - pool)·Δt // bounded by rate AND gap
|
||||
pool += amount
|
||||
budget -= amount·cost
|
||||
|
||||
// CONTESTED: fill toward ceiling by a rationed share of a shared supply S
|
||||
refill(component c from supply S):
|
||||
demand = c.budget_ceiling - c.budget // claim = gap to ceiling
|
||||
total = Σ demand over components on S
|
||||
@@ -77,6 +86,11 @@ refill(component c from supply S):
|
||||
S -= demand × factor
|
||||
```
|
||||
|
||||
Choose by source: a pool drawn from a **private reserve** uses `fill`; a pool drawn from a
|
||||
**contested shared supply** uses `refill`. The distinction is biologically real — RRP comes
|
||||
from the bouton's private reserve pool, while operational budget comes from astrocytic lactate
|
||||
that neighbours compete for.
|
||||
|
||||
---
|
||||
|
||||
## PRE
|
||||
@@ -93,16 +107,13 @@ DAY | AP:
|
||||
if RRP > 0:
|
||||
NT_flux = RRP × drive
|
||||
glutamate += NT_flux·Δt; RRP -= NT_flux·Δt; pre_budget -= NT_flux·fusion_cost
|
||||
RRP += min(refill_rate, pre_structure.refill_ceiling)·Δt
|
||||
RRP = clamp(RRP, 0, pre_structure.slot_ceiling)
|
||||
pre_budget -= RRP_refill·vatpase_cost
|
||||
if glutamate > spillover: drive *= brake
|
||||
fill(RRP, pre_structure.slot_ceiling, pre_structure.refill_ceiling, vatpase_cost, pre_budget)
|
||||
if glutamate > spillover: drive *= brake // output brake (not a fill)
|
||||
|
||||
DAY | NOT_AP:
|
||||
pre_fast_trace *= decay(100ms); pre_endurance_need *= decay(min)
|
||||
refill(pre from astro_lactate[syn] + axon_ship_pre)
|
||||
RRP += min(refill_rate, pre_structure.refill_ceiling)·Δt
|
||||
RRP = clamp(RRP, 0, pre_structure.slot_ceiling)
|
||||
refill(pre from astro_lactate[syn] + axon_ship_pre) // contested: lactate + shipment
|
||||
fill(RRP, pre_structure.slot_ceiling, pre_structure.refill_ceiling, vatpase_cost, pre_budget)
|
||||
if pre_fast_trace > elig: pre_possible_tag += pre_fast_trace
|
||||
pre_possible_tag *= decay(s); dopamine *= decay(ms)
|
||||
if dopamine > dop_thr and pre_possible_tag > tag_thr:
|
||||
@@ -129,10 +140,11 @@ DAY | NOT_bAP:
|
||||
|
||||
post_fast_trace *= decay(ms)
|
||||
|
||||
// CASE 1 — short-term potentiation: fill slots (no dopamine)
|
||||
// CASE 1 — short-term potentiation: fill slots from private reserve (no dopamine)
|
||||
// NOT generic fill(): rate is Ca-driven, and the else-branch is the STD consequence
|
||||
if post_fast_trace > Ca_STP:
|
||||
AMPA_surface = min(AMPA_surface + Ca_insert(post_fast_trace),
|
||||
post_structure.slot_ceiling)
|
||||
post_structure.slot_ceiling) // private: spine endosomal reserve
|
||||
post_budget -= traffic_cost
|
||||
else:
|
||||
AMPA_surface = max(AMPA_surface - drift·Δt, baseline) // STD = consequence
|
||||
@@ -223,7 +235,7 @@ DAY | NOT_AP:
|
||||
soma_fast_trace *= decay(τ_nuclear)
|
||||
soma_refractory_alignment *= decay(τ_align) // self-limiting
|
||||
soma_endurance_need *= decay(min)
|
||||
soma_budget += mito_output·Δt // self-replenish (root)
|
||||
fill(soma_budget, soma_budget_ceiling, mito_output, 0, soma_budget) // private: own mitochondria, no external cost
|
||||
branch_Vm = integrate(DEND.branch_Vm, branches)
|
||||
ship(soma_budget → dend_budget, gap_to(dend))
|
||||
ship(soma_budget → axon_budget, gap_to(axon))
|
||||
|
||||
Reference in New Issue
Block a user