Files
organism/elements/neuron/appunti/2026-06-11-tripartite_synapse_v7.md
T

21 KiB
Raw Blame History

Table of Contents
include_toc
include_toc
true

Shockwave Lockdown

scope DAY or NIGHT | context OVERLOAD:

    // Emergency — bypasses all budget gates
    Vm               = HYPERPOLARIZED
    post_budget     -= emergency_reset_cost       // DAY cost
    AMPA_occupancy   = mass_internalization()     // receptors to post reserve
    axon_fast_trace += overdrive_cluster()        // VGCC clustering beneath AZ
    astro_budget    -= emergency_astro_cost
    // Note: in NIGHT, post_energy used if structural receptors affected

SCOPE: NIGHT

{component}_energy and {component}_material used — NOT {component}_budget

Structural variables WRITTEN. Tags evaluated and cleared.

Budget variables replenished here for next DAY.


Step 1 — Replenish All Budgets, Energy, and Material

scope NIGHT | step 1:

    // ── ASTROCYTE: root replenishment ───────────────────────────────
    astro_budget   += overnight_glycolysis(vascular_glucose_supply) × Δt_night
    // replenishes fast operational budget for next DAY
    astro_energy   += overnight_astro_energy_synthesis() × Δt_night
    // replenishes structural assembly ATP
    astro_material += astrocyte_cellbody_synthesis() × Δt_night
    // replenishes: EAAT proteins + racemase + ECM proteins + process cytoskeleton

    // ── SOMA: self-replenishment + material production ───────────────
    soma_budget    += overnight_mitochondria_output() × Δt_night
    // replenishes fast operational budget for next DAY
    soma_energy    += overnight_soma_energy_reserve() × Δt_night
    // replenishes structural assembly ATP
    soma_material  += CREB_driven_synthesis(soma_tag) × Δt_night
    // PRIMARY MATERIAL PRODUCTION — rate set by soma_tag magnitude
    // this is the production bottleneck for ALL downstream structural commits

    // ── MATERIAL DISTRIBUTION: soma → downstream ─────────────────────
    // Soma ships structural material to branches and axon
    dend_material  += soma_material × dend_material_fraction
    axon_material  += soma_material × axon_material_fraction
    soma_material  -= (dend_material_fraction + axon_material_fraction) × soma_material

    // Branch delivers structural material to spines
    post_material  += dend_material × spine_material_fraction
    dend_material  -= spine_material_fraction × dend_material

    // Axon delivers structural material to boutons
    pre_material   += axon_material × bouton_material_fraction
    axon_material  -= bouton_material_fraction × axon_material

    // ── DOWNSTREAM ENERGY REPLENISHMENT ─────────────────────────────
    pre_energy     += soma_energy × pre_energy_fraction
    post_energy    += soma_energy × post_energy_fraction
    dend_energy    += soma_energy × dend_energy_fraction
    axon_energy    += soma_energy × axon_energy_fraction
    // all downstream structural assembly ATP sourced from soma overnight

    // ── DOWNSTREAM BUDGET REPLENISHMENT for next DAY ─────────────────
    pre_budget     += astro_lactate × pre_fraction × Δt_night
    post_budget    += astro_lactate × post_fraction × Δt_night
    dend_budget    += astro_lactate × dend_fraction × Δt_night
    axon_budget    += astro_lactate × axon_fraction × Δt_night
    // Note: budgets partially pre-loaded here so components start DAY operational

Step 2 — Structural Commits (Parallel, Independent)

