Skip to content

Commit dedcd1d

Browse files
committed
continued adding cofigs, policy, and app cleanup
1 parent 599e3a4 commit dedcd1d

15 files changed

Lines changed: 208 additions & 70 deletions

File tree

docs/contracts/runtime-boundary-policy.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ runtime_identity:
5656
- torch or GPU runtime backend
5757
- frontend runtime owner
5858
- visualization or WebSocket map-stream runtime path
59+
archived_source_material:
60+
- docs/sources/legacy-substrate-neurogenesis/
5961
legacy_exception_pending_archive:
60-
- core/substrate/
6162
- core/global_system.py

docs/contracts/runtime-capability-coverage.yml

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,25 @@ coverage_values:
1515
diagnostic_only: The source is not a runtime owner; its diagnostic goal needs a separate sparse readout decision.
1616

1717
archival_gate:
18-
rule: >
19-
A source file may leave the importable runtime tree only after every
20-
capability it carries is either covered, intentionally_retired, or recorded
21-
as a named port with an implementation owner and acceptance gate.
18+
archive_move_rule: >
19+
A source file may leave the importable runtime tree when it is preserved in
20+
a tracked source archive, every carried goal is recorded here, and the
21+
archive README names the sparse-native port obligation.
22+
deletion_rule: >
23+
An archived source file may be deleted only after every capability it
24+
carries is either covered or intentionally_retired with acceptance evidence.
2225
prohibited_inference: Static disconnection alone does not authorize deletion.
2326

2427
capabilities:
2528
- id: sparse_population_change
2629
source_paths:
27-
- core/substrate/neurogenesis.py
28-
- core/substrate/growth_arbiter.py
30+
- docs/sources/legacy-substrate-neurogenesis/neurogenesis.py
31+
- docs/sources/legacy-substrate-neurogenesis/growth_arbiter.py
2932
- core/growth_arbiter.py
3033
- core/sie.py
34+
former_runtime_paths:
35+
- core/substrate/neurogenesis.py
36+
- core/substrate/growth_arbiter.py
3137
goal: >
3238
Bounded node growth and culling, with cross-system state resizing and
3339
pressure/stability admission.
@@ -46,6 +52,8 @@ capabilities:
4652

4753
- id: node_field_and_spike_dynamics
4854
source_paths:
55+
- docs/sources/legacy-substrate-neurogenesis/substrate.py
56+
former_runtime_paths:
4957
- core/substrate/substrate.py
5058
goal: >
5159
Per-node membrane state, refractory state, spike history, and discrete
@@ -61,6 +69,8 @@ capabilities:
6169
6270
- id: intrinsic_plasticity
6371
source_paths:
72+
- docs/sources/legacy-substrate-neurogenesis/substrate.py
73+
former_runtime_paths:
6474
- core/substrate/substrate.py
6575
goal: >
6676
Adapt node-intrinsic parameters from recent activity while preserving
@@ -73,6 +83,8 @@ capabilities:
7383

7484
- id: synaptic_scaling
7585
source_paths:
86+
- docs/sources/legacy-substrate-neurogenesis/substrate.py
87+
former_runtime_paths:
7688
- core/substrate/substrate.py
7789
goal: Normalize incoming excitatory support without erasing sparse structure.
7890
coverage: unmet
@@ -83,9 +95,11 @@ capabilities:
8395

8496
- id: sparse_edge_pruning_and_bridge_repair
8597
source_paths:
86-
- core/substrate/structural_homeostasis.py
98+
- docs/sources/legacy-substrate-neurogenesis/structural_homeostasis.py
8799
- core/structural_homeostasis.py
88100
- core/sparse_connectome.py
101+
former_runtime_paths:
102+
- core/substrate/structural_homeostasis.py
89103
goal: Remove weak edges and repair fragmentation through bounded supported bridges.
90104
coverage: partial
91105
evidence:

docs/contracts/runtime-cleanup-classification.yml

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ runtime_identity:
2323
- core/adc.py
2424
- core/sie.py
2525
- core/sie_v2.py
26-
- core/cortex/void_walkers/
27-
- core/cortex/maps/
26+
- core/cortex/void_walkers/
27+
- core/cortex/maps/
2828
- core/bus.py
2929
- runtime/
3030
- io/
@@ -136,51 +136,55 @@ entries:
136136
- No static runtime import was found.
137137
- The runtime imports void_frontier_scout.FrontierScout directly.
138138

