fill vs refill
This commit is contained in:
@@ -66,17 +66,31 @@ 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
|
||||
factor = min(1, S / (total + ε))
|
||||
c.budget += demand × factor // never exceeds ceiling
|
||||
S -= demand × factor
|
||||
demand = c.budget_ceiling - c.budget // claim = gap to ceiling
|
||||
total = Σ demand over components on S
|
||||
factor = min(1, S / (total + ε))
|
||||
c.budget += demand × factor // never exceeds ceiling
|
||||
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