scope NIGHT | step 2:

    // Coherence bonus when pre, post, astro all tagged simultaneously
    all_aligned     = (pre_tag   > tag_expiry_threshold and
                       post_tag  > tag_expiry_threshold and
                       astro_tag > tag_expiry_threshold)
    coherence_bonus = all_aligned ? coherence_factor : 1.0

    // ── PRE COMMIT ──────────────────────────────────────────────────
    if pre_tag > tag_expiry_threshold:
        Δpre  = min(AZ_expansion_cost,
                    pre_material,
                    pre_energy × pre_fraction)
        pre_structure  += Δpre × coherence_bonus   // STRUCTURE WRITTEN
        pre_material   -= Δpre                     // consumed — RECOVERABLE
        pre_energy     -= Δpre × assembly_ATP_cost // consumed — NOT recoverable
        if Δpre < AZ_expansion_cost:
            queue(pre_deficit → next NIGHT)

    // ── POST COMMIT ─────────────────────────────────────────────────
    if post_tag > tag_expiry_threshold:
        Δpost = min(AMPA_insertion_cost,
                    post_material,
                    post_energy × post_fraction)
        post_structure  += Δpost × coherence_bonus // STRUCTURE WRITTEN
        post_material   -= Δpost                   // RECOVERABLE
        post_energy     -= Δpost × assembly_ATP_cost // NOT recoverable
        if Δpost < AMPA_insertion_cost:
            queue(post_deficit → next NIGHT)

    // ── DEND COMMIT ─────────────────────────────────────────────────
    if dend_tag > tag_expiry_threshold:
        Δdend = min(branch_expansion_cost,
                    dend_material,
                    dend_energy × dend_fraction)
        dend_structure  += Δdend × coherence_bonus // STRUCTURE WRITTEN
        dend_material   -= Δdend                   // RECOVERABLE (partially)
        dend_energy     -= Δdend × assembly_ATP_cost
        if Δdend < branch_expansion_cost:
            queue(dend_deficit → next NIGHT)

    // ── SOMA COMMIT ─────────────────────────────────────────────────
    if soma_tag > tag_expiry_threshold:
        Δsoma = min(soma_expansion_cost,
                    soma_material,
                    soma_energy × soma_fraction)
        soma_structure  += Δsoma                   // STRUCTURE WRITTEN
        soma_material   -= Δsoma                   // RECOVERABLE (partially)
        soma_energy     -= Δsoma × assembly_ATP_cost

    // ── AXON COMMIT ─────────────────────────────────────────────────
    if axon_tag > tag_expiry_threshold:
        Δaxon = min(axon_expansion_cost,
                    axon_material,
                    axon_energy × axon_fraction)
        axon_structure  += Δaxon                   // STRUCTURE WRITTEN
        axon_material   -= Δaxon                   // RECOVERABLE (partially)
        axon_energy     -= Δaxon × assembly_ATP_cost
        if Δaxon < axon_expansion_cost:
            queue(axon_deficit → next NIGHT)

    // ── ASTRO COMMIT ────────────────────────────────────────────────
    if astro_tag > tag_expiry_threshold:
        Δastro = min(process_retraction_cost,
                     astro_material,
                     astro_energy × astro_fraction)
        astro_structure += Δastro × coherence_bonus // STRUCTURE WRITTEN
        astro_material  -= Δastro                   // RECOVERABLE (recycling_fraction)
        astro_energy    -= Δastro × assembly_ATP_cost
        if Δastro < process_retraction_cost:
            queue(astro_deficit → next NIGHT)
        // SELF-REINFORCING: astro_structure ↑ → D_serine_tonic ↑ +
        //                   perisynaptic_distance ↓ → future LTP easier

Step 3 — Passive Depotentiation