139-
- path: core/substrate/substrate.py
139+
- path: docs/sources/legacy-substrate-neurogenesis/substrate.py
140+
former_runtime_path: core/substrate/substrate.py
140141
class: archive
141-
state: blocked_by_capability_closure
142+
state: preserved_source_archive
142143
role: Legacy dense substrate with optional Torch/GPU backend.
143144
evidence:
144145
- Direct torch imports and a dense weight matrix are present in the source.
145-
- No direct or dynamic import reference was found outside core/substrate/.
146-
destination: docs/sources/legacy-substrate-neurogenesis/
147-
follow_up: Do not move until node_field_and_spike_dynamics, intrinsic_plasticity, and synaptic_scaling have explicit decisions.
146+
- No direct or dynamic import reference was found while the source was under core/substrate/.
147+
destination: docs/sources/legacy-substrate-neurogenesis/substrate.py
148+
follow_up: Do not delete until node_field_and_spike_dynamics, intrinsic_plasticity, and synaptic_scaling are covered or intentionally retired.
148149

149-
- path: core/substrate/neurogenesis.py
150+
- path: docs/sources/legacy-substrate-neurogenesis/neurogenesis.py
151+
former_runtime_path: core/substrate/neurogenesis.py
150152
class: archive
151-
state: blocked_by_capability_closure
153+
state: preserved_source_archive
152154
role: Legacy dense neuron-growth executor.
153155
evidence:
154156
- Imports torch and allocates a new N x N weight matrix during growth.
155-
- No direct or dynamic import reference was found outside core/substrate/.
156-
destination: docs/sources/legacy-substrate-neurogenesis/
157-
follow_up: Do not move until sparse_population_change has a named implementation owner and acceptance gate.
157+
- No direct or dynamic import reference was found while the source was under core/substrate/.
158+
destination: docs/sources/legacy-substrate-neurogenesis/neurogenesis.py
159+
follow_up: Do not delete until sparse_population_change is covered or intentionally retired.
158160

159-
- path: core/substrate/growth_arbiter.py
161+
- path: docs/sources/legacy-substrate-neurogenesis/growth_arbiter.py
162+
former_runtime_path: core/substrate/growth_arbiter.py
160163
class: archive
161-
state: blocked_by_capability_closure
164+
state: preserved_source_archive
162165
role: Legacy stability and debt-based growth decision source.
163166
evidence:
164-
- No direct or dynamic import reference was found outside core/substrate/.
165-
destination: docs/sources/legacy-substrate-neurogenesis/
167+
- No direct or dynamic import reference was found while the source was under core/substrate/.
168+
destination: docs/sources/legacy-substrate-neurogenesis/growth_arbiter.py
166169
follow_up: Archive source; do not treat its thresholds or metric names as live policy.
167170

168-
- path: core/substrate/structural_homeostasis.py
171+
- path: docs/sources/legacy-substrate-neurogenesis/structural_homeostasis.py
172+
former_runtime_path: core/substrate/structural_homeostasis.py
169173
class: archive
170-
state: blocked_by_capability_closure
174+
state: preserved_source_archive
171175
role: Legacy pruning and bridge-growth source.
172176
evidence:
173-
- No direct or dynamic import reference was found outside core/substrate/.
174-
destination: docs/sources/legacy-substrate-neurogenesis/
177+
- No direct or dynamic import reference was found while the source was under core/substrate/.
178+
destination: docs/sources/legacy-substrate-neurogenesis/structural_homeostasis.py
175179
follow_up: Archive source; preserve pruning and bridge-repair obligations as ports.
176180

177181
- path: capability:sparse_neurogenesis
178182
class: port
179183
state: planned
180184
source_paths:
181-
- core/substrate/neurogenesis.py
182-
- core/substrate/growth_arbiter.py
183-
- core/substrate/structural_homeostasis.py
185+
- docs/sources/legacy-substrate-neurogenesis/neurogenesis.py
186+
- docs/sources/legacy-substrate-neurogenesis/growth_arbiter.py
187+
- docs/sources/legacy-substrate-neurogenesis/structural_homeostasis.py
184188
target: core/neurogenesis/
185189
required_invariants:
186190
- Bounded dynamic population growth and culling.
@@ -223,11 +227,11 @@ entries:
223227
- tests/guards/test_runtime_engine_prune.py guards its absence.
224228

