Files
organism/elements/neuron/presynapse.md
T

358 lines
12 KiB
Markdown
Raw Normal View History

2026-05-16 14:06:36 +02:00
---
include_toc: true
---
2026-06-23 16:20:06 +02:00
// presynapse.md
2026-06-25 11:57:18 +02:00
**Expansions and modulations**:
2026-05-31 11:08:09 +02:00
- is expanded and developed by: [AXON](axon.md)
2026-06-01 09:50:16 +02:00
- is tuned by: [ORGANISM](../../organism.md), organs, modules
2026-05-31 13:19:58 +02:00
- expands and tunes: [PRE_VGG](pre_vgcc.md)
2026-06-01 09:53:05 +02:00
- develops _Ca2, _Rrp
2026-05-31 10:39:28 +02:00
2026-06-25 11:57:18 +02:00
**Introduction**:
2026-06-25 11:56:15 +02:00
The presynaptic bouton releases neurotransmitter and gathers evidence about whether that release was worth strengthening and worth sustaining. Its behavior unfolds across two DAY contexts and the NIGHT scope.
During DAY, during AP — the bouton releases neurotransmitter. The amount released depends on:
- residual calcium from recent spikes (the fast trace), which sets the release drive;
- the two retrograde messages from the postsynapse — retro_eCB brakes the drive (the postsynapse is over-driven), retro_NO will later confirm that release reached a responsive target;
- the availability of both fuel and vesicles — release proceeds only if budget covers the cost and the readily-releasable pool is non-empty. These two shortfalls are read differently: a fuel shortfall on a succeeding release is evidence the bouton needs more endurance; an empty pool with fuel to spare is ordinary short-term depression.
During DAY, during NOT_AP — the bouton consolidates and recovers. With no spike to release, it:
- receives what arrived — latches the retrograde messages, refills its budget from astrocytic lactate and arrived axonal shipment (contested supply);
- maintains its traces — accumulates eligibility toward a tag, and stabilizes that tag if dopamine has arrived (the bridge toward strength);
- recovers its readily-releasable pool from the private reserve, between spikes (which is why high-frequency firing depletes faster than it recovers);
- lets its traces decay, closing the eligibility, endurance, and tagging windows.
During NIGHT — the bouton's ceilings are rewritten. Acting on the evidence gathered across the day, NIGHT raises the bouton's structure (active-zone capacity) where a validated tag accumulated, and its budget capacity (mitochondrial endurance) where fuel repeatedly interrupted a succeeding release. Both draw on the same finite material and energy shipped down the axon, so the bouton's two kinds of growth compete — and whatever is not maintained drifts back down.
# PRESYNAPSE
2026-05-04 10:49:49 +00:00
```Gen
2026-06-01 09:53:05 +02:00
2026-05-26 11:49:19 +02:00
PRESYNAPSE
2026-06-09 12:00:12 +02:00
2026-05-23 15:46:25 +02:00
type: comprehension
2026-05-01 13:39:15 +02:00
2026-06-25 17:14:49 +02:00
include: pre_vgcc.md
2026-06-26 12:09:24 +02:00
// ########################## Intrication ##########################
2026-06-25 17:14:49 +02:00
// Scope
!DAY: INTRICATE [ scope: &ORGANISM.!DAY ]
!NIGHT: INTRICATE [ scope: &ORGANISM.!NIGHT ]
// Context
*AP: INTRICATE [ context: &SOMA.*AP ]
*TunPossible: INTRICATE [ context: &NEURON.*TunPossible ]
// Tub
_NT: INTRICATE [ tub: &ASTROSYNAPSE._NT ]
_pre_budget: INTRICATE [ tub: &ASTROCYTE._pre_budget ]
_eCB: INTRICATE [ tub: &POSTSYNAPSE._eCB ]
2026-06-26 12:09:24 +02:00
// ########################## Instantiation ##########################
2026-06-25 17:14:49 +02:00
// Context
*VcggIncrease: INSTANTIATE [ context: local ]
*VcggDecrease: INSTANTIATE [ context: local ]
*Ca2PrePreActiveDecrease: INSTANTIATE [ context: local ]
*Ca2PreActiveDecrease: INSTANTIATE [ context: local ]
*RrpPreActiveDecrease: INSTANTIATE [ context: local ]
*RrpPreActiveDecrease: INSTANTIATE [ context: local ]
// Tub
_Ca2: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
_Rrp: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
_Rp: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
_CaTracesHigh: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
_CaTracesMedium: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
_CaTracesLow: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
_Ca2FullDev: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ]
_RrpFullDev: INSTANTIATE [ tub: local, full: 60x, act: 30x, empty: 0x ] // serve al DEV
// Container
2026-06-26 11:57:12 +02:00
void: INSTANTIATE [ container: RELEASE_NT, scope: !DAY ]
2026-06-25 17:14:49 +02:00
void: INSTANTIATE [ container: TRACE, scope: !DAY ]
void: INSTANTIATE [ container: DECAY, scope: !DAY ]
void: INSTANTIATE [ container: RECOVER, scope: !DAY ]
void: INSTANTIATE [ container: ADJUST, scope: !DAY ] // Tuning
void: INSTANTIATE [ container: DEVELOP, scope: !NIGHT ]
2026-06-26 12:12:38 +02:00
// ########################## Expansion ##########################
2026-06-25 17:14:49 +02:00
_@pre_vgcc: INSTANTIATE [ tub: EXPAND [ comprehension: PRE_VGCC ], full: 10x, active: 5x, empty: 2x ] // PRE_VGCC, il tub _@pre_vgcc serve al tuning
2026-06-23 12:54:30 +02:00
2026-05-23 15:46:25 +02:00
```
2026-06-23 12:54:30 +02:00
2026-06-25 17:00:45 +02:00
## RELEASE_NT
2026-04-28 12:06:38 +02:00
2026-04-26 17:08:14 +02:00
```Gen
2026-06-25 17:14:49 +02:00
2026-06-25 17:00:45 +02:00
RELEASE_NT
2026-05-27 16:54:34 +02:00
2026-06-25 17:14:49 +02:00
type: container
2026-06-26 10:44:44 +02:00
// !DAY
2026-06-26 11:50:30 +02:00
2026-06-26 12:09:24 +02:00
// ########################## Emit NT, *AP ##########################
2026-06-25 14:51:02 +02:00
2026-06-26 12:47:41 +02:00
NTreleaseLow: INSTANTIATE [ snippet: accumulator, event: 12x, cost: 3x, context: *AP ] {
2026-06-25 16:23:05 +02:00
hypothesis: _Ca2 mediumness AND _Rrp mediumness AND NOT _pre_budget empty
action: [ _Rrp decrease, _NT increase, _pre_budget decrease ]
trace: None
}
2026-06-26 12:47:41 +02:00
NTreleaseMedium: INSTANTIATE [ snippet: accumulator, event: 9x, cost: 3x, context: *AP ] {
2026-06-25 16:23:05 +02:00
hypothesis: ( _Ca2 fullness AND _Rrp mediumness ) OR ( _Ca2 mediumness AND _Rrp fullness ) AND NOT _pre_budget empty
action: [ _Rrp decrease, _NT increase, _pre_budget decrease ]
trace: None
}
2026-06-26 12:47:41 +02:00
NTreleaseHigh: INSTANTIATE [ snippet: accumulator, event: 6x, cost: 3x, context: *AP ] {
2026-06-25 16:23:05 +02:00
hypothesis: _Ca2 fullness AND _Rrp fullness AND NOT _pre_budget empty
action: [ _Rrp decrease, NT increase, _pre_budget decrease ]
trace: None
}
2026-04-26 17:08:14 +02:00
```
2026-06-23 17:36:00 +02:00
2026-06-25 14:51:02 +02:00
## TRACE
2026-06-23 17:36:00 +02:00
```Gen
2026-06-25 17:14:49 +02:00
2026-06-23 17:36:00 +02:00
TRACE
2026-06-25 17:14:49 +02:00
type: container
2026-06-26 10:44:44 +02:00
// !DAY
2026-06-26 11:49:13 +02:00
2026-06-26 12:09:24 +02:00
// ########################## Tag endourance, *AP ##########################
2026-06-26 12:07:35 +02:00
2026-06-26 11:49:13 +02:00
// Tag se manca pre_budget, ma il rilascio di NT sarebbe stato di beneficio
2026-04-26 17:08:14 +02:00
2026-06-26 12:47:41 +02:00
Endourance_tag: INSTANTIATE [ snippet: accumulator, event: 12x, cost: 3x, context: *AP ] {
2026-06-25 17:00:45 +02:00
hypothesis: _pre_budget empty AND NOT deve esserci la possibilita di spikare e altri segnali come NO
action: [ _pre_endurance_tag increase ]
2026-05-04 10:29:21 +00:00
trace: None
2026-06-25 17:00:45 +02:00
}
2026-05-25 14:36:27 +02:00
2026-06-26 12:09:24 +02:00
// ########################## Fast Traces, NOT *AP ##########################
2026-06-25 17:00:45 +02:00
2026-06-26 12:47:41 +02:00
TracesAccLow: INSTANTIATE [ snippet: accumulator, event: 3x, cost: 3x, context: NOT *AP ] {
2026-06-25 17:18:06 +02:00
hypothesis: _Ca2 emptiness
action: [ _CaTraceLow increase ]
trace: None
}
2026-04-26 17:08:14 +02:00
2026-06-25 17:18:06 +02:00
2026-06-26 12:47:41 +02:00
TracesAccMedium: INSTANTIATE [ snippet: accumulator, event: 6x, cost: 3x, context: NOT *AP ] {
2026-06-25 17:18:06 +02:00
hypothesis: _Ca2 mediumness
action: [ _CaTraceMed increase ]
trace: None
}
2026-05-25 12:02:06 +02:00
2026-04-26 17:08:14 +02:00
2026-06-26 12:47:41 +02:00
TracesAccHigh: INSTANTIATE [ snippet: accumulator, event: 10x, cost: 3x, context: NOT *AP ] {
2026-06-25 17:18:06 +02:00
hypothesis: _Ca2 fullness
action: [ _CaTraceHigh increase ]
trace: None
}
2026-05-25 14:36:27 +02:00
2026-04-26 17:08:14 +02:00
```
2026-06-25 10:45:21 +02:00
## DECAY
2026-06-23 17:36:00 +02:00
```Gen
2026-06-25 17:14:49 +02:00
2026-06-23 17:36:00 +02:00
MAIN
2026-06-25 17:14:49 +02:00
type: container
2026-06-26 10:44:44 +02:00
// !DAY
2026-06-26 11:54:28 +02:00
2026-06-26 12:09:24 +02:00
// ########################## eCB Clearance, NOT *AP ##########################
2026-06-25 17:07:50 +02:00
2026-06-26 12:47:41 +02:00
eCBClearenceMedium: INSTANTIATE [ snippet: accumulator, event: 24x, cost: 3x, context: NOT *AP ] {
2026-06-25 17:07:50 +02:00
hypothesis: NOT _eCB empty
action: [ _eCB decrease ]
trace: None
}
2026-06-23 17:36:00 +02:00
2026-06-26 12:47:41 +02:00
eCBClearenceLow: INSTANTIATE [ snippet: accumulator, event: 48x, cost: 3x, context: NOT *AP ] {
2026-06-25 17:07:50 +02:00
hypothesis: NOT _eCB empty
action: [ _eCB decrease ]
trace: None
}
2026-06-23 17:36:00 +02:00
2026-06-26 12:09:24 +02:00
// ########################## Fast traces Clearance, NOT *AP ##########################
2026-06-25 17:07:50 +02:00
2026-06-26 12:47:41 +02:00
TracesClearance: INSTANTIATE [ snippet: accumulator, event: 30x, cost: 3x, context: NOT *AP ] {
2026-06-25 17:07:50 +02:00
hypothesis: NOT _CaTraceHigh empty
action: [ _CaTRaceHigh decrease ]
trace: None
2026-06-23 17:36:00 +02:00
2026-06-25 17:07:50 +02:00
hypothesis: NOT _CaTraceMedium empty
action: [ _CaTRaceMedium decrease ]
trace: None
2026-06-23 17:36:00 +02:00
2026-06-25 17:07:50 +02:00
hypothesis: NOT _CaTraceLow empty
action: [ _CaTRaceLow decrease ]
trace: None
}
2026-06-23 17:36:00 +02:00
```
2026-06-25 10:45:21 +02:00
## RECOVER
2026-06-23 17:36:00 +02:00
```Gen
2026-06-25 17:14:49 +02:00
2026-06-23 17:36:00 +02:00
RECOVER
2026-06-23 17:52:14 +02:00
type: container
2026-06-23 17:36:00 +02:00
2026-06-26 10:44:44 +02:00
// DAY!
2026-06-26 11:54:28 +02:00
2026-06-26 12:09:24 +02:00
// ########################## Rp Schuttle, NOT *AP ##########################
2026-06-23 17:36:00 +02:00
2026-06-26 12:07:35 +02:00
// The "Hard Bottleneck" State. Recruitment is throttled by a lack of signal, a lack of supply, or a lack of space.
// If even one of these "Near-Stop" conditions is met, the rate cannot exceed "Slow," regardless of the other two conditions.
// Rate: 0.00 0.25
2026-06-25 18:42:45 +02:00
2026-06-26 12:47:41 +02:00
RPShuttleLow: INSTANTIATE [ snippet: accumulator, event: 24x, cost: 3x, context: NOT *AP ] {
2026-06-25 18:42:45 +02:00
hypothesis: _CaTraceLow fullness OR _RP emptiness OR _Rrp fullness
2026-05-30 12:58:39 +02:00
action: [ _RP decrease, _Rrp increase ]
2026-05-04 10:29:21 +00:00
trace: None
2026-06-25 18:42:45 +02:00
}
2026-05-25 14:36:27 +02:00
2026-06-26 12:08:19 +02:00
// The "Sub-Optimal" State. The machinery is working, but it's held back by partial limitations.
// This covers cases where the signal is steady but the "piston" isn't firing at full speed,
// or where a high vacancy in the RRP (emptiness) forces a low signal to work a bit harder. Rate: 0.50 0.97
2026-04-26 17:08:14 +02:00
2026-06-26 12:47:41 +02:00
RPShuttleMedium: INSTANTIATE [ snippet: accumulator, event: 48x, cost: 3x, context: NOT *AP ] {
2026-05-30 12:04:55 +02:00
hypothesis: ( _CaTraceMedium fullness AND _RP mediumness AND _Rrp mediumness ) OR
( _CaTraceHigh fullness AND _RP mediumness AND _Rrp mediumness ) OR # signal boost
( _CaTraceMedium fullness AND _RP fullness AND _Rrp mediumness ) OR # supply boost
( _CaTraceMedium fullness AND _RP mediumness AND _Rrp emptiness ) # vacancy boost
2026-05-30 12:58:39 +02:00
action: [ _RP decrease, _Rrp increase ]
2026-05-04 10:29:21 +00:00
trace: None
2026-06-25 18:42:45 +02:00
}
2026-05-25 14:36:27 +02:00
2026-06-26 12:10:08 +02:00
// ########################## RefillGlutamine, NOT *AP ##########################
2026-06-26 11:54:28 +02:00
2026-06-26 12:07:35 +02:00
// The "High Performance" State. Multiple systems are optimized, but one is still at a "mediumness" level.
// This represents an active synapse that hasn't reached its absolute peak because either the supply is only 50%
// or the \_Rrp isn't empty enough to create that "maximal vacuum" pull. Rate: 1.25 1.94
2026-04-26 17:08:14 +02:00
2026-06-26 12:47:41 +02:00
RefillGlutamine: INSTANTIATE [ snippet: accumulator, event: 24x, cost: 3x, context: NOT *AP ] {
2026-05-30 12:04:55 +02:00
hypothesis: ( _CaTraceHigh fullness AND _RP fullness AND _Rrp mediumness ) OR # signal + supply
( _CaTraceHigh fullness AND _RP mediumness AND _Rrp emptiness ) OR # signal + vacancy
( _CaTraceMedium fullness AND _RP fullness AND _Rrp emptiness ) # supply + vacancy
2026-06-25 19:07:06 +02:00
action: [ _RP decrease, _Rrp increase ]
trace: None
2026-06-25 18:42:45 +02:00
}
2026-04-26 17:08:14 +02:00
2026-06-25 18:42:45 +02:00
// Refill Glutamine
```
2026-06-23 17:36:00 +02:00
2026-06-25 10:45:21 +02:00
## ADJUST
2026-05-25 12:02:06 +02:00
2026-05-23 15:46:25 +02:00
```Gen
2026-06-25 17:14:49 +02:00
2026-06-23 17:36:00 +02:00
ADJUST
2026-05-23 15:46:25 +02:00
2026-06-23 17:52:14 +02:00
type: container
2026-05-23 15:46:25 +02:00
2026-06-26 11:54:28 +02:00
// DAY!
2026-06-25 18:42:45 +02:00
2026-06-26 12:09:24 +02:00
// ########################## VGCC_TUNE: *TunPossible ##########################
2026-05-25 14:36:27 +02:00
2026-06-26 11:54:28 +02:00
// - qui stiamo attivando e disattivando PRE_VGCC. Fra un massimo full e minimo empty (empty puo' non essere 0)
2026-06-26 12:47:41 +02:00
VgccCheck: INSTANTIATE [ snippet: contextor, event: 60x, context: NOT *TunPossible ] {
2026-05-30 12:58:39 +02:00
condition: _CaTraceHigh fullness
2026-06-09 12:00:12 +02:00
out_context: *VcggIncrease
2026-05-23 15:46:25 +02:00
2026-05-30 12:58:39 +02:00
condition: _CaTraceLow fullness
2026-06-09 12:00:12 +02:00
out_context: *VcggDecrease
2026-06-26 10:44:44 +02:00
} // Contextor no cost
2026-05-30 13:13:17 +02:00
2026-06-25 18:50:19 +02:00
// Increase: *VcggIncrease
2026-05-25 12:02:06 +02:00
2026-06-26 12:47:41 +02:00
VcggIncrease: INSTANTIATE [snippet: accumulator, event: 10x, cost: 3x, context: NOT *VcggIncrease ] {
2026-06-25 18:50:19 +02:00
hypothesis:
action:
trace:
}
2026-05-23 15:46:25 +02:00
2026-06-26 10:44:44 +02:00
// Decrease: *VcggDecrease
2026-05-25 14:36:27 +02:00
2026-06-26 12:47:41 +02:00
VcggDecrease: INSTANTIATE [ snippet: accumulator, event: 10x, cost: 3x, context: NOT *VcggDecrease ] {
2026-06-25 18:50:19 +02:00
hypothesis:
action:
trace:
}
2026-05-23 15:46:25 +02:00
```
2026-06-25 10:45:21 +02:00
## DEVELOP
2026-06-23 17:36:00 +02:00
2026-05-31 11:39:42 +02:00
```Gen
2026-05-31 10:19:15 +02:00
2026-06-23 17:36:00 +02:00
DEVELOP
2026-06-25 17:14:49 +02:00
2026-06-23 17:52:14 +02:00
type: container
2026-05-31 10:19:15 +02:00
2026-06-26 10:44:44 +02:00
// !NIGHT
2026-06-26 12:09:24 +02:00
// ########################## CaFull, *fixed ##########################
2026-04-26 17:08:14 +02:00
2026-06-26 12:47:41 +02:00
Ca2Check: INSTANTIATE [ snippet: contextor, event: 60x, context: *fixed ] {
2026-05-31 13:18:52 +02:00
condition: ( empty )
2026-06-09 17:40:19 +02:00
out_context: *CaFullDecrease
2026-04-26 17:08:14 +02:00
2026-05-31 13:18:52 +02:00
condition: ( full)
2026-06-09 17:40:19 +02:00
out_context: *Ca2FullIncrease
2026-06-25 19:01:59 +02:00
}
2026-04-26 17:08:14 +02:00
2026-06-25 19:01:59 +02:00
// snippet: *CaFullDecrease
2026-06-26 12:47:41 +02:00
CaFullDecrease: INSTANTIATE [ snippet: accumulator, event: 12x, cost: 3x, context: NOT *CaFullDecrease ] {
2026-05-31 11:39:42 +02:00
hypothesis: NOT ( full ) AND NOT ( empty )
action: [ increase, decrease]
2026-05-04 10:29:21 +00:00
trace: None
2026-06-25 19:01:59 +02:00
}
2026-05-31 13:18:52 +02:00
2026-06-25 19:01:59 +02:00
// snippet: *Ca2FullIncrease
2026-06-26 12:47:41 +02:00
Ca2FullIncrease: INSTANTIATE [ snippet: accumulator, event: 12x, cost: 3x, context: NOT *Ca2FullIncrease ] {
2026-05-31 13:18:52 +02:00
condition: ( empty )
2026-06-09 17:40:19 +02:00
out_context: *RrpFullDecrease
2026-05-31 13:18:52 +02:00
condition: ( full)
out_context: *IncreaseRrpFull
2026-06-25 19:01:59 +02:00
}
2026-04-26 17:08:14 +02:00
2026-06-26 12:09:24 +02:00
// ########################## RRPFull: *fixed ##########################
2026-06-26 11:54:28 +02:00
2026-06-26 12:47:41 +02:00
RrpCheck: INSTANTIATE [ snippet: contextor, event: 60x, context: *fixed ]
2026-05-31 11:39:42 +02:00
2026-06-25 19:01:59 +02:00
// snippet: *RrpFullDecrease
void: INSTANTIATE [ accumulator: RrpFullDecrease, event: 12x, cost: 3x, context: NOT *RrpFullDecrease ] {
2026-05-31 11:39:42 +02:00
hypothesis: NOT ( full ) AND NOT ( empty )
action: [ increase, decrease]
2026-05-04 10:29:21 +00:00
trace: None
2026-06-25 19:01:59 +02:00
}
2026-06-25 19:01:59 +02:00
// snippet: *IncreaseRrpFull
2026-06-26 12:47:41 +02:00
IncreaseRrpFull: INSTANTIATE [ snippet: accumulator, event: 12x, cost: 3x, context: NOT *RrpFullIncrease ] {
2026-05-31 13:18:52 +02:00
hypothesis: NOT ( full ) AND NOT ( empty )
action: [ increase, decrease]
trace: None
2026-06-25 19:01:59 +02:00
}
2026-05-04 10:29:21 +00:00
```