scope NIGHT | step 3:

    // Potentiation draws material first.
    // Remainder distributed as maintenance.
    // Below maintenance threshold: structure decays passively.
    // Depotentiation = resource neglect, not active depression signal.

    remaining_material      = total_material_pool - material_consumed_by_commits
    maintenance_per_synapse = remaining_material × maintenance_fraction
                              / total_synapse_count

    for each synapse:

        // Structural decay — passive and continuous
        pre_structure   -= structural_decay_rate × Δt_night
        post_structure  -= structural_decay_rate × Δt_night
        dend_structure  -= structural_decay_rate × Δt_night
        astro_structure -= structural_decay_rate × Δt_night

        // Maintenance counters decay where possible
        if maintenance_per_synapse >= maintenance_cost:
            pre_structure   += maintenance_pre    // fully maintained
            post_structure  += maintenance_post
            dend_structure  += maintenance_dend
            astro_structure += maintenance_astro
        else:
            pre_structure   += maintenance_per_synapse × pre_fraction
            post_structure  += maintenance_per_synapse × post_fraction
            dend_structure  += maintenance_per_synapse × dend_fraction
            astro_structure += maintenance_per_synapse × astro_fraction
            // net: structures drift down — DEPOTENTIATION BY NEGLECT

    // LTD material recovery: returned to pools
    // Energy NOT recovered — asymmetry justifies separate energy + material in NIGHT
    for each synapse where net_structure_change < 0:
        recovered        = abs(net_structure_change) × recycling_fraction
        pre_material    += recovered × pre_fraction
        post_material   += recovered × post_fraction
        astro_material  += recovered × astro_fraction × recycling_fraction

Step 4 — Homeostatic Scaling

scope NIGHT | step 4:

    if soma_tag > homeostatic_ceiling:
        scale_factor = homeostatic_ceiling / soma_tag
        for each synapse:
            post_structure *= scale_factor          // STRUCTURE WRITTEN
            pre_structure  *= scale_factor          // STRUCTURE WRITTEN
        soma_material += sum(structure_reduction) × recycling_fraction
        // energy NOT recovered

Step 5 — Clear All Traces

scope NIGHT | step 5:

    // Fast traces: confirmed zero
    pre_fast_trace = post_fast_trace = dend_fast_trace = 0
    soma_fast_trace = axon_fast_trace = astro_fast_trace = 0

    // Possible tagging: confirmed zero
    pre_possible_tagging = post_possible_tagging = dend_possible_tagging = 0
    soma_possible_tagging = axon_possible_tagging = astro_possible_tagging = 0

    // Tags: cleared after commit, carried forward if above threshold
    if pre_tag   < tag_expiry_threshold: pre_tag   = 0
    if post_tag  < tag_expiry_threshold: post_tag  = 0
    if dend_tag  < tag_expiry_threshold: dend_tag  = 0
    if soma_tag  < tag_expiry_threshold: soma_tag  = 0
    if axon_tag  < tag_expiry_threshold: axon_tag  = 0
    if astro_tag < tag_expiry_threshold: astro_tag = 0

Summary: Budget Shipment Chain (DAY)

SELF-PRODUCED:
    vascular_glucose_supply → astro_budget  (astrocyte, CONTINUOUS)
    own_mitochondria        → soma_budget   (soma, NOT_AP)

SHIPMENT CHAIN (DAY operational budgets):
    astro_budget → astro_lactate → delivered to all components in their NOT contexts:
        → pre_budget  (PRE NOT_AP)
        → post_budget (POST NOT_bAP, via astro_lactate + dend shipment)
        → dend_budget (DEND NOT_bAP, via astro_lactate + soma shipment)
        → axon_budget (AXON NOT_AP, via astro_lactate + soma shipment)

    soma_budget → soma_shipment_to_dend → dend_budget  (SOMA NOT_AP → DEND NOT_bAP)
    soma_budget → soma_shipment_to_axon → axon_budget  (SOMA NOT_AP → AXON NOT_AP)
    dend_budget → dend_shipment_to_post → post_budget  (DEND NOT_bAP → POST NOT_bAP)
    axon_budget → axon_shipment_to_pre  → pre_budget   (AXON NOT_AP → PRE NOT_AP)

MATERIAL SHIPMENT CHAIN (NIGHT structural material):
    soma_material → dend_material → post_material  (soma → branch → spine)
    soma_material → axon_material → pre_material   (soma → axon → bouton)
    astrocyte_body → astro_material                (astrocyte cell body → astrosynapse)

ENERGY DISTRIBUTION (NIGHT assembly ATP):
    soma_energy → pre_energy, post_energy, dend_energy, axon_energy
    astro_energy → astro structural commits only

Summary: Energy and Material Flow