225229
review_notes:
226-
- path: core/substrate/
230+
- path: docs/sources/legacy-substrate-neurogenesis/
231+
former_runtime_path: core/substrate/
227232
finding: Static reachability is empty, but prior boundary prose listed the package as retained.
228-
resolution: Archival is blocked until each capability has a named sparse-native owner or an explicit intentional-retirement decision.
233+
resolution: Source is preserved outside core/ while the sparse-native capability port remains open.
229234
required_before_move:
230-
- Archive the source with a capability README.
231235
- Add a no-torch live-runtime guard.
232236
- Add import checks for retained sparse runtime modules.
233237

docs/contracts/source-authority.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ sources:
1313
aura_distinction_inventory:
1414
path: docs/sources/neurobiology-upgrade/Aura_Distinction_Inventory_v0.7.md
1515
role: atomized Aura evidence inventory
16+
legacy_substrate_neurogenesis:
17+
path: docs/sources/legacy-substrate-neurogenesis/
18+
role: preserved source for sparse-native dynamic population and node-state ports; not live runtime code
1619
external_missing:
1720
runtime_papers:
1821
count_expected: 8

docs/pages/architecture/runtime-boundaries.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,11 @@ The following systems have current runtime execution:
5050
- `core/cortex/void_walkers/`
5151
- `core/cortex/maps/`
5252

53-
`SparseConnectome` is the sole live runtime substrate. The old
54-
`core/substrate/` package is a dense/Torch source under active archival review;
55-
it is not a second runtime substrate. Its dynamic-population requirements are
56-
preserved for the sparse-neurogenesis port, not by retaining its implementation.
53+
`SparseConnectome` is the sole live runtime substrate. The former
54+
`core/substrate/` package has moved to
55+
`docs/sources/legacy-substrate-neurogenesis/`; it is not a second runtime
56+
substrate. Its dynamic-population requirements are preserved for the
57+
sparse-neurogenesis port, not by retaining its implementation.
5758

5859
`core/growth_arbiter.py`, `core/structural_homeostasis.py`, `core/void_b1.py`,
5960
and the optional GDSP/REVGSP adapters are retained as capability sources, not

docs/roadmap/runtime-cleanup-guardrails/ANALYSIS.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,10 @@ is optional merely because its construction is not a simple top-level import.
3535

3636
### Legacy dense substrate
3737

38-
The four files under `core/substrate/` have no direct import reference outside
39-
that directory, and no dynamic-import mechanism was found anywhere in the
40-
repository. Their implementation is nevertheless not disposable source:
38+
The four former `core/substrate/` files, now preserved under
39+
`docs/sources/legacy-substrate-neurogenesis/`, had no direct import reference
40+
outside that directory, and no dynamic-import mechanism was found anywhere in
41+
the repository. Their implementation is nevertheless not disposable source:
4142

4243
- `substrate.py` imports Torch and supports a GPU backend.
4344
- `neurogenesis.py` imports Torch and grows by allocating a new dense `N x N`
@@ -52,8 +53,9 @@ scaling goals. The default `SparseConnectome` does not expose the corresponding
5253
state, and the current firing-variance signal is variance of its field `W`, not
5354
variance of observed firing events.
5455

55-
The source remains an `archive` candidate, but archival is blocked. The sparse
56-
replacement must be derived against the requirements in
56+
The source is preserved in a tracked archive outside the importable runtime.
57+
It must not be deleted while the sparse replacement is open. That replacement
58+
must be derived against the requirements in
5759
`docs/roadmap/sparse-neurogenesis/TODO.md`, and the unowned physiology goals
5860
must receive either a VDM-native sparse owner or an explicit retirement record.
5961

@@ -105,7 +107,7 @@ environment with all declared dependencies is exercised.
105107
| Surface | Class | Reason | Required next action |
106108
| --- | --- | --- | --- |
107109
| `SparseConnectome`, ADC, SIE/SIE v2, void maps/scouts, neuroplasticity | `keep` | Active runtime ownership | Add importability guards before cleanup moves. |
108-
| `core/substrate/` source | `archive` candidate | Statically isolated dense/Torch implementation with unclosed goals | Preserve source; do not move until coverage closes. |
110+
| `core/substrate/` source | `preserved archive` | Statically isolated dense/Torch implementation with unclosed goals | Keep under `docs/sources/legacy-substrate-neurogenesis/`; do not delete until coverage closes. |
109111
| Sparse population management | `unmet` | No fixed-size sparse executor can grow or retire nodes | Build bounded sparse/event-fed behavior. |
110112
| Node/spike dynamics, intrinsic plasticity, synaptic scaling | `unmet` | No compatible state or operator exists on SparseConnectome | Assign a sparse-native owner or explicitly retire each goal. |
111113
| `core/global_system.py` | `archive` candidate | Statically isolated ADC/SIE variant with partial successors | Close ADC and territory-conditioned-valence coverage first. |
@@ -125,6 +127,6 @@ environment with all declared dependencies is exercised.
125127

