varie
This commit is contained in:
@@ -103,39 +103,81 @@ that neighbours compete for.
|
||||
## PRE
|
||||
|
||||
```
|
||||
// Backward messages from POST (computed by POST from its own local state, read here):
|
||||
// retro_NO (+) : POST responded — release reached a responsive target
|
||||
// retro_eCB (−) : POST over-driven — suppress release (DSE)
|
||||
// PRE reads these as arrived signals; it never reads POST's internal state.
|
||||
// ─── PRESYNAPSE EXTERNAL INTERFACE ────────────────────────────────────────
|
||||
// PRE computes locally. Everything below crosses its boundary as a signal it
|
||||
// emits or a resource/signal it receives. It never reads another component's state.
|
||||
//
|
||||
// OUTPUT (PRE writes; others read)
|
||||
// glutamate → POST, ASTRO forward transmitter; ASTRO clears it
|
||||
//
|
||||
// RESOURCES IN (others write; PRE reads in NOT_AP)
|
||||
// astro_lactate[syn] ← ASTRO primary fast fuel → pre_budget
|
||||
// axon_ship_pre ← AXON secondary fuel → pre_budget
|
||||
// ship(axon_budget → pre_budget, gap_to(pre))
|
||||
// pre_material ← AXON (NIGHT) AZ proteins (RIM, Munc13, VGCC subunits)
|
||||
// pre_energy ← SOMA (NIGHT) assembly ATP for active-zone construction
|
||||
//
|
||||
// BACKWARD MESSAGES IN (POST writes from its own state; PRE reads)
|
||||
// retro_NO (+) ← POST "release reached a responsive target" → endurance
|
||||
// retro_eCB (−) ← POST DSE: "over-driven, release less" → brake
|
||||
//
|
||||
// CLEFT SELF-FEEDBACK (PRE reads the channel it writes)
|
||||
// glutamate ← cleft spillover autoreceptor brake (mGluR2/3 on PRE)
|
||||
//
|
||||
// ORGANISM BROADCAST IN (external; arrives as a local level)
|
||||
// dopamine ← VTA gates pre_tag (the non-local coincidence)
|
||||
// NE, ACh ← LC, basal excitability/threshold context
|
||||
//
|
||||
// OWN STRUCTURE (written NIGHT, read DAY)
|
||||
// pre_structure slot_ceiling, VGCC_coupling, refill_ceiling
|
||||
// pre_budget_ceiling endurance ceiling (bounds replenishment)
|
||||
//
|
||||
// EMERGENCY
|
||||
// shockwave_lockdown ← ASTRO global Ca²⁺ wave overrides PRE
|
||||
// ──────────────────────────────────────────────────────────────────────────
|
||||
|
||||
DAY | AP:
|
||||
// SENSE — deposit fast trace (residual Ca²⁺ from this spike; also drives release)
|
||||
pre_fast_trace += spike_Ca(input_freq)
|
||||
|
||||
// BEHAVE — release, or fail if depleted
|
||||
if pre_budget < release_cost:
|
||||
suppress(NT_flux)
|
||||
// interrupted LOCAL success: I was releasing strongly (own fast_trace),
|
||||
// confirmed by retro_NO that POST actually responded
|
||||
// EVALUATE (endurance) — interrupted LOCAL success, confirmed by retro_NO
|
||||
if pre_fast_trace > traj_thr:
|
||||
pre_endurance_need += pre_fast_trace × (1 + retro_NO_local)
|
||||
exit
|
||||
pre_fast_trace += spike_Ca(input_freq); pre_fast_trace *= decay(100ms)
|
||||
drive = sat(pre_fast_trace, K_release) × (1 - retro_eCB_local) // DSE brake from POST
|
||||
drive = sat(pre_fast_trace, K_release) × (1 - retro_eCB_local) // received DSE brake
|
||||
if RRP > 0:
|
||||
NT_flux = RRP × drive
|
||||
glutamate += NT_flux·Δt; RRP -= NT_flux·Δt; pre_budget -= NT_flux·fusion_cost
|
||||
if glutamate > spillover: drive *= brake // autoreceptor/astro brake (output)
|
||||
// NO fill here — AP only depletes RRP; recovery happens in NOT_AP
|
||||
// (sustained high-frequency firing therefore deepens short-term depression)
|
||||
NT_flux = RRP × drive
|
||||
// EMIT — glutamate into cleft (read by POST, ASTRO)
|
||||
glutamate += NT_flux·Δt
|
||||
RRP -= NT_flux·Δt; pre_budget -= NT_flux·fusion_cost
|
||||
if glutamate > spillover: drive *= brake // own-cleft autoreceptor brake
|
||||
// no RECOVER here — RRP refills in NOT_AP; high-frequency firing depletes
|
||||
// faster than it recovers → short-term depression deepens
|
||||
|
||||
DAY | NOT_AP:
|
||||
pre_fast_trace *= decay(100ms); pre_endurance_need *= decay(min)
|
||||
retro_NO_local = retro_NO; retro_NO *= decay(s) // receive + channel clears (NO short-lived)
|
||||
retro_eCB_local = retro_eCB; retro_eCB *= decay(s) // receive + channel clears
|
||||
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) // private reserve
|
||||
// RECEIVE — latch arrived backward messages; replenish budget (contested supply)
|
||||
retro_NO_local = retro_NO
|
||||
retro_eCB_local = retro_eCB
|
||||
refill(pre from astro_lactate[syn] + axon_ship_pre)
|
||||
|
||||
// RECOVER — refill RRP from private reserve toward its ceiling
|
||||
fill(RRP, pre_structure.slot_ceiling, pre_structure.refill_ceiling, vatpase_cost, pre_budget)
|
||||
|
||||
// EVALUATE (strength) — eligibility → possible_tag → tag (needs dopamine)
|
||||
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:
|
||||
pre_tag += dopamine × pre_possible_tag
|
||||
pre_tag *= decay(hr)
|
||||
|
||||
// DECAY — all traces and channels recede, closing their windows
|
||||
pre_fast_trace *= decay(100ms)
|
||||
pre_possible_tag *= decay(s)
|
||||
pre_endurance_need *= decay(min)
|
||||
pre_tag *= decay(hr)
|
||||
dopamine *= decay(ms) // broadcast transient fades
|
||||
retro_NO *= decay(s); retro_eCB *= decay(s) // backward channels clear
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user