DAY — {component}_budget (combined fast energy + fast consumables):

    vascular_glucose_supply (FIXED)
        → astro_budget (glycolysis ROOT)
            → astro_lactate → pre_budget, post_budget, dend_budget, axon_budget
        → soma_budget (own mitochondria — independent root)
            → axon_budget (partial)
            → dend_budget (partial)

NIGHT — {component}_energy (structural assembly ATP, NOT recoverable):

    vascular_glucose_supply (FIXED)
        → astro_energy (overnight glycolysis)
        → soma_energy (overnight mitochondria) → pre_energy, post_energy,
                                                  dend_energy, axon_energy

NIGHT — {component}_material (slow structural proteins, RECOVERABLE):

    soma (CREB synthesis — soma_tag driven)
        → soma_material
            → dend_material → post_material (spine delivery)
            → axon_material → pre_material  (bouton delivery)
    astrocyte cell body (overnight synthesis)
        → astro_material (EAAT + racemase + ECM + process cytoskeleton)

    LTD recovery flows (material only — not energy):
        post LTD → post_material (receptors to dendritic reserve)
        pre LTD  → pre_material  (AZ proteins to axonal pool)
        astro LTD → astro_material (ECM fragments, recycling_fraction)

Flows

Per ora abbiamo in DAY il {component}_budget che raggruppa energy e material, e in NIGHT {component}_energy e {component}_material.

This maps onto a real biological distinction. The astrocyte's lactate and the soma's ATP fund the running costs of the cell — everything that needs to happen just to keep the system operating from moment to moment. CREB-driven protein synthesis funds the capital investment — the slow, expensive structural changes that modify what the running system is capable of. These are two different budgets in the biological sense: operating expenditure versus capital expenditure. Combining them within DAY is correct because DAY is entirely operating expenditure. Keeping them separate in NIGHT is correct because NIGHT mixes operating expenditure with capital expenditure, and only the capital component is recoverable.

Combining {component}_energy e {component}_material would hide the fact that dismantling a structure recovers biological building blocks but not the work that was done to assemble them — which is the thermodynamic reality of any construction and deconstruction process.

Energy flow

VASCULAR SUPPLY
    → ASTROCYTE CELL BODY
        glucose → lactate (glycolysis)
        → astro_budget (local ATP for clearance, D-serine, ECM, process motility)
        → lactate exported to:
            → pre_budget  (ATP for VGCC, vesicle fusion, VATPase)
            → post_budget (ATP for NaK pump, AMPA trafficking, actin)
            → dend_budget (ATP for bAP propagation, local translation)
        
    → SOMA
        soma has own mitochondria — partly self-fueled
        soma_budget (ATP for AP generation, CREB, protein synthesis, shipping)
        → dend_budget top-up (organelle delivery)
        → axon_budget top-up (transport machinery)

Material flow

SOMA
    protein synthesis (CREB-driven, peaks in NIGHT)
    → soma_material (receptors, scaffold proteins, organelles, mRNA)
        → dend_material (branch receives proteins + mRNA from soma)
            → post_material (spine receives receptors + actin from branch)
        → axon_material (boutons receive AZ proteins + VGCCs from soma via axon)
            → pre_material (bouton active zone proteins)

ASTROSYNAPSE
    ECM proteins synthesized in astrocyte cell body
    → astro_material (Glypicans, Thrombospondins, serine for D-serine)
        → cleft environment (ECM sealing, D-serine availability)

Yes, exactly. This is the essential abstract pattern. Let me state it precisely.

The Abstract Pattern

A component operates within a structure set by the previous NIGHT. During DAY, in each context, it executes behaviors that cost budget and deposit fast traces. Fast traces are local records of recent activity that bias the next behavior and open an eligibility window for tagging. A tag forms when a local eligibility signal coincides with one or more non-local validation signals within the decay window of the trace — the number of required coincidences reflecting the spatial scale at which that component sits in the system. In contexts without triggering input, all traces decay, closing the windows they opened. At NIGHT, the tag magnitude drives a structural commit proportional to available material and energy — material being recoverable and energy not — with the structural change becoming the new ceiling within which the next DAY's behaviors will operate. What is not committed decays for lack of maintenance, and the resources freed by that decay partially fund the potentiation of what was.