126128
## Next Gate
127129

128-
Do not move source yet. First close Task 0.3: assign owners and acceptance
129-
gates for every unmet or unwired capability. The guard set remains necessary,
130-
but it protects a cleanup only after the capability obligations are explicit.
130+
The legacy source has moved out of the importable runtime into its tracked
131+
archive. Next, assign owners and acceptance gates for every unmet or unwired
132+
capability; the archive stays until those obligations close.

docs/roadmap/runtime-cleanup-guardrails/TODO.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ This checklist protects the fresh independent runtime identity. It is allowed to
2626

2727
- [x] Step 0.3.1 — Add a capability-coverage contract for every current archive or port candidate.
2828
- [x] Step 0.3.2 — Record each goal as covered, partial, unwired, unmet, diagnostic-only, or intentionally retired.
29-
- [ ] Step 0.3.3 — Add a guard that prevents archival moves while capability coverage is unresolved.
29+
- [x] Step 0.3.3 — Add a guard that prevents deletion while capability coverage is unresolved and requires archived source preservation.
3030
- [ ] Step 0.3.4 — Assign an implementation owner and acceptance gate for every `unwired` or `unmet` runtime goal.
3131

3232
## Phase 1 — Add Hard Guard Tests
@@ -58,17 +58,17 @@ This checklist protects the fresh independent runtime identity. It is allowed to
5858

5959
### Task 2.1 — Move legacy substrate material out of live runtime
6060

61-
- [ ] Step 2.1.1 — Create `docs/sources/legacy-substrate-neurogenesis/` only after Task 0.3 closes the carried capability obligations.
62-
- [ ] Step 2.1.2 — Move or copy old dense substrate files there as source material.
63-
- [ ] Step 2.1.3 — Remove the old files from live importable runtime paths.
64-
- [ ] Step 2.1.4 — Add `README.md` explaining that the old code is design source for sparse neurogenesis, not live runtime code.
61+
- [x] Step 2.1.1 — Create `docs/sources/legacy-substrate-neurogenesis/` as a tracked source archive.
62+
- [x] Step 2.1.2 — Move old dense substrate files there as source material.
63+
- [x] Step 2.1.3 — Remove the old files from live importable runtime paths.
64+
- [x] Step 2.1.4 — Add `README.md` explaining that the old code is design source for sparse neurogenesis, not live runtime code.
6565

6666
### Task 2.2 — Preserve the extracted invariant
6767

68-
- [ ] Step 2.2.1 — Document dynamic neuron population growth as a preserved capability.
69-
- [ ] Step 2.2.2 — Document node-count management between configured minimum and maximum bounds.
70-
- [ ] Step 2.2.3 — Document growth debt, stability arbitration, seeding, culling, structural homeostasis, edge repair, and bridge growth as requirements for the sparse replacement.
71-
- [ ] Step 2.2.4 — Link this extraction note to `docs/roadmap/sparse-neurogenesis/TODO.md`.
68+
- [x] Step 2.2.1 — Document dynamic neuron population growth as a preserved capability.
69+
- [x] Step 2.2.2 — Document node-count management between configured minimum and maximum bounds.
70+
- [x] Step 2.2.3 — Document growth debt, stability arbitration, seeding, culling, structural homeostasis, edge repair, and bridge growth as requirements for the sparse replacement.
71+
- [x] Step 2.2.4 — Link this extraction note to `docs/roadmap/sparse-neurogenesis/TODO.md`.
7272

7373
## Phase 3 — Validate the Clean Runtime
7474

docs/roadmap/sparse-neurogenesis/TODO.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ The legacy substrate files encode a real missing capability: dynamic self-managi
99

1010
### Task 0.1 — Archive design source
1111

