abstract pattern

This commit is contained in:
2026-06-19 10:19:32 +02:00
parent c5297fcf5d
commit e5110c260b
2 changed files with 121 additions and 1087 deletions
@@ -434,96 +434,165 @@ ASTROSYNAPSE
Yes, exactly. This is the essential abstract pattern. Let me state it precisely. Yes, exactly. This is the essential abstract pattern. Let me state it precisely.
# The Abstract Pattern Here is the revised abstract pattern, integrating the endurance/budget dimension throughout.
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. ---
# The Abstract Pattern (revised)
A component operates within two ceilings set by the previous NIGHT: a **structure** that bounds how strongly each behavior can act, and a **budget capacity** that bounds how long behavior can be sustained. During DAY, in each context, it executes behaviors that draw on 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. Two kinds of evidence accumulate. A **tag** forms when a local eligibility signal coincides with one or more non-local validation signals within the decay window of the trace — driving *strength*. An **endurance need** forms when budget depletion interrupts a behavior that was on a successful trajectory — driving *endurance*. At NIGHT, tags drive structural commits and endurance needs drive budget-capacity commits, both proportional to available material and energy, both drawing from the same finite pool, so that strength and endurance compete. What is not committed — neither strengthened nor given endurance — decays for lack of maintenance, and the resources freed by that decay partially fund what was.
---
## DAY — The General Form ## DAY — The General Form
Every DAY behavior follows this template: Every DAY behavior follows this template:
``` ```
given: STRUCTURE // the architectural ceiling left by NIGHT given: STRUCTURE // how strongly each behavior can act (ceiling from NIGHT)
BUDGET_CEILING // how long behavior can be sustained (ceiling from NIGHT)
in: CONTEXT // local or global triggering condition in: CONTEXT // local or global triggering condition
if: BUDGET > cost // operational resources available if: BUDGET >= cost // operational fuel available
then: behavior executes then: behavior executes
BUDGET -= cost // resources consumed BUDGET -= cost // fuel consumed (clamped to BUDGET_CEILING)
FAST_TRACE += f(behavior) // local record deposited FAST_TRACE += f(behavior) // local record deposited
else: behavior suppressed // depletion — fuel was the limit
if behavior was ON A SUCCESSFUL TRAJECTORY:
ENDURANCE_NEED += g(trajectory) // fuel interrupted a forming success
``` ```
The fast trace then drives two parallel processes: The fast trace drives two parallel processes, and depletion drives a third.
**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. **Within the same context** — the fast trace biases the next execution of the same behavior. Short-term modulation. Local, 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. **Across contexts** — the fast trace accumulates into `possible_tagging` when it exceeds the eligibility threshold. The bridge toward strength. Requires the trace to survive into a NOT/CONTINUOUS context.
### The Tag Formation — Where Non-Locality Enters **On depletion** — when budget gates a behavior that was succeeding, `endurance_need` accumulates. The bridge toward endurance. Requires the depletion to have interrupted something valuable, not merely to have occurred.
The abstract pattern for tag formation generalizes across all components but with different **coincidence requirements**: ---
### Tag Formation — Where Non-Locality Enters (drives STRENGTH)
The tag requires local eligibility plus non-local validation, with the number of coincidences set by the component's spatial scale. Strength is associative: it asks whether a valuable coincidence completed and was confirmed worth saving.
**PRE, DEND, SOMA, AXON, ASTRO — one non-local coincidence:** **PRE, DEND, SOMA, AXON, ASTRO — one non-local coincidence:**
``` ```
if FAST_TRACE > eligibility // local: this bouton was recently active if FAST_TRACE > eligibility // local: recently active
AND dopamine > threshold // non-local: organism-level reward signal AND dopamine > threshold // non-local: organism validation
then: TAG += dopamine × possible_tagging 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:** **POST — three coincidences (astrosynapse, soma, organism):**
``` ```
// First coincidence (NOT_bAP context): // 1. NOT_bAP: local Ca²⁺ + astrosynapse D-serine → CANDIDATE
if FAST_TRACE > Ca_TAG_threshold // local: spine Ca²⁺ was high if FAST_TRACE > Ca_TAG_threshold and D-serine > threshold:
AND D-serine > threshold // non-local 1: astrosynapse co-agonist post_possible_tagging += FAST_TRACE
then: post_possible_tagging += FAST_TRACE // CANDIDATE // 2. bAP: CANDIDATE + soma fired → amplified above Ca_HIGH
if post_possible_tagging > threshold and bAP arrives:
// Second coincidence (bAP context): FAST_TRACE += bAP_boost
if post_possible_tagging > threshold // local: CANDIDATE still present // 3. any context: CANDIDATE + dopamine → STABLE
AND bAP arrives // non-local 2: soma fired if post_possible_tagging > threshold and dopamine > threshold:
then: FAST_TRACE amplified above Ca_HIGH TAG += dopamine × post_possible_tagging
// 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.
---
### Endurance Formation — Where Interrupted Success Enters (drives ENDURANCE)
The endurance need requires depletion plus a successful trajectory, with the meaning of "successful trajectory" set by the component's local function. Endurance is homeostatic, not associative: it asks whether fuel — not structure, not significance — was the binding constraint on a forming success. **It requires no dopamine.**
```
if BUDGET < cost // local: depletion occurred
AND trajectory_was_succeeding // local: behavior was on its way to a valuable outcome
then: ENDURANCE_NEED += g(trajectory) // graded by how close to success
// no non-local validation — metabolic sustainability is not the organism's to judge
```
The per-component definition of *succeeding* differs by what each component is trying to complete:
- **PRE** — release was driving rising postsynaptic engagement
- **POST** — calcium was climbing toward the tagging threshold
- **DEND** — active spines existed distal to where propagation died
- **SOMA** — nuclear calcium was approaching CREB, or firing was recruiting downstream
- **AXON** — propagation failed to engaged boutons, not idle ones
- **ASTRO** — the postsynapse was depolarized and waiting for D-serine when synthesis ran out
In each case the signal is the same shape — fuel ran out at the verge of a valuable outcome — and only the local definition of "verge" varies.
---
### Trace Recession — The Temporal Behavior ### Trace Recession — The Temporal Behavior
In every NOT_AP or CONTINUOUS context, all traces decay: In every NOT/CONTINUOUS context, all traces decay:
``` ```
FAST_TRACE *= decay(τ_fast) // ms to seconds — closes eligibility window FAST_TRACE *= decay(τ_fast) // mss — closes eligibility window
possible_tagging *= decay(τ_mid) // seconds to minutes — closes tagging window possible_tagging *= decay(τ_mid) // smin — closes tagging window
ENDURANCE_NEED *= decay(τ_mid) // smin — closes endurance window
TAG *= decay(τ_slow) // hours — closes commitment 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. Decay is not a separate behavior — it is the passive consequence of molecular processes. Its effect is to enforce time windows without any explicit clock. A coincidence must complete, and a depletion must interrupt a success, while the relevant trace is still elevated. Timing is the competition between accumulation and decay.
---
## NIGHT — The General Form ## NIGHT — The General Form
NIGHT builds two capacities from two kinds of evidence, both drawing on the same finite material and energy.
**Strength commit — driven by tag (validated coincidence):**
``` ```
given: TAG // strength of DAY evidence for this component if TAG > threshold:
STRUCTURE // current architectural state Δstructure = min(expansion_cost, MATERIAL, ENERGY × fraction)
if: TAG > threshold // evidence strong enough to justify investment STRUCTURE += Δstructure × coherence_bonus // bigger container (per-event power)
then: MATERIAL -= Δstructure // RECOVERABLE
Δ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 ENERGY -= Δstructure × ATP_cost // NOT recoverable
``` ```
The coherence bonus appears when pre, post, and astro tags are all set together — the three synaptic components independently gathered evidence for the same change, amplifying the commit.
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. **Endurance commit — driven by endurance need (interrupted success):**
```
if ENDURANCE_NEED > threshold:
Δcap = min(capacity_cost, MATERIAL, ENERGY × fraction)
BUDGET_CEILING += Δcap // bigger fuel reserve (sustain duration)
MATERIAL -= Δcap // RECOVERABLE (mitochondria recyclable)
ENERGY -= Δcap × biogenesis_cost // NOT recoverable
// no coherence bonus, no dopamine — endurance is per-component homeostatic
```
What is not potentiated passively decays: The two commits compete: material and energy spent on endurance cannot fund strength, and vice versa. A component that is both significant and fuel-limited demands both and is the strongest claimant on the pool, potentially forcing decay elsewhere.
**What is not committed decays — by neglect, for both capacities:**
``` ```
STRUCTURE -= decay_rate × Δt_night STRUCTURE -= decay_rate × Δt_night
STRUCTURE += min(maintenance_allocation, maintenance_cost) STRUCTURE += min(structure_maintenance, maintenance_cost)
// if maintenance_allocation < decay_rate × Δt_night: BUDGET_CEILING -= capacity_decay_rate × Δt_night
// structure drifts down — depotentiation by neglect BUDGET_CEILING += min(capacity_maintenance, capacity_cost)
// if maintenance < decay: the ceiling drifts down
// structure: depotentiation by neglect
// budget_ceiling: loss of endurance (mitophagy of idle capacity)
// recovered material partially funds the commits above
```
---
## The Pattern in One View
```
DAY behavior runs within two ceilings (STRUCTURE = strength, BUDGET_CEILING = endurance)
consumes budget, deposits fast trace
fast trace + non-local coincidence → TAG (evidence for strength)
depletion + interrupted success → ENDURANCE_NEED (evidence for endurance)
all traces decay in NOT/CONTINUOUS contexts — windows close
NIGHT TAG → raise STRUCTURE (bigger container, per-event power)
ENDURANCE_NEED → raise BUDGET_CEILING (bigger reserve, sustainable duration)
both draw the SAME material + energy → strength and endurance compete
unmaintained ceilings of either kind decay → freed material funds the rest
The system invests STRENGTH where a valuable coincidence completed and was validated,
and ENDURANCE where fuel — not structure, not significance — was what stood
between activity and success. To be both effective and sustainable, a connection
must win on both, against all others drawing from the same finite pool.
``` ```
# More details # More details
File diff suppressed because it is too large Load Diff