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

This commit is contained in:
2026-07-07 01:46:16 +02:00
parent 9a3d75af04
commit e57f1b2f82
@@ -1,116 +1,75 @@
# Tripartite Synapse — Pseudocode v17 # Tripartite Synapse — Pseudocode v17
> Companion: `tripartite_synapse_v17_biology.md` · principle: `logic_principles_v3`. > Companion: `tripartite_synapse_v17_biology.md` · principle: `logic_principles_v5`.
> Changes from v16 — NIGHT is no longer an external driver; it is an EMERGENT, per-component > Model — every component runs the SAME THREE CATEGORIES in two directions:
> state driven by a fatigue→sleep-pressure loop. Actors at every scale are written as peers. > (ACTION ⇄ RECOVERY) × many, then PREPARATION — outward by DAY (world), inward by NIGHT (economy).
> (1) EIGHT actors in one uniform template: > ACTION = the defining deed (day: release/fire/respond/propagate ; night: build ⇄ release structure).
> LOCAL components — SOMA · PRE · POST · DEND · AXON · ASTROSYNAPSE (behave by DAY) > RECOVERY = fast alter-ego, restore the ability to act (day: refill ; night: import + free material).
> CELL actors — NEURON (over soma/pre/post/dend/axon) · ASTROCYTE (over astrosynapses) > PREPARATION = shape what's next, facing this scope AND the other; night PREPARATION REPLAYS the day
> SYSTEM actor — HYPOTHALAMUS (integrates fatigue, emits sleep-pressure) > ACTION (same machinery, no dopamine) to measure PARTICIPATION. "Evaluation" retired — a trace is a
> (2) DAY/NIGHT are PER-COMPONENT emergent states, not a global clock: a component is in NIGHT > provision, not a judgment. Each category spans FAST · MEDIUM · SLOW.
> when its OWN activity is low AND sleep-pressure is high; back to DAY when pressure falls. > (1) EIGHT actors: LOCAL components (soma·pre·post·dend·axon·astrosynapse) · CELL actors (neuron over
> (transition rule stated once in Conventions). The HYPOTHALAMUS alone is CONTINUOUS. > soma/pre/post/dend/axon ; astrocyte over astrosynapses) · SYSTEM actor (hypothalamus).
> (3) the external NIGHT driver is REMOVED. Restructuring is gated by local low-activity > (2) DAY/NIGHT is a TOP-DOWN context BROADCAST by the hypothalamus, which integrates FATIGUE
> (behavior and restructuring are mutually exclusive at the substrate). > (astrocyte-reported metabolic debt) ⇄ REST and emits the scope. Earned, not clocked; not local.
> (4) higher actors INTEGRATE constituents' emitted activity by their day and BROADCAST > (3) NIGHT ACTION is BUILD ⇄ RELEASE, participation-arbitrated: build (tag stands + participation ≥
> permission / renormalization / reallocation by their night — they never reach in; > MEDIUM; tag funds a slice, persists across cycles) vs release (participation LOW; frees material;
> each component restructures ITSELF in response to arrived signals (locality holds). > tag untouched). Build/release compete WITHIN a component; material competes BETWEEN components.
> (5) governing rule: NO actor authorizes its own restructuring — each is PUT IN THE POSITION > Two forgettings: structural pruning (low participation) · intention decay (tag unspent).
> to restructure by the actor above it (which holds an aggregate it cannot see and opens a > (4) DAY collaborates (non-rival information; each acts so the next can act); NIGHT competes (rival
> quiet window it cannot open). The system acts locally and consolidates hierarchically. > conserved material) — but the competition is ADJUDICATED by collaborative replay (participation).
> Carried: cyclic/phased NIGHT, occupancy reset, tag-as-fuel, transit, two-resource metabolism. > (5) ASTROCYTE is the metabolic sensor (drives the switch, permits waking) and DAY primer (alpha-driven
> localized neuromodulation). Higher actors INTEGRATE emissions and BROADCAST — never reach in.
> (6) governing rule: NO actor authorizes its own restructuring — each is PUT IN POSITION by the actor
> above (holds an aggregate it cannot see, opens a window it cannot open). Act locally, consolidate
> hierarchically. Material recycles; ENERGY does not (the arrow of time).
> PENDING: ASTROSYNAPSE night still in the earlier NON_REM/REM form (its own pass — continuous case).
--- ---
## Functional groups (seven-group grammar) ## The three categories and the ladder
Every component runs the SAME three categories — ACTION, RECOVERY, PREPARATION — at DAY and at
NIGHT, chunked under `// ===== =====` separators in each block below. The rhythm is
(ACTION ⇄ RECOVERY) × many, then PREPARATION, then again. A category names a KIND of work, not a
timescale: each spans FAST · MEDIUM · SLOW. Evidence ascends the timescale ladder by day (fast
trace → occupancy → tag); capacity descends it by night (tag → structure). For the full logic of
the ring, the ladder, and the two turnings, see logic_principles.
DAY AND NIGHT ARE A TOP-DOWN CONTEXT, BROADCAST BY THE HYPOTHALAMUS. The alternation is NOT a local
per-component decision — it is a single context signal emitted from above and received by every
component, the way the neuron's renormalization or the astrocyte's priming is broadcast. The
hypothalamus integrates two competing drives — FATIGUE (metabolic debt, reported chiefly by the
ASTROCYTE, which runs the energy economy) and REST (restoration accumulated during quiet) — and
emits the DAY/NIGHT context according to which dominates:
``` ```
RECEIVE take in resources + signals that arrived from outside (boundary: in) SCOPE CONTEXT (computed by HYPOTHALAMUS, broadcast to all; CONTINUOUS — the one actor that never sleeps):
TRACE maintain the trace hierarchy — deposit fast trace; accumulate fatigue ← integrate metabolic debt + unspent demand emitted by components (astrocyte-reported)
possible_tag + endurance_need; stabilize tag on coincidence rest ← integrate restoration accumulated while quiet
ADJUST compute local operating parameters from structure + traces + modulators emit DAY while rest dominates fatigue (behave outward)
BEHAVE the component's defining action, within both ceilings emit NIGHT while fatigue dominates rest (restructure inward)
EMIT send out — signals (messages) + resources (shipments) (boundary: out) The context is EARNED, not clocked: it is the integrated outcome of the fatigue⇄rest competition,
RECOVER refill own private pools consumed by behaving not a wall-clock schedule. Components do not each decide when to cross; they receive the context.
DECAY let traces recede, closing their windows
``` ```
EVALUATE merged into TRACE: judging a behavior is always maintaining a trace, whether or not Why top-down and not local: behaving and restructuring compete for the same substrate (a component
a trace is written. BEHAVE and EMIT stay separate — EMIT is the output half of the locality cannot restructure while busy), so the crossing must be coordinated across the coupled components —
interface (RECEIVE/EMIT are the only boundary crossings). TRACE spans all timescales: the a pattern can only replay at night if its whole loop is in NIGHT together. A per-component local
soma's inactivation, adaptation, and nuclear-Ca deposits are all TRACE. Order within a context crossing could not guarantee that coherence; a broadcast context does. The switch is top-down; what
follows data dependencies; TRACE reads/writes whatever trace state is current. each component DOES within the context (behave / replay / build) remains fully local.
EVERY FLOW HAS A TIMESCALE. Decay relaxes toward 0 over τ; creation/arrival relaxes toward a THE FATIGUE⇄REST LOOP. Activity generates fatigue (the astrocyte accrues and reports metabolic
target over τ — the same first-order operator. Within-step writes are the special case τ ≪ Δt. debt); rising fatigue tips the hypothalamus to broadcast NIGHT; restructuring discharges debt and
Rate-limited inflows (fill/refill/flux·Δt) carry their τ implicitly; shipment carries an accrues rest; rising rest tips it back to DAY. DAY and NIGHT are the two phases of one homeostatic
explicit transit delay (see `transit`). competition the hypothalamus integrates and broadcasts — the astrocyte is the metabolic sensor that
feeds it, and (see ASTROCYTE) the discharge of debt during night is what permits waking.
THE GROUPS MOVE BETWEEN TIERS (the ladder; see logic_principles "The Timescale Ladder").
Four tiers: FAST (mss) · MEDIUM (smin) · SLOW (hr) · PERSISTENT (NIGHT-written). The groups
move evidence UP the ladder and read capacity DOWN it:
```
ADJUST reads PERSISTENT ceiling + FAST trace → sets this step's operating point (down)
BEHAVE acts at FAST, bounded by the PERSISTENT ceiling (down)
TRACE deposits FAST, accumulates FAST→MEDIUM evidence, stabilizes MEDIUM→SLOW tag (up)
RECOVER refills toward the PERSISTENT ceiling (down)
DECAY relaxes FAST · MEDIUM · SLOW (PERSISTENT never decays in DAY)
NIGHT commits SLOW tag + MEDIUM endurance_need → PERSISTENT ceilings (up)
```
Capacity flows downward (slow sets the ceiling for fast); evidence flows upward (fast
accumulates toward slow). Each component's DECAY group below is banded by tier to show this.
NIGHT IS THE SAME GRAMMAR, ITERATED, WITH THE FLOW REVERSED. NIGHT is not a separate section —
each component carries a `NIGHT |` block, and a driver loops all blocks for cycle = 1,2,3…
until the night ends. DAY runs bottom-up (consumers act first, evidence ascends leaves→roots);
NIGHT runs top-down (producers act first, capacity descends roots→leaves). Per cycle, each
component:
```
RECEIVE take in the material + energy batch that arrived from my producer this cycle
TRACE read my own tag / endurance_need (the standing demand)
ADJUST size this cycle's commit from material + energy actually on hand
BEHAVE commit a BATCH: structure += Δ (from tag) ; budget_ceiling += Δ' (from need)
spend material + energy ; SPEND the tag/need by the committed amount (tag-as-fuel)
EMIT ship a batch of material + energy one hop down to my consumers (demand-weighted)
RECOVER reclaim material from any ceiling that decayed this cycle (energy is NOT recovered)
DECAY unmaintained ceilings drift down a little; tags decay a little
```
Roots (SOMA, ASTRO cell body) PRODUCE the batch each cycle (RECEIVE = production, capped by
glucose / CREB). The night ends when DEMAND is exhausted (no tag stands above tag_expiry,
system-wide) OR SUPPLY is spent (the night's energy throughput is used up) — whichever first.
Unspent tags are NOT cleared; they carry to the next DAY and compete again next NIGHT. The
top-down order needs no schedule: iterating the local cycle delivers capacity to distal sites
over successive cycles, as transport physically does.
DAY AND NIGHT ARE PER-COMPONENT EMERGENT STATES, NOT A GLOBAL CLOCK. There is no global SCOPE
variable. Each component is in its own DAY or NIGHT, decided locally from its own activity and
the arrived sleep-pressure signal. The labels `DAY | …` and `NIGHT | …` below denote these
LOCAL states. One transition rule governs every component (stated once here, not repeated):
```
TRANSITION (evaluated per component, from local state + the arrived signal):
enter NIGHT when own_activity < rest_thr AND sleep_pressure > sleep_thr
enter DAY when sleep_pressure < wake_thr
own_activity = the component's own running activity trace (it cannot restructure while busy:
behavior and restructuring compete for the same substrate — mutual exclusion).
sleep_pressure = arrived signal broadcast by the HYPOTHALAMUS (see below).
```
Components therefore cross into NIGHT at different times — a wave, not a switch (local sleep).
THE FATIGUE LOOP REPLACES THE EXTERNAL DRIVER. The system has no scheduler. Activity generates
fatigue; the hypothalamus integrates fatigue and broadcasts sleep-pressure; high pressure (plus
a component's own quiet) opens the restructuring window; restructuring discharges fatigue;
discharge lowers pressure; components re-enter DAY. DAY and NIGHT are the two phases of one
homeostatic loop the system runs on itself.
``` ```
every component → emits fatigue (metabolic debt, unspent demand) ↑ every component → emits fatigue (metabolic debt, unspent demand) ↑
HYPOTHALAMUS → integrates fatigue, emits sleep_pressure ↓ (CONTINUOUS — never sleeps) ASTROCYTE → integrates territory energy debt → reports fatigue ↑ (the metabolic sensor)
every component → reads sleep_pressure + own activity → enters DAY or NIGHT locally HYPOTHALAMUS → integrates fatigue ⇄ rest → BROADCASTS DAY/NIGHT ↓ (CONTINUOUS)
every component → receives the DAY/NIGHT context (top-down)
``` ```
ACTORS ARE PEERS AT EVERY SCALE; EACH IS PUT IN POSITION BY THE ONE ABOVE. No actor authorizes ACTORS ARE PEERS AT EVERY SCALE; EACH IS PUT IN POSITION BY THE ONE ABOVE. No actor authorizes
@@ -118,13 +77,13 @@ its own restructuring. Each holds an aggregate its constituents cannot see and o
they cannot open, then BROADCASTS — it never reaches into a constituent's interior. they cannot open, then BROADCASTS — it never reaches into a constituent's interior.
``` ```
HYPOTHALAMUS integrates fatigue from all → broadcasts sleep_pressure (system, CONTINUOUS) HYPOTHALAMUS integrates fatigue ⇄ rest → broadcasts DAY/NIGHT context (system, CONTINUOUS)
↓ signal ↓ signal
NEURON integrates its components' activity/weight → broadcasts (cell actor) NEURON integrates its components' activity/weight → broadcasts (cell actor)
ASTROCYTE rest-permission + renormalization / reallocation (cell actor) ASTROCYTE reports fatigue upward ; primes (day) + reallocates (night) (cell actor)
↓ signal (NEURON over soma/pre/post/dend/axon ; ASTROCYTE over astrosynapses) ↓ signal (NEURON over soma/pre/post/dend/axon ; ASTROCYTE over astrosynapses)
COMPONENTS soma · pre · post · dend · axon · astrosynapse — each restructures ITSELF COMPONENTS soma · pre · post · dend · axon · astrosynapse — each restructures ITSELF
when its own DAY/NIGHT transition (above) grants the window within the broadcast DAY/NIGHT context
[ ASSEMBLY / NETWORK ] replay is INTERNALLY generated (spontaneous firing, below); the external [ ASSEMBLY / NETWORK ] replay is INTERNALLY generated (spontaneous firing, below); the external
replay_reweight only BIASES which internal patterns are favored (cross-neuron replay_reweight only BIASES which internal patterns are favored (cross-neuron
coordination), arriving like dopamine/glucose — it is not the replay itself coordination), arriving like dopamine/glucose — it is not the replay itself
@@ -176,26 +135,28 @@ its structure rebuilt) OR energy is spent (overloaded — unspent tags carry to
``` ```
SCOPE = {DAY, NIGHT} CONTEXT = {AP, NOT_AP, NOT_SPIKE_TRAIN, bAP, NOT_bAP, CONTINUOUS} SCOPE = {DAY, NIGHT} CONTEXT = {AP, NOT_AP, NOT_SPIKE_TRAIN, bAP, NOT_bAP, CONTINUOUS}
THE RING (see logic_principles "The Three-Phase Ring"): ACTION → EVALUATION → PREPARATION THE THREE CATEGORIES (see logic_principles "The Ring"): (ACTION ⇄ RECOVERY) × many, then PREPARATION
ACTION lateral, punctate — the component's defining act; deposits the fast trace. ACTION the component's defining deed; deposits the fast trace. ALWAYS LOCAL to the acting
ALWAYS LOCAL to the acting component (cannot be done on another's behalf). component (cannot be done on another's behalf — that would be signalling, not acting).
EVALUATION local — read the fresh trace, climb the ladder toward the tag (the token for NIGHT). RECOVERY the fast alter-ego of action — restore the ability to act again (refill, de-inactivate,
PREPARATION vertical — settle pools/gates forward, read what descended, ready the next action. clear). Day: restock private pools. Night: import material/energy, free trimmed material.
Phase edges are event/decay-timed, not clocked. EVALUATION and PREPARATION may be LOCAL or PREPARATION shape what comes next; faces BOTH the next same-scope action AND the other scope.
CONTEXTUAL (supplied by a neighbor/higher component); ACTION is always local. A near-pure-action Stocks the tag (for NIGHT) and tunes occupancy/thresholds (for the next action). What
component (e.g. a channel) is written ACTION-only, its eval/prep noted as contextual. earlier drafts called "evaluation" is here: depositing a trace is provisioning, not
judging. RECOVERY and PREPARATION may be LOCAL or CONTEXTUAL (a neighbor supplies them);
ACTION is always local. A near-pure-action component (e.g. a channel) is ACTION-only.
A category names a KIND of work, not a timescale: each spans FAST · MEDIUM · SLOW.
CONTEXT LICENSES PHASE (context = the imposed condition; phase = the work it permits). CONTEXT LICENSES PHASE (context = the imposed condition; phase = the work it permits).
The context is what other components impose (a spike delivered or not, a train present or not); The context is what other components impose (a spike delivered or not, a train present or not);
the phase annotation says which ring-work runs. Contexts can NEST, and nested contexts run the category annotation says which work runs. Contexts can NEST, and nested contexts run
ON TOP of their parent — a behavior is written in exactly ONE context, so nothing double-runs: ON TOP of their parent — a behavior is written in exactly ONE context, so nothing double-runs:
AP spike this step → ACTION AP spike this step → ACTION
NOT_AP no spike this step → FAST eval + FAST prep (in-train gaps AND quiet) NOT_AP no spike this step → RECOVERY (restock) (in-train gaps AND quiet)
NOT_SPIKE_TRAIN no spike AND no train ⊂ NOT_AP → adds SLOW eval + SLOW prep (runs on top of NOT_AP) NOT_SPIKE_TRAIN no spike AND no train ⊂ NOT_AP → adds PREPARATION (runs on top of NOT_AP)
A process runs in the SHORTEST quiet its timescale fits: fast-trace decay and partial pool refill A process runs in the SHORTEST quiet its timescale fits: fast-trace decay and partial pool refill
in NOT_AP (they ride the train and set short-term depression); tag formation, full refill, and in NOT_AP (they ride the train and set short-term depression); tag formation, full refill, and
occupancy read-out in NOT_SPIKE_TRAIN. (Components without trains use only their ACTION / quiet occupancy read-out in NOT_SPIKE_TRAIN. (Components without trains use bAP / NOT_bAP, or continuous.)
contexts, e.g. bAP / NOT_bAP, or continuous graded activity.)
VARIABLE TIERS (timescale = meaning; see logic_principles "The Timescale Ladder") VARIABLE TIERS (timescale = meaning; see logic_principles "The Timescale Ladder")
FAST (mss) immediate response fast_trace FAST (mss) immediate response fast_trace
@@ -258,8 +219,8 @@ transit(channel, τ_transport) -> arrival: // delivers in-trans
dopamine NE ACh // organism broadcasts (external) dopamine NE ACh // organism broadcasts (external)
replay_reweight[·] // assembly/network replay re-weighting (external, NIGHT) replay_reweight[·] // assembly/network replay re-weighting (external, NIGHT)
glucose geometry // physical (external) glucose geometry // physical (external)
sleep_pressure // emitted by HYPOTHALAMUS, read by all (the day/night signal) scope_context ∈ {DAY, NIGHT} // BROADCAST by HYPOTHALAMUS (top-down; the switch, read by all)
rest_thr sleep_thr wake_thr // per-component DAY↔NIGHT transition thresholds fatigue_gain rest_gain // hypothalamus fatigue⇄rest integration weights
elig dop_thr tag_thr tag_expiry // strength gates (universal) elig dop_thr tag_thr tag_expiry // strength gates (universal)
traj_thr endur_thr // endurance gates (universal) traj_thr endur_thr // endurance gates (universal)
ship_cost // transport overhead (all shipments) ship_cost // transport overhead (all shipments)
@@ -293,16 +254,16 @@ replay_AP // propagated re-evocation spike (soma
--- ---
--- ---
# LOCAL COMPONENTS # LOCAL COMPONENTS
> Each behaves by its DAY and restructures by its NIGHT — per-component emergent states > Each behaves within the broadcast DAY context and restructures within the broadcast NIGHT context
> (see Conventions: the transition rule). `DAY | …` / `NIGHT | …` label local states, not a clock. > (see Conventions: the transition rule). `DAY | …` / `NIGHT | …` label local states, not a clock.
--- ---
## 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. Like every component it turns one ring — release was worth strengthening and worth sustaining. Like every component it runs the three
ACTION → EVALUATION → PREPARATION — in two directions: outward by DAY (against the cleft), inward categories — (ACTION ⇄ RECOVERY) × many, then PREPARATION — in two directions: outward by DAY
by NIGHT (against the economy). (against the cleft), inward by NIGHT (against the economy).
**DAY · ACTION (the AP) — the bouton releases.** The amount released depends on residual **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 **calcium** (the fast trace, set by this spike), the current **VGCC coupling occupancy** (how
@@ -312,15 +273,15 @@ availability of **fuel and vesicles**. The action deposits the fast trace the re
reads. Two shortfalls read differently: a fuel shortfall on a succeeding release is *endurance* 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. evidence; an empty pool with fuel to spare is ordinary short-term depression.
**DAY · EVALUATION (after the AP, trace fresh) — climb toward the tag.** Reading the fast trace, **DAY · RECOVERY (between spikes) — restock to release again.** In the inter-spike gaps the bouton
the bouton accumulates eligibility (`possible_tag`) and, on the dopamine coincidence, the `tag` refills its vesicle pool and lets the fast trace relax — the fast alter-ego of release, riding the
the inert token minted for the night. It never acts here; it lays down evidence. train, and the release-vs-refill race is what sets short-term depression.
**DAY · PREPARATION (trace decaying) — ready the next release.** The bouton latches the retrograde **DAY · PREPARATION (train passed) — shape the next release AND the night.** Reading the accumulated
messages, tightens its VGCC coupling from accumulated eligibility (reversible short-term fast trace, the bouton climbs eligibility (`possible_tag`) and, on the dopamine coincidence, the
potentiation, no dopamine, bounded by structure — readiness, not evidence), refills budget and `tag` — the token stocked for the night (this is provisioning, not judging). It also latches the
vesicles *toward the next demand* (not a restoration — forward-facing), and lets its traces decay. retrograde messages, tightens its VGCC coupling from eligibility (reversible short-term potentiation,
Preparation is the sole gateway to the next action. no dopamine, bounded by structure), and refills budget toward the next demand.
**NIGHT — the same three categories as DAY, at a slower timescale, turned inward.** Every scope **NIGHT — the same three categories as DAY, at a slower timescale, turned inward.** Every scope
runs the same shape: an alternation of ACTION ⇄ RECOVERY (many times), then PREPARATION. By DAY runs the same shape: an alternation of ACTION ⇄ RECOVERY (many times), then PREPARATION. By DAY
@@ -339,7 +300,7 @@ by night. The bouton is not a sink — by night it emits inward and upward.
// 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 in EVALUATION/PREPARATION; pools refill in PREPARATION) // RECEIVE retro_NO, retro_eCB ← POST (signals latched in PREPARATION; pools refill in RECOVERY/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)
@@ -1065,7 +1026,7 @@ DAY | CONTINUOUS: // per astrosynapse i
astro_lactate[i] = demand[i] × factor; astro_central_budget -= astro_lactate[i]·lactate_cost astro_lactate[i] = demand[i] × factor; astro_central_budget -= astro_lactate[i]·lactate_cost
// ACTION: clear glutamate, supply tonic D-serine, gate on demand (the defining act) // ACTION: clear glutamate, supply tonic D-serine, gate on demand (the defining act)
glutamate[i] -= astro_structure[i].EAAT × glutamate[i]·Δt; astro_central_budget -= clearance·EAAT_cost glutamate[i] -= astro_structure[i].EAAT × glutamate[i]·Δt; astro_central_budget -= clearance·EAAT_cost
astro_Dserine[i] += astro_structure[i].Dserine_tonic·Δt astro_Dserine[i] += astro_structure[i].Dserine_tonic × astro_prime[i]·Δt // priming biases the gate (alpha-driven)
if glutamate[i] > spillover: if glutamate[i] > spillover:
astro_fast_trace[i] += mGluR_Ca(); astro_fast_trace[i] *= decay(s) // deposit fast trace astro_fast_trace[i] += mGluR_Ca(); astro_fast_trace[i] *= decay(s) // deposit fast trace
want = sat(astro_fast_trace[i], K_Dserine) × Ds_max want = sat(astro_fast_trace[i], K_Dserine) × Ds_max
@@ -1166,16 +1127,16 @@ it integrates what its components emit and grants them the restructuring window
grant itself. The soma is one of its constituents, a peer of the bouton; the neuron is not the soma. grant itself. The soma is one of its constituents, a peer of the bouton; the neuron is not the soma.
``` ```
// PARAMETERS neuron_weight_ceiling · downscale_factor · rest_thr // PARAMETERS neuron_weight_ceiling · downscale_factor
// INTERFACE // INTERFACE
// EMIT rest_permission, renorm_signal, occupancy_downscale → own components (broadcast) // EMIT rest_permission, renorm_signal, occupancy_downscale → own components (broadcast)
// neuron_fatigue → HYPOTHALAMUS // neuron_fatigue → HYPOTHALAMUS
// RECEIVE (signals) component activity emissions (summed) ; sleep_pressure ← HYPOTHALAMUS // RECEIVE (signals) component activity emissions (summed) ; scope_context ← HYPOTHALAMUS
// replay_reweight ← assembly/network (external) // replay_reweight ← assembly/network (external)
// OWN neuron_activity · neuron_total_weight (aggregates aggregated from emissions) // OWN neuron_activity · neuron_total_weight (aggregates aggregated from emissions)
// NOTE never reads a component interior; sums emitted activity, broadcasts signals only. // NOTE never reads a component interior; sums emitted activity, broadcasts signals only.
DAY | active: // (own_activity high → integrate only) DAY | active: // (within broadcast DAY context → integrate only)
// TRACE integrate the cell's emitted activity + committed weight (aggregators) // TRACE integrate the cell's emitted activity + committed weight (aggregators)
neuron_activity += Σ component emitted_activity·Δt neuron_activity += Σ component emitted_activity·Δt
neuron_total_weight = Σ component emitted_structure // from emissions, not interiors neuron_total_weight = Σ component emitted_structure // from emissions, not interiors
@@ -1183,7 +1144,7 @@ DAY | active: // (own_activity high
neuron_fatigue = f(neuron_activity, unspent demand) neuron_fatigue = f(neuron_activity, unspent demand)
// (no restructuring permission while the cell is active — components are busy) // (no restructuring permission while the cell is active — components are busy)
NIGHT | cycle: // (own_activity low AND sleep_pressure high) NIGHT | cycle: // (within broadcast NIGHT context)
// the neuron acts ONLY by signalling; components prime/measure/rebuild themselves. Each // the neuron acts ONLY by signalling; components prime/measure/rebuild themselves. Each
// component's cycle is RECOVERY→PREPARATION→ACTION; the neuron just supplies the constraint. // component's cycle is RECOVERY→PREPARATION→ACTION; the neuron just supplies the constraint.
occupancy_downscale = downscale_factor // → components reset own occupancy (in RECOVERY) occupancy_downscale = downscale_factor // → components reset own occupancy (in RECOVERY)
@@ -1193,35 +1154,42 @@ NIGHT | cycle: // (own_activity low
// RECOVER reclaim material returned by components' renormalization (arrives as recycled pool) // RECOVER reclaim material returned by components' renormalization (arrives as recycled pool)
// DECAY neuron_activity relaxes as the cell stays quiet // DECAY neuron_activity relaxes as the cell stays quiet
CODA | on waking (sleep_pressure < wake_thr): CODA | on waking (scope_context → DAY):
neuron_activity = 0; neuron_total_weight = recomputed from surviving emissions neuron_activity = 0; neuron_total_weight = recomputed from surviving emissions
``` ```
## ASTROCYTE ## ASTROCYTE
The astrocyte is the territory actor over its astrosynapses — the exact parallel of the neuron. The astrocyte is the territory actor over its astrosynapses — the exact parallel of the neuron,
It integrates its astrosynapses' emitted demand/load, and reallocates its produced energy and with two roles the neuron lacks. First, it is the ROOT of synaptic energy and ECM material, and
material across the territory. The astrosynapse is one of its constituents; the astrocyte is not therefore the system's METABOLIC SENSOR: it accrues territory energy debt and reports it upward as
the astrosynapse. the fatigue that drives the hypothalamus's DAY/NIGHT switch, and its discharge of that debt during
night is what permits waking. Second, by DAY it PRIMES its territory: reading its own slow calcium
wave (alpha-band), it raises or lowers the D-serine gate and fuel delivery across a field of
synapses — a localized, slow, neuromodulator-like gain signal, biasing which synapses can potentiate.
``` ```
// PARAMETERS (territory reallocation) · rest_thr // PARAMETERS (territory reallocation) · alpha_gain
// INTERFACE // INTERFACE
// EMIT astro_alloc[·] (reallocation), rest_permission → own astrosynapses (broadcast) // EMIT astro_prime[·] (DAY gain field), astro_alloc[·] + rest_permission (NIGHT) → astrosynapses
// astro_fatigue → HYPOTHALAMUS ; produced energy+material → territory (roots) // astro_fatigue → HYPOTHALAMUS (metabolic debt — the switch driver) ; energy+material → territory
// RECEIVE (signals) astrosynapse demand emissions (summed) ; sleep_pressure ; replay_reweight // RECEIVE (signals) astrosynapse demand emissions (summed) ; scope_context ; replay_reweight ; glucose
// OWN astro_territory_demand[·] (aggregated from emissions) ; astro_central_{energy,material} // OWN astro_territory_demand[·] ; astro_slow_Ca (alpha wave) ; astro_central_{energy,material}
// NOTE ROOT of synaptic energy + ECM material; integrate-and-broadcast like the neuron. // NOTE ROOT of synaptic energy + ECM material; integrate-and-broadcast like the neuron, PLUS
// day-priming (localized neuromodulation) and metabolic sensing (drives the day/night switch).
DAY | active: DAY | active:
// TRACE integrate territory-wide emitted demand (aggregator) // TRACE integrate territory-wide emitted demand (aggregator) + own slow Ca wave
for each astrosynapse i: astro_territory_demand[i] += emitted_demand[i]·Δt for each astrosynapse i: astro_territory_demand[i] += emitted_demand[i]·Δt
// BEHAVE DAY metabolic support already runs per-astrosynapse (lactate allocation, see ASTROSYNAPSE) astro_slow_Ca = integrate_slow(territory activity) // alpha-band astrocytic calcium
// EMIT fatigue upward // BEHAVE/EMIT PRIME the territory: alpha-driven localized gain (like neuromodulation, but local)
astro_fatigue = f(territory load, unmet demand) for each astrosynapse i:
astro_prime[i] = 1 + alpha_gain × astro_slow_Ca // → biases i's D-serine gate + fuel (see ASTROSYNAPSE)
// EMIT report metabolic debt upward — this is the fatigue that drives the DAY/NIGHT switch
astro_fatigue = f(territory energy debt, unmet demand)
NIGHT | cycle: // (territory quiet AND sleep_pressure high) NIGHT | cycle: // (within broadcast NIGHT context)
// RECEIVE = PRODUCTION (root): this cycle's energy + ECM batch, capped by glucose // PRODUCTION (root): this cycle's energy + ECM batch, capped by glucose
astro_central_energy += overnight_glycolysis(glucose)·Δt_cycle // NOT recoverable astro_central_energy += overnight_glycolysis(glucose)·Δt_cycle // NOT recoverable
astro_central_material += astro_cellbody_synth()·Δt_cycle // recoverable astro_central_material += astro_cellbody_synth()·Δt_cycle // recoverable
night_energy_spent += overnight_glycolysis(glucose)·Δt_cycle night_energy_spent += overnight_glycolysis(glucose)·Δt_cycle
@@ -1235,6 +1203,8 @@ NIGHT | cycle: // (territory quiet A
rest_permission[i] = TRUE // → each astrosynapse commits itself rest_permission[i] = TRUE // → each astrosynapse commits itself
// RECOVER reclaim material from decayed astrosynapse ceilings (returned to central pool) // RECOVER reclaim material from decayed astrosynapse ceilings (returned to central pool)
astro_central_material += astro_ceiling_shrinkage·recycle astro_central_material += astro_ceiling_shrinkage·recycle
// discharge: producing + distributing energy repays territory debt → astro_fatigue falls → wake permitted
astro_fatigue -= discharge × astro_central_energy·Δt_cycle
CODA | on waking: CODA | on waking:
astro_territory_demand[·] = 0 astro_territory_demand[·] = 0
@@ -1242,68 +1212,71 @@ CODA | on waking:
## HYPOTHALAMUS ## HYPOTHALAMUS
The system actor. Unlike every other actor it has NO night: it runs CONTINUOUS, always The system actor. Unlike every other actor it has NO night: it runs CONTINUOUS, integrating the
integrating fatigue from all components and emitting the single sleep-pressure signal that opens FATIGUE⇄REST competition and BROADCASTING the DAY/NIGHT context that every other actor receives. It
everyone else's restructuring window. It is the clock that never sleeps — if it stopped, nothing is the clock that never sleeps — but not a wall-clock: the context it emits is the earned outcome of
would track fatigue and the system could never transition. the competition, not a schedule. Fatigue is reported chiefly by the ASTROCYTE (the metabolic sensor
that runs the energy economy); rest accrues while quiet. If the hypothalamus stopped, nothing would
integrate the competition and the scope could never switch.
``` ```
// PARAMETERS fatigue_gain · pressure_decay · discharge_gain // PARAMETERS fatigue_gain · rest_gain · hysteresis
// INTERFACE // INTERFACE
// EMIT sleep_pressure → ALL actors (broadcast; the day/night signal) // EMIT scope_context ∈ {DAY, NIGHT} → ALL actors (broadcast; the switch)
// RECEIVE (signals) fatigue from all components + cell actors (summed) // RECEIVE (signals) fatigue from components + ASTROCYTE (metabolic debt) ; rest (restoration)
// discharge signal (restructuring done → fatigue falling) // OWN fatigue · rest · scope_context
// OWN sleep_pressure // NOTE the switch is TOP-DOWN: components receive the context, they do not each decide it.
// NOTE single fatigue channel up, single sleep_pressure channel down. No DAY/NIGHT of its own.
CONTINUOUS: // spans every other actor's day and night CONTINUOUS: // spans every other actor's day and night
// RECEIVE integrate all incoming fatigue (rising with activity, falling with consolidation) // integrate the two competing drives
total_fatigue = Σ component_fatigue + neuron_fatigue + astro_fatigue fatigue += fatigue_gain × (Σ component_fatigue + astro_fatigue)·Δt // rises with activity (astrocyte-reported)
// TRACE accumulate sleep pressure from fatigue; discharge as restructuring proceeds fatigue -= discharge × consolidation_progress·Δt // night restructuring discharges debt
sleep_pressure += fatigue_gain × total_fatigue·Δt rest += rest_gain × quiet·Δt // restoration accrues while quiet
sleep_pressure -= discharge_gain × consolidation_progress·Δt rest -= rest_drain × activity·Δt
sleep_pressure *= decay(pressure_decay) // BROADCAST the context according to which drive dominates (hysteresis avoids chatter)
// EMIT broadcast the current level — each actor reads it and sets its own DAY/NIGHT if fatigue > rest + hysteresis: scope_context = NIGHT
broadcast(sleep_pressure) if rest > fatigue + hysteresis: scope_context = DAY
// (rising pressure tips quiet components into NIGHT; falling pressure wakes them — emergently) broadcast(scope_context) // every actor behaves/restructures within it
``` ```
How it runs without a driver. There is no loop that orchestrates the actors. The hypothalamus How it runs without a driver. There is no loop that orchestrates the actors. The hypothalamus
continuously emits sleep-pressure; each component and cell actor continuously reads it and its own continuously integrates fatigue (astrocyte-reported metabolic debt) against rest and broadcasts the
activity and sets its own DAY/NIGHT per the transition rule. As components quiet and cross into DAY/NIGHT context; every component and cell actor receives it and behaves or restructures within it.
NIGHT they restructure, which discharges fatigue, which lowers pressure, which eventually wakes Night restructuring discharges debt (fatigue falls) while quiet accrues rest — so a rested system's
them. The "loop of NIGHT cycles" is simply what happens while a component remains in its NIGHT context flips back to DAY (waking) and an overloaded one wakes with tags unspent (they carry
state — it runs its `NIGHT | cycle` block repeatedly until its transition rule flips it back to forward). The astrocyte is the sensor that makes this loop turn: it accrues and reports the debt
DAY. Termination (waking) is emergent from the fatigue loop, not a `break`: a rested system that drives the switch, and its discharge during night is what permits waking.
discharges its fatigue and wakes; an overloaded one wakes with tags unspent (they carry forward).
--- ---
## One-view summary ## One-view summary
``` ```
THE THREE-PHASE RING · EIGHT ACTORS · ONE FATIGUE LOOP THREE CATEGORIES · EIGHT ACTORS · ONE FATIGUE⇄REST SWITCH
ACTION (lateral, deposits fast trace) → EVALUATION (local, climbs to tag) → PREPARATION (vertical, readies next) Every component runs (ACTION ⇄ RECOVERY) × many, then PREPARATION — same shape at DAY and NIGHT.
action is always LOCAL; evaluation & preparation may be local or CONTEXTUAL (a neighbor supplies them) ACTION the defining deed (day: release/fire/respond/propagate ; night: change structure)
CONTEXT licenses PHASE: AP→action · NOT_AP→fast eval+prep · NOT_SPIKE_TRAIN(⊂NOT_AP)→slow eval+prep RECOVERY the fast alter-ego — restore the ability to act (day: refill ; night: import + free material)
phase edges are event/decay-timed, not clocked; RECOVER folded into PREPARATION (ready ≠ restore) PREPARATION shape what's next; faces this scope AND the other. "Evaluation" was preparation all along:
depositing a trace is provisioning, not judging. Each category spans FAST·MEDIUM·SLOW.
ACTORS local: soma·pre·post·dend·axon·astrosynapse cell: neuron·astrocyte system: hypothalamus ACTORS local: soma·pre·post·dend·axon·astrosynapse cell: neuron·astrocyte system: hypothalamus
same ring; higher actors INTEGRATE constituents' emissions and BROADCAST — never reach in higher actors INTEGRATE constituents' emissions and BROADCAST — never reach in
DAY (per-component state: own_activity high) ring turned OUTWARD against the world DAY (broadcast context: rest dominates) ring turned OUTWARD against the world — COLLABORATION
fast_trace + dopamine → tag (strength) ; FUEL shortfall + interrupted success → endurance_need each acts so the next can act (pre→post→dend→soma→axon→pre) ; currency: information (non-rival)
currency: information ; token minted by evaluation: the TAG (for NIGHT) ; emit fatigue upward fast_trace → (avg/seconds) occupancy → (avg/minutes + dopamine) TAG, passed to NIGHT
NIGHT (per-component state: own_activity low AND sleep_pressure high) ring turned INWARD against the economy NIGHT (broadcast context: fatigue dominates) ring turned INWARD against the economy — COMPETITION
ACTION=coherence check · EVALUATION=draw & commit (only if coherent) · PREPARATION=make room PREPARATION replays the day ACTION (same machinery, no dopamine) → measures PARTICIPATION
currency: resource ; token minted by evaluation: STRUCTURE (for next DAY) ; deferral if not coherent ACTION = BUILD (participation high + tag stands; tag funds a slice, persists) ⇄ RELEASE
what persists must EARN it: occupancy resets, only CEILINGS carry; unspent tags carry forward (participation LOW; frees material; tag untouched) — build vs release compete WITHIN
LOOP no driver/scheduler. HYPOTHALAMUS runs CONTINUOUS: integrates fatigue → emits sleep_pressure. RECOVERY = contend WITH OTHER components for shared material/energy ; currency: material (rival)
activity→fatigue→pressure→quiet grants restructuring→discharge→pressure falls→wake. DAY/NIGHT competition is ADJUDICATED BY COLLABORATION: you build in proportion to replay participation
are two turnings of one ring per component (local sleep), stitched by evaluation's tokens. two forgettings: structural pruning (low participation) ; intention decay (tag decays unspent)
SWITCH DAY/NIGHT is a TOP-DOWN context. HYPOTHALAMUS integrates FATIGUE (astrocyte-reported metabolic
debt) ⇄ REST (restoration) and BROADCASTS the context. Earned, not clocked. Astrocyte is the
metabolic sensor: it drives the switch and its night discharge permits waking.
RULE no actor authorizes its own restructuring — each is PUT IN POSITION by the actor above RULE no actor authorizes its own restructuring — each is PUT IN POSITION by the actor above
(holds an aggregate it can't see, opens a window it can't open). Acts locally, consolidates (holds an aggregate it can't see, opens a window it can't open). Material recycles; ENERGY
hierarchically. Material recycles; ENERGY does not (the arrow of time). does not (the arrow of time). Coherence is mechanical: a pattern replays only if every link primed.
FLOWS every flow has a timescale; shipment is transit-delayed (distal fills over cycles)
LOCAL only own state + arrived signals; ACTION/EMIT are the crossings; nothing is a pure sink LOCAL only own state + arrived signals; ACTION/EMIT are the crossings; nothing is a pure sink
``` ```