12-
- [ ] Step 0.1.1 — Move old `core/substrate/` files out of live runtime path.
13-
- [ ] Step 0.1.2 — Preserve them under `docs/sources/legacy-substrate-neurogenesis/` or `archive/legacy-substrate-neurogenesis/`.
14-
- [ ] Step 0.1.3 — Add archive README explaining that these files are not runtime code.
15-
- [ ] Step 0.1.4 — Add guard test proving live runtime no longer imports the archived substrate path.
12+
- [x] Step 0.1.1 — Move old `core/substrate/` files out of live runtime path.
13+
- [x] Step 0.1.2 — Preserve them under `docs/sources/legacy-substrate-neurogenesis/`.
14+
- [x] Step 0.1.3 — Add archive README explaining that these files are not runtime code and must not be deleted before capability closure.
15+
- [x] Step 0.1.4 — Add guard test proving live runtime no longer imports the archived substrate path.
1616

1717
### Task 0.2 — Extract requirements
1818

19-
- [ ] Step 0.2.1 — Document dynamic neuron population growth.
20-
- [ ] Step 0.2.2 — Document node-count management between configured minimum and maximum bounds.
21-
- [ ] Step 0.2.3 — Document growth debt and stability arbitration.
22-
- [ ] Step 0.2.4 — Document new-neuron seeding requirements.
23-
- [ ] Step 0.2.5 — Document culling/pruning requirements.
24-
- [ ] Step 0.2.6 — Document bridge growth and cluster repair requirements.
19+
- [x] Step 0.2.1 — Document dynamic neuron population growth.
20+
- [x] Step 0.2.2 — Document node-count management between configured minimum and maximum bounds.
21+
- [x] Step 0.2.3 — Document growth debt and stability arbitration.
22+
- [x] Step 0.2.4 — Document new-neuron seeding requirements.
23+
- [x] Step 0.2.5 — Document culling/pruning requirements.
24+
- [x] Step 0.2.6 — Document bridge growth and cluster repair requirements.
2525

2626
## Phase 1 — Define Sparse Population Policy
2727

docs/sources/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ Current source packet:
66

77
```text
88
sources/neurobiology-upgrade/
9+
sources/legacy-substrate-neurogenesis/
910
```
1011

12+
The legacy substrate packet is preserved source for the sparse-native dynamic
13+
population port. It is not live runtime code and must not be deleted before the
14+
capability-coverage contract closes its carried obligations.
15+
1116
The canonical pages under `docs/pages/` should summarize source material and point back to these files.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Legacy Substrate Neurogenesis Source
2+
3+
## Status
4+
5+
**Archived source material. Do not delete. Do not import as live runtime
6+
code.**
7+
8+
These files are the retained design source for sparse-native population work.
9+
They are not an alternate backend, compatibility layer, or executable fallback.
10+
The former implementation uses dense matrices and Torch/GPU paths that are not
11+
permitted in the reboot runtime.
12+
13+
## Preserved Source
14+
15+
- `substrate.py` - node membrane, refractory, spike-history, intrinsic
16+
plasticity, and synaptic-scaling goals.
17+
- `neurogenesis.py` - node allocation, state extension, and initial supported
18+
connection goals.
19+
- `growth_arbiter.py` - stability and void-debt admission goal for growth.
20+
- `structural_homeostasis.py` - pruning and bridge-repair goal.
21+
22+
## Sparse-Native Obligation
23+
24+
The active goal is dynamic `N` without dense scans or dense `N x N` allocation:
25+
26+
- bounded growth and retirement between configured minimum and maximum counts;
27+
- sparse extension or retirement of adjacency, node field, stimulation,
28+
territory, memory, map, SIE, and traversal state;
29+
- growth admission from pressure, stability, and void debt;
30+
- local sparse seeding, pruning, and bridge repair;
31+
- lifecycle events visible through the event spine; and
32+
- no Torch, GPU backend, optimizer, loss, gradient, or training-loop path.
33+
34+
The implementation authority is
35+
`docs/roadmap/sparse-neurogenesis/TODO.md`. The capability obligations and
36+
current gaps are recorded in
37+
`docs/contracts/runtime-capability-coverage.yml`.
38+
39+
## Archive Rule
40+
41+
This archive exists so the original goals remain inspectable while the runtime
42+
is made sparse-native. A future cleanup may delete a source file only after its
43+
corresponding capability is covered or explicitly retired, with evidence added
44+
to the capability-coverage contract.

0 commit comments

Comments
 (0)