DAY — The General Form

Every DAY behavior follows this template:

given:   STRUCTURE        // the architectural ceiling left by NIGHT
in:      CONTEXT          // local or global triggering condition
if:      BUDGET > cost    // operational resources available
then:    behavior executes
         BUDGET  -= cost  // resources consumed
         FAST_TRACE += f(behavior)  // local record deposited

The fast trace then drives two parallel processes:

Within the same context — the trace biases the next execution of the same behavior. This is the short-term modulation loop. It is entirely local and requires no external signal.

Across contexts — the trace accumulates into possible_tagging when it exceeds the eligibility threshold. This is the bridge toward long-term change. It requires the trace to be sustained enough to survive into the NOT_AP or CONTINUOUS context.

The Tag Formation — Where Non-Locality Enters

The abstract pattern for tag formation generalizes across all components but with different coincidence requirements:

PRE, DEND, SOMA, AXON, ASTRO — one non-local coincidence:

if FAST_TRACE > eligibility       // local: this bouton was recently active
   AND dopamine > threshold       // non-local: organism-level reward signal
then: TAG += dopamine × possible_tagging

One spatial scale beyond the local component is required. The organism must confirm that the recent activity was worth saving.

POST — two non-local coincidences:

// First coincidence (NOT_bAP context):
if FAST_TRACE > Ca_TAG_threshold  // local: spine Ca²⁺ was high
   AND D-serine > threshold       // non-local 1: astrosynapse co-agonist
then: post_possible_tagging += FAST_TRACE   // CANDIDATE

// Second coincidence (bAP context):
if post_possible_tagging > threshold  // local: CANDIDATE still present
   AND bAP arrives                    // non-local 2: soma fired
then: FAST_TRACE amplified above Ca_HIGH

// Tag stabilization (any context):
if post_possible_tagging > threshold  // local: confirmed coincidence
   AND dopamine > threshold           // non-local 3: organism validation
then: TAG += dopamine × post_possible_tagging   // STABLE

Three spatial scales must align: astrosynapse, soma, organism. The postsynapse is the most constrained component — it requires the most non-local validation before committing.

Trace Recession — The Temporal Behavior

In every NOT_AP or CONTINUOUS context, all traces decay:

FAST_TRACE       *= decay(τ_fast)      // ms to seconds — closes eligibility window
possible_tagging *= decay(τ_mid)       // seconds to minutes — closes tagging window
TAG              *= decay(τ_slow)      // hours — closes commitment window

The decay is not a separate behavior — it is the passive consequence of molecular processes. But its effect is behavioral: it enforces that coincidences must happen within specific time windows. The system does not check timing explicitly — timing is enforced by the competition between accumulation and decay.

NIGHT — The General Form

given:   TAG              // strength of DAY evidence for this component
         STRUCTURE        // current architectural state
if:      TAG > threshold  // evidence strong enough to justify investment
then:
         Δstructure = min(expansion_cost,
                          MATERIAL,        // slow structural resources available
                          ENERGY × fraction) // assembly ATP available
         STRUCTURE  += Δstructure × coherence_bonus
         MATERIAL   -= Δstructure          // RECOVERABLE after LTD
         ENERGY     -= Δstructure × ATP_cost  // NOT recoverable

The coherence bonus appears when pre, post, and astro tags are all SET simultaneously — the three components of the synapse have all independently gathered evidence for the same structural change, which amplifies the commit beyond what any single tag would produce alone.

What is not potentiated passively decays:

STRUCTURE -= decay_rate × Δt_night
STRUCTURE += min(maintenance_allocation, maintenance_cost)
// if maintenance_allocation < decay_rate × Δt_night:
//   structure drifts down — depotentiation by neglect