This commit is contained in:
2026-06-30 10:51:28 +02:00
parent 6cb83dd856
commit a2c8be26d8
2 changed files with 182 additions and 59 deletions
@@ -1,20 +1,20 @@
# Tripartite Synapse — Pseudocode v16
# Tripartite Synapse — Pseudocode v15
> Companion: `tripartite_synapse_v15_biology.md` · principle: `logic_principles_v3`.
> Changes from v14:
> (1) NIGHT is distributed into each component (a `NIGHT |` block per component),
> no longer a monolithic stand-alone section
> (2) NIGHT is ITERATED: a loop of cycles; each cycle every component runs the seven-group
> grammar on the slow tier with the flow REVERSED (RECEIVE material from producer,
> BEHAVE commit ceilings from own tags/needs, EMIT material to consumers)
> (3) DAY is bottom-up (evidence ascends, leaves-first); NIGHT is top-down (capacity
> descends, roots-first) — the directionality emerges from iterating local cycles
> (4) NIGHT terminates emergently: demand exhausted (no tag stands) OR supply spent
> (night energy used up); unspent tags CARRY to the next night
> (5) NIGHT produces AND spends energy+material each cycle (material recyclable, energy not);
> tags are consumed by commitment (tag-as-fuel)
> (6) genuinely cross-component NIGHT ops (coherence, homeostatic scaling) are a small shared coda
> Companion: `tripartite_synapse_v16_biology.md` · principle: `logic_principles_v3`.
> Changes from v15 — NIGHT gains HIGHER-SCALE ACTORS and a PHASED structure:
> (1) NIGHT is enacted by a hierarchy of homeostatic actors, NOT the DAY components alone:
> COMPONENT (commits own ceilings) → ASTROCYTE territory (reallocates across its synapses)
> → NEURON (renormalizes total weight) → [assembly/network replay: external arrived signal]
> (2) the NEURON and ASTROCYTE-territory actors ACCUMULATE aggregate traces by DAY
> (total weight/activity; territory demand) and ACT by NIGHT (renormalize; reallocate)
> (3) OCCUPANCY is reset each NIGHT: multiplicative-global downscaling drives VGCC_active,
> AMPA_surface, possible_tag back toward baseline — only CEILINGS persist across a night
> (4) NIGHT is PHASED: early cycles DOWNSCALE (subtractive, reset occupancy, make room),
> late cycles COMMIT (additive, build ceilings for the survivors)
> (5) governing rule: what persists across a night must have EARNED persistence —
> occupancy that earned no tag returns to baseline; the system acts locally, consolidates
> hierarchically
> Carried: cyclic NIGHT, tag-as-fuel, emergent termination, DAY-up/NIGHT-down, seven-group grammar.
---
@@ -82,6 +82,36 @@ Unspent tags are NOT cleared; they carry to the next DAY and compete again next
top-down order needs no schedule: iterating the local cycle delivers capacity to distal sites
over successive cycles, as transport physically does.
NIGHT'S ACTORS ARE NOT DAY'S ACTORS — THE SYSTEM ACTS LOCALLY, CONSOLIDATES HIERARCHICALLY.
DAY is enacted by the six local components. NIGHT is enacted by a HIERARCHY of homeostatic
actors, each conserving a quantity at its own scale and constraining the scale below:
```
[ ASSEMBLY / NETWORK ] replay re-presents the day across neurons (EXTERNAL signal)
↓ constrains → arrives as replay_reweight[·] (like dopamine/glucose: external)
NEURON (the whole cell) conserves TOTAL synaptic weight; renormalizes so no synapse
↓ constrains grows beyond the cell's global budget; drives occupancy downscaling
ASTROCYTE territory conserves total metabolic output; reallocates energy/material
↓ constrains across ALL synapses it wraps, by accumulated territory demand
COMPONENT commits its own ceilings within the allocation handed down
```
These higher actors are DORMANT-BUT-ACCUMULATING by DAY and ACTIVE-AND-CONSTRAINING by NIGHT.
By DAY they only integrate an aggregate trace of the components' emitted activity (they sum
what was emitted, never read a component's interior — locality holds): the NEURON accumulates
`neuron_total_weight` and `neuron_activity`; the ASTROCYTE territory accumulates
`astro_territory_demand[·]`. By NIGHT they act on those aggregates: the astrocyte reallocates,
the neuron renormalizes. The assembly/network tier is not modelled here; its effect enters as
an external arrived signal `replay_reweight`, exactly as dopamine and glucose do.
NIGHT IS PHASED. Early cycles DOWNSCALE (subtractive): occupancy filled during the day —
VGCC_active, AMPA_surface, possible_tag — is driven back toward baseline by multiplicative-global
scaling, and total weight is renormalized. Late cycles COMMIT (additive): the survivors' tags
build ceilings. The rule the phasing enforces: WHAT PERSISTS ACROSS A NIGHT MUST HAVE EARNED
PERSISTENCE. Occupancy that earned no tag returns to baseline; only ceilings carry forward. The
relative potentiation of a tagged synapse survives because it was written into its ceiling, not
because its transient occupancy was spared.
---
## Conventions
@@ -138,6 +168,7 @@ transit(channel, τ_transport) -> arrival: // delivers in-trans
```
dopamine NE ACh // organism broadcasts (external)
replay_reweight[·] // assembly/network replay re-weighting (external, NIGHT)
glucose geometry // physical (external)
elig dop_thr tag_thr tag_expiry // strength gates (universal)
traj_thr endur_thr // endurance gates (universal)
@@ -157,6 +188,9 @@ maint_frac cap_frac // maintenance allocation
decay_rate capacity_decay_rate recycle // passive ceiling decay + material recovery
homeostatic_ceiling coherence_factor assembly_cost biogenesis_cost maint_cost
f_dend f_axon f_spine f_bouton // per-cycle material/energy ship fractions (down the chain)
downscale_factor // per-early-cycle multiplicative occupancy reset (<1)
neuron_weight_ceiling // the cell's total-weight budget (renormalization target)
early_phase_frac // fraction of night cycles that are DOWNSCALE phase
```
---
@@ -572,6 +606,9 @@ DAY | AP:
if dopamine > dop_thr and soma_possible_tag > tag_thr:
soma_tag += dopamine × soma_possible_tag
soma_budget -= creb_cost
// TRACE (NEURON-level aggregator — the cell sums what its components emit, by DAY)
neuron_activity += 1 // total firing this day
neuron_total_weight += Σ all component structure across the cell // running weight tally
DAY | NOT_AP:
// RECEIVE (integrate latest branch input — signal)
@@ -755,6 +792,7 @@ DAY | CONTINUOUS: // per astrosynapse i
astro_central_budget += glycolysis(glucose)·Δt
// ADJUST (demand weights across territory)
for each i: demand[i] = clearance_load[i] × astro_structure[i].delivery_eff
for each i: astro_territory_demand[i] += demand[i]·Δt // TRACE: territory-level aggregator (by DAY)
factor = min(1, astro_central_budget / (Σ demand·lactate_cost + ε))
// EMIT (demand-weighted lactate to all components)
for each i:
@@ -832,46 +870,80 @@ DAY or NIGHT | OVERLOAD:
---
---
# NIGHT — the driver
NIGHT is not a component; it is the loop that runs every component's `NIGHT | cycle` block,
plus a small coda for the genuinely cross-component operations. The roots produce each cycle,
material+energy descend the supply chains over successive cycles, and tagged components commit
and spend their tags. The loop ends when demand is exhausted or the night's energy is spent.
# NIGHT — the driver (a hierarchy of actors, phased)
NIGHT runs a loop of cycles. Each cycle has FOUR actor tiers acting in order from the top of the
hierarchy down: the external replay signal arrives, the NEURON renormalizes, the ASTROCYTE
territory reallocates, then the COMPONENTS commit within what they were handed. The night is
PHASED: early cycles DOWNSCALE (reset occupancy, renormalize weight — subtractive, make room),
later cycles COMMIT (build ceilings for the survivors — additive). It ends emergently.
```
NIGHT driver:
night_energy_spent = 0
N_cycles_early = early_phase_frac × estimated_cycles
repeat cycle = 1, 2, 3, …:
// 1. coherence signals (cross-component) computed from this cycle's standing tags
phase = (cycle ≤ N_cycles_early) ? DOWNSCALE : COMMIT
// ── TIER 0: ASSEMBLY/NETWORK (external) ───────────────────────────────
// replay_reweight[s] arrives this cycle: re-presents the day's patterns and
// re-weights which synapses the assembly found significant (external signal).
// ── TIER 1: NEURON (renormalize total weight; drive occupancy downscaling) ──
if phase == DOWNSCALE:
// multiplicative-global occupancy reset — only CEILINGS will persist
for each synapse s:
VGCC_active[s] *= downscale_factor
AMPA_surface[s] *= downscale_factor
possible_tag[s] *= downscale_factor // medium evidence renormalized too
// renormalize total committed weight toward the cell's budget (Tononi-style)
if neuron_total_weight > neuron_weight_ceiling:
g = neuron_weight_ceiling / neuron_total_weight
for each component c in cell: c_structure *= g
soma_material += Σ reduction·recycle // freed material returns to pool
// ── TIER 2: ASTROCYTE territory (reallocate metabolic support) ─────────
// reallocate this cycle's energy/material across the territory by accumulated demand,
// re-weighted by replay — the astrocyte is the metabolic arbiter of its synapses
for each astrosynapse i:
astro_alloc[i] = (astro_territory_demand[i] × replay_reweight[i])
/ Σ(astro_territory_demand × replay_reweight)
// (astro_alloc biases each synapse's share of the astrocyte's produced batch this cycle)
// ── TIER 3: COMPONENTS (commit within the allocation handed down) ──────
// coherence signal (cross-component) from this cycle's standing tags
for each synapse s:
coherence_signal[s] = (pre_tag[s], post_tag[s], astro_tag[s] all > tag_expiry)
? coherence_factor : 1
// 2. run every component's NIGHT | cycle block (order-independent; flow emerges over cycles)
run PRE, POST, DEND, SOMA, AXON, ASTRO NIGHT | cycle
// 3. termination — emergent, local, OR of two conditions
demand_left = Σ all tags > tag_expiry (system-wide)
if demand_left ≈ 0: break // DEMAND exhausted — learned all it could
if night_energy_spent ≥ night_energy_ceiling: break // SUPPLY spent — ran out of night
if phase == COMMIT:
run PRE, POST, DEND, SOMA, AXON, ASTRO NIGHT | cycle // build ceilings
else:
run SOMA, ASTRO NIGHT | cycle (PRODUCE + EMIT only) // pre-stage material downstream
// CODA (cross-component, once at end of night)
// homeostatic scaling: if the soma fired too much overall, scale all synapses down
if soma_tag > homeostatic_ceiling:
s = homeostatic_ceiling / soma_tag
for each synapse: post_structure.slot_ceiling *= s ; pre_structure.slot_ceiling *= s
soma_material += Σ reduction·recycle
// clear DAY traces; tags PERSIST (carry to next night), only fast/medium DAY traces reset
// ── termination — emergent, OR of two conditions ──────────────────────
night_energy_spent updated by the roots' production this cycle
demand_left = Σ all tags > tag_expiry (system-wide)
if demand_left ≈ 0: break // DEMAND exhausted (rested)
if night_energy_spent ≥ night_energy_ceiling: break // SUPPLY spent (overloaded)
// ── CODA (once at end of night) ────────────────────────────────────────────
// clear DAY traces and the DAY aggregators; occupancy already reset by downscaling
all fast_trace, possible_tag, endurance_need = 0
soma_Na_inactivation = soma_adaptation = soma_refractory_alignment = 0
// tags are NOT cleared here — unspent tags carry forward, decaying on their slow τ
neuron_activity = 0; neuron_total_weight = recomputed from surviving structure
astro_territory_demand[·] = 0
// tags are NOT cleared — unspent tags carry forward, decaying on their slow τ
// structure and budget_ceiling PERSIST as the next DAY's ceilings
// VGCC_active / AMPA_surface have been returned to baseline by downscaling
```
Notes. (1) The cycle order of components does not matter: a consumer that has not yet received
this cycle simply commits less and tries again next cycle, so capacity reaches distal sites over
iterations rather than by schedule. (2) `coherence_signal` is treated as an arrived signal (like
a tag propagating), preserving locality — no component reads another's tag directly; the driver
computes the coincidence and broadcasts it. (3) A heavy-learning DAY deposits more tags, so the
night runs more cycles (or exhausts its energy first) — night length is emergent from the day.
Notes. (1) The phasing makes cycles genuinely different: an early cycle reshapes the landscape
(reset occupancy, renormalize weight, pre-stage material), a late cycle builds on the reshaped
landscape — so what gets committed depends on the order, and could not be computed in one shot.
(2) Higher actors never read a component's interior: the neuron renormalizes a sum it accumulated
from emitted activity; the astrocyte reallocates by demand it accumulated; coherence and replay
arrive as signals. Locality holds — the system acts locally and consolidates hierarchically.
(3) Occupancy is reset every night, so each DAY starts from baseline occupancy against whatever
ceilings persisted: the only thing that carries a day forward is what earned a ceiling.
---
@@ -887,12 +959,16 @@ DAY grammar on OCCUPANCY within two ceilings (structure=strength, budget_ceil
fast_trace + dopamine → tag (strength)
FUEL shortfall + interrupted LOCAL success → endurance_need (endurance)
OCCUPANCY/structure/timing shortfalls → short-term depression (NOT endurance)
NIGHT same grammar on the CEILINGS, ITERATED as a loop of cycles:
top-down: roots produce, capacity descends roots→leaves over successive cycles
each cycle: RECEIVE batch · BEHAVE commit (tag→structure, need→budget_ceiling, spend tag) ·
EMIT batch downstream · RECOVER material · DECAY ceilings
NIGHT enacted by a HIERARCHY of actors (not the DAY components alone), PHASED:
assembly/network replay (external) → NEURON renormalize total weight + downscale occupancy
→ ASTROCYTE territory reallocate → COMPONENTS commit ceilings within what's handed down
early cycles DOWNSCALE (reset occupancy multiplicatively-global, make room),
late cycles COMMIT (build ceilings for survivors)
higher actors ACCUMULATE aggregate traces by DAY, ACT by NIGHT (locality holds)
ends when DEMAND exhausted (no tag stands) OR SUPPLY spent (night energy used)
unspent tags CARRY to next night; material recycles, ENERGY does not (the arrow of time)
what persists must EARN it: occupancy resets to baseline, only CEILINGS carry;
unspent tags carry to next night; material recycles, ENERGY does not (arrow of time)
RULE the system ACTS LOCALLY (DAY, local components) and CONSOLIDATES HIERARCHICALLY (NIGHT)
FLOWS every flow has a timescale; shipment is transit-delayed (distal fills over cycles)
LOCAL every group uses only own state + arrived signals; RECEIVE/EMIT are the only crossings
```
@@ -1,16 +1,13 @@
# Tripartite Synapse — Biological Reference (companion to v15 pseudocode)
# Tripartite Synapse — Biological Reference (companion to v16 pseudocode)
> Companion to `tripartite_synapse_v15_pseudocode.md` · principle: `logic_principles_v3`.
> v15 distributes NIGHT into each component as an iterated cycle. Biologically this reflects
> that consolidation is not a single event but proceeds across the repeated slow-wave cycles of
> NREM sleep: each cycle the producers (soma protein synthesis, astrocyte glycolysis/ECM
> synthesis) make a bounded batch of material and energy, it is transported one hop down the
> dendrite/axon/astrocytic processes, and tagged synapses incorporate what arrives. Distal sites
> consolidate later because their material arrives over more cycles. The night ends when there is
> nothing left worth consolidating (tags spent) or the night's metabolic supply is exhausted —
> a heavier learning day therefore demands a longer or fuller night, and unfinished consolidation
> carries to the following night. Energy spent on construction is irreversible (the system's one
> one-way flow); material released by pruned structure is recycled.
> Companion to `tripartite_synapse_v16_pseudocode.md` · principle: `logic_principles_v3`.
> v16 gives NIGHT a hierarchy of homeostatic actors at scales above the single synapse, and a
> phased structure. The actors of consolidation are not the actors of transmission: by day the
> six local components transmit; by night a hierarchy — astrocyte territory, the whole neuron,
> and (as an external signal) the assembly/network — renormalizes and reallocates. Early-night
> cycles downscale the day's transient changes (synaptic homeostasis); later cycles consolidate
> the survivors. Occupancy filled by day (receptor surface, channel coupling) is returned to
> baseline each night, so only what was written into a structural ceiling persists.
---
@@ -405,3 +402,53 @@ consolidate over several nights or, if it decays first, never.
returns to the pool and is reused; the energy burned to build or to prune is gone. Across a
lifetime this energy throughput bounds how much the system can ever consolidate — the metabolic
arrow of time underlying the whole model.
---
## NIGHT's hierarchy of actors — the biology
**Why the actors differ from DAY's.** Transmission is local — a bouton releases, a spine
integrates, an astrosynapse clears. Consolidation is not: it involves quantities no single
synapse can see. Whether one synapse's strengthening "fits" depends on the neuron's total
synaptic weight; reallocating metabolic support depends on an astrocyte's whole territory;
deciding which memories to replay depends on assemblies of neurons. So NIGHT is enacted by
actors at higher scales, each conserving a quantity at its scale.
**The astrocyte territory (Tier 2).** The astrocyte cell body supports hundreds to thousands of
synapses. By day it allocates lactate by demand; by night it reallocates its produced energy and
ECM material across its whole territory, biased by the demand it accumulated and by replay. This
is a genuine territory-level actor — the astrocyte is the metabolic arbiter of its domain, and
its nightly reallocation decides which of its synapses can afford to consolidate.
**The neuron as a whole (Tier 1).** Synaptic homeostasis (the synaptic homeostasis hypothesis of
Tononi and Cirelli) operates on the neuron's *total* synaptic weight: across sleep, the cell's
synapses are renormalized downward multiplicatively, preserving relative differences while
restoring overall excitability and freeing capacity. This is a neuron-scale operation — no synapse
can perform it, because no synapse knows the cell's total weight. In the model the neuron
accumulates that total by day and renormalizes it by night, scaling all the cell's structures by
a common factor when the total exceeds the cell's budget.
**The assembly / network (Tier 0, external).** Systems consolidation — hippocampalcortical replay
— reactivates the day's patterns across ensembles of neurons during NREM, and this dialogue
selects which assemblies are written into cortex. This is a network-scale process beyond a single
neuron, so the model treats it as an external arrived signal (`replay_reweight`), exactly as it
treats dopamine and glucose. Fully modeling it requires a network of these neurons.
**Occupancy downscaling — why only ceilings persist.** During the day, synapses fill occupancy:
receptors trafficked to the surface (AMPA_surface), calcium-channel coupling tightened
(VGCC_active), eligibility accumulated (possible_tag). These are transient and reversible. If they
carried across the night undiminished, a synapse could become lastingly strong without ever
earning a tag or paying the consolidation cost — bypassing the entire validation machinery.
Multiplicative-global downscaling during early-night cycles returns occupancy to baseline. A
synapse that was tagged and had its *ceiling* raised starts the next day strong; one that merely
filled occupancy during the day starts back at baseline. The relative potentiation survives only
where it was written into structure — which is precisely synaptic homeostasis enforcing that the
slow tier carries the learning and the fast/medium tier is renewed each day.
**Why phased.** A single sweep cannot both reset and build, because building should act on the
*post-reset* landscape. Early cycles are subtractive (downscale occupancy, renormalize weight,
make metabolic room); later cycles are additive (commit the survivors). This is the NREM arc —
slow-wave-dominated downscaling early, selective consolidation later — and it makes each cycle's
*kind* depend on where in the night it falls, so the cycles are genuinely different operations,
not installments of one.