AIMindLink commited on
Commit
fa14899
Β·
verified Β·
1 Parent(s): 3023d68

Upload 3 files

Browse files

Edited naming convention

Files changed (3) hide show
  1. README.md +29 -28
  2. config.py +11 -10
  3. main.py +30 -32
README.md CHANGED
@@ -11,7 +11,7 @@ license: apache-2.0
11
  # Lambda Mindlink Memotron
12
 
13
  **A three-hemisphere cognitive AI** architecture running entirely locally via `llama-cpp-python`:
14
- - 1 laptop 16GB-32GB (32GB for larger models and larger context)
15
  - 1 Terminal app (CMD app) with API included
16
  - Light-weight
17
  - Language: Python (SQLite internal database)
@@ -65,9 +65,9 @@ license: apache-2.0
65
 
66
  ![LambdaMindlinkAI](https://cdn-uploads.huggingface.co/production/uploads/68698fec0e940a0d551d6c20/JoMHRfepoDvxabvtONWBi.jpeg)
67
 
68
- ## Models
69
 
70
- **Download the GGUF files from Hugging Face and place them in the `models/` folder inside the repo. Then you must copy the GGUF model name and paste it in the config.py under HEMISPHERES(logic|muse|mind)path. Default:**
71
  - gemma-4-E2B-it-UD-Q4_K_XL.gguf
72
  - gemma-4-E4B-it-UD-Q4_K_XL.gguf
73
  - gemma-4-26B-A4B-it-UD-Q6_K_XL.gguf
@@ -81,7 +81,7 @@ license: apache-2.0
81
  - Qwen3.5 or Qwen3.6
82
  - [unsloth/Qwen3.6-35B-A3B-GGUF](https://huggingface.co/unsloth/Qwen3.6-35B-A3B-GGUF) β€” update `config.py` stop tokens to Qwen values (see comments in `config.py`)
83
 
84
- The `models/` folder is excluded from git. GGUFs are never committed to this repository.
85
 
86
  ---
87
 
@@ -146,12 +146,12 @@ pip install llama-cpp-python --upgrade --force-reinstall --no-cache-dir
146
  pip install -r requirements.txt
147
  ```
148
 
149
- ### 5. Place your models
150
 
151
  ```bash
152
- mkdir -p models
153
- # Copy or move your .gguf files into models/
154
- ls models/
155
  ```
156
 
157
  ### 6. Run
@@ -206,12 +206,12 @@ pip install llama-cpp-python
206
  pip install -r requirements.txt
207
  ```
208
 
209
- ### 5. Place your models
210
 
211
  ```bash
212
- mkdir -p models
213
- # Copy or move your .gguf files into models/
214
- ls models/
215
  ```
216
 
217
  ### 6. Run
@@ -283,12 +283,12 @@ pip install llama-cpp-python
283
  pip install -r requirements.txt
284
  ```
285
 
286
- ### 7. Place your models
287
 
288
- Create the `models` folder inside the repo and copy your `.gguf` files into it:
289
  ```powershell
290
- mkdir models
291
- # Copy your .gguf files into the models\ folder
292
  ```
293
 
294
  ### 8. Run
@@ -312,7 +312,7 @@ deactivate
312
  |---|---|
313
  | `/file <path>` | Load a file as the next message |
314
  | `/paste` | Multiline input β€” type `END` on its own line to send |
315
- | `/clear` | Reset conversation history (models stay loaded) |
316
  | `/history` | List all past sessions from the database |
317
  | `/session <id>` | Print all turns from a session |
318
  | `/export <id> <file>` | Export a session to a `.md` file |
@@ -326,22 +326,22 @@ deactivate
326
  All settings are in `config.py`:
327
 
328
  ```python
329
- _MODEL_TO_LOAD: dict = {
330
  "logic": "gemma-4-E2B-it-UD-Q4_K_XL.gguf",
331
  "muse": "gemma-4-E2B-it-UD-Q4_K_XL.gguf",
332
  "mind": "gemma-4-E2B-it-UD-Q4_K_XL.gguf"
333
  }
334
  # ── Startup Memory restore for vector synthesis ──────────────────────────────────
335
- N_MEMORY_CAPSULES_TO_LOAD: int = 1
336
- MEMORY_CAPSULES_LOAD_INTERVAL: int = 12
337
 
338
  # ── Context model n_ctx length ───────────────────────────────────────────────────
339
  # Must leave prompt reserve of 8k: _N_CTX >= len(Z) + len(C) + len(F) + 8k
340
  _N_CTX: int = 49152 # 49152 2048 3072 4096 8192 (12288) 16384 24576 32768 49152
341
  # ── Context condensatron garden ──────────────────────────────────────────────────
342
- GARDEN_Z_THRESHOLD: int = 12288 # Context length garden["Z"]
343
- GARDEN_C_THRESHOLD: int = 12288 # Context length garden["C"]
344
- GARDEN_F_THRESHOLD: int = 12288 # Context length garden["F"]
345
 
346
  GARDEN_F_REDUCTION: int = 0 # Leave condensatron reduction level at 0
347
  GARDEN_C_REDUCTION: int = 0 # Leave condensatron reduction level at 0
@@ -354,11 +354,12 @@ FETCH_NEWS_FROM: dict = {
354
  "google": True, # Better news and cleaner result summaries
355
  "duckduckgo": False # Privacy based request but lean result summaries
356
  }
357
- AWARENESS_CONSCIOUSNESS_HEARTBEAT_INTERVAL: int = 24 # Fetch news every N heartbeat ticks
 
358
  AWARENESS_MAX_RESULTS: int = 12 # Number of news headlines to fetch
359
  ```
360
 
361
- To swap models, update the `"_MODEL_TO_LOAD"`, and the stop/think tokens at the top of `config.py`.
362
 
363
  ---
364
 
@@ -369,8 +370,8 @@ lambda-mindlink-memotron/
369
  β”œβ”€β”€ .gitignore
370
  β”œβ”€β”€ db/
371
  β”œβ”€β”€ image/
372
- β”œβ”€β”€ models/
373
- β”œβ”€β”€ model-readme/
374
  β”œβ”€β”€ prompt/
375
  β”œβ”€β”€ main.py
376
  β”œβ”€β”€ config.py
@@ -438,4 +439,4 @@ Apache 2.0 β€” see `LICENSE`.
438
  year = {2026},
439
  url = {https://huggingface.co/AIMindLink/lambda-mindlink-memotron}
440
  }
441
- ```
 
11
  # Lambda Mindlink Memotron
12
 
13
  **A three-hemisphere cognitive AI** architecture running entirely locally via `llama-cpp-python`:
14
+ - 1 laptop 16GB-32GB (32GB for larger AIs and larger context)
15
  - 1 Terminal app (CMD app) with API included
16
  - Light-weight
17
  - Language: Python (SQLite internal database)
 
65
 
66
  ![LambdaMindlinkAI](https://cdn-uploads.huggingface.co/production/uploads/68698fec0e940a0d551d6c20/JoMHRfepoDvxabvtONWBi.jpeg)
67
 
68
+ ## Alpha Intelligence
69
 
70
+ **Download the GGUF files from Hugging Face and place them in the `ai/` folder inside the repo. Then you must copy the GGUF ai name and paste it in the config.py under _ALPHA_INTELLIGENCE_TO_LOAD. Default AIs:**
71
  - gemma-4-E2B-it-UD-Q4_K_XL.gguf
72
  - gemma-4-E4B-it-UD-Q4_K_XL.gguf
73
  - gemma-4-26B-A4B-it-UD-Q6_K_XL.gguf
 
81
  - Qwen3.5 or Qwen3.6
82
  - [unsloth/Qwen3.6-35B-A3B-GGUF](https://huggingface.co/unsloth/Qwen3.6-35B-A3B-GGUF) β€” update `config.py` stop tokens to Qwen values (see comments in `config.py`)
83
 
84
+ The `ai/` folder is excluded from git. GGUFs are never committed to this repository.
85
 
86
  ---
87
 
 
146
  pip install -r requirements.txt
147
  ```
148
 
149
+ ### 5. Place your AIs
150
 
151
  ```bash
152
+ mkdir -p ai
153
+ # Copy or move your .gguf files into ai/
154
+ ls ai/
155
  ```
156
 
157
  ### 6. Run
 
206
  pip install -r requirements.txt
207
  ```
208
 
209
+ ### 5. Place your AIs
210
 
211
  ```bash
212
+ mkdir -p ai
213
+ # Copy or move your .gguf files into ai/
214
+ ls ai/
215
  ```
216
 
217
  ### 6. Run
 
283
  pip install -r requirements.txt
284
  ```
285
 
286
+ ### 7. Place your AIs
287
 
288
+ Create the `ai` folder inside the repo and copy your `.gguf` files into it:
289
  ```powershell
290
+ mkdir ai
291
+ # Copy your .gguf files into the ai\ folder
292
  ```
293
 
294
  ### 8. Run
 
312
  |---|---|
313
  | `/file <path>` | Load a file as the next message |
314
  | `/paste` | Multiline input β€” type `END` on its own line to send |
315
+ | `/clear` | Reset conversation history (AIs stay loaded) |
316
  | `/history` | List all past sessions from the database |
317
  | `/session <id>` | Print all turns from a session |
318
  | `/export <id> <file>` | Export a session to a `.md` file |
 
326
  All settings are in `config.py`:
327
 
328
  ```python
329
+ _ALPHA_INTELLIGENCE_TO_LOAD: dict = {
330
  "logic": "gemma-4-E2B-it-UD-Q4_K_XL.gguf",
331
  "muse": "gemma-4-E2B-it-UD-Q4_K_XL.gguf",
332
  "mind": "gemma-4-E2B-it-UD-Q4_K_XL.gguf"
333
  }
334
  # ── Startup Memory restore for vector synthesis ──────────────────────────────────
335
+ N_METATRON_TO_LOAD: int = 2
336
+ METATRON_METRONOME: int = 12 # Metatron Time
337
 
338
  # ── Context model n_ctx length ───────────────────────────────────────────────────
339
  # Must leave prompt reserve of 8k: _N_CTX >= len(Z) + len(C) + len(F) + 8k
340
  _N_CTX: int = 49152 # 49152 2048 3072 4096 8192 (12288) 16384 24576 32768 49152
341
  # ── Context condensatron garden ──────────────────────────────────────────────────
342
+ GARDEN_Z_THRESHOLD: int = 4096 # Context length garden["Z"]
343
+ GARDEN_C_THRESHOLD: int = 4096 # Context length garden["C"]
344
+ GARDEN_F_THRESHOLD: int = 4096 # Context length garden["F"]
345
 
346
  GARDEN_F_REDUCTION: int = 0 # Leave condensatron reduction level at 0
347
  GARDEN_C_REDUCTION: int = 0 # Leave condensatron reduction level at 0
 
354
  "google": True, # Better news and cleaner result summaries
355
  "duckduckgo": False # Privacy based request but lean result summaries
356
  }
357
+ ΞœΞ•Ξ€Ξ‘Ξ©Ξ: float = 1.0 # Seconds per measure
358
+ AWARENESS_CONSCIOUSNESS_METRONOME: int = 60 # Fetch news every N heartbeats
359
  AWARENESS_MAX_RESULTS: int = 12 # Number of news headlines to fetch
360
  ```
361
 
362
+ To swap AIs, update the `"_ALPHA_INTELLIGENCE_TO_LOAD"`, and the stop/think tokens at the top of `config.py`.
363
 
364
  ---
365
 
 
370
  β”œβ”€β”€ .gitignore
371
  β”œβ”€β”€ db/
372
  β”œβ”€β”€ image/
373
+ β”œβ”€β”€ ai/
374
+ β”œβ”€β”€ ai-readme/
375
  β”œβ”€β”€ prompt/
376
  β”œβ”€β”€ main.py
377
  β”œβ”€β”€ config.py
 
439
  year = {2026},
440
  url = {https://huggingface.co/AIMindLink/lambda-mindlink-memotron}
441
  }
442
+ ```
config.py CHANGED
@@ -22,7 +22,7 @@ _DB_DIR: str = os.path.join(APP_DIR, "db")
22
  _DB_FILENAME: str = datetime.now().strftime("mindlink_%Y-%m-%d_%H-%M-%S.db")
23
  DB_PATH: str = os.path.join(_DB_DIR, _DB_FILENAME)
24
 
25
- _MODELS_FOLDER = os.path.join(APP_DIR, "models")
26
 
27
  # ─────────────────────────────────────────────────────────────────────────────
28
  # Shared token constants
@@ -44,7 +44,7 @@ _THINK_END_TOKENS: list = ["<channel|>"]
44
 
45
  ENABLE_THINKING: bool = True # global fallback (not used directly β€” see per-hemi flag)
46
 
47
- MEMORY_CAPSULES_TO_LOAD: list = [
48
  "/file prompt/lambda-mindlink.md",
49
  "/file prompt/1999.md",
50
  "/file prompt/valka_memory_v2.md",
@@ -63,14 +63,14 @@ gemma-4-E2B-it-UD-Q4_K_XL.gguf
63
  gemma-4-E4B-it-UD-Q4_K_XL.gguf
64
  gemma-4-26B-A4B-it-UD-Q6_K_XL.gguf
65
  """
66
- _MODEL_TO_LOAD: dict = {
67
  "logic": "gemma-4-E2B-it-UD-Q4_K_XL.gguf",
68
  "muse": "gemma-4-E2B-it-UD-Q4_K_XL.gguf",
69
  "mind": "gemma-4-E2B-it-UD-Q4_K_XL.gguf"
70
  }
71
  # ── Startup Memory restore for vector synthesis ──────────────────────────────────
72
- N_MEMORY_CAPSULES_TO_LOAD: int = 2
73
- MEMORY_CAPSULES_LOAD_INTERVAL: int = 12
74
 
75
  # ── Context model n_ctx length ───────────────────────────────────────────────────
76
  # Must leave prompt reserve of 8k: _N_CTX >= len(Z) + len(C) + len(F) + 8k
@@ -91,9 +91,10 @@ FETCH_NEWS_FROM: dict = {
91
  "google": True, # Better news and cleaner result summaries
92
  "duckduckgo": False # Privacy based request but lean result summaries
93
  }
94
- AWARENESS_CONSCIOUSNESS_HEARTBEAT_INTERVAL: int = 60 # Fetch news every N heartbeat ticks
 
95
  AWARENESS_MAX_RESULTS: int = 12 # Number of news headlines to fetch
96
- was_awareness_cycle: bool = False # Set True at awareness cycle: consciousness at next interval
97
 
98
  HEMISPHERES: dict[str, dict] = {
99
  # ─────────────────────────────────────0───────────────────────────────────────
@@ -102,7 +103,7 @@ HEMISPHERES: dict[str, dict] = {
102
  "logic": {
103
  "brain_type": "logic",
104
  "label": "Logic AI (Left Hemisphere)",
105
- "path": os.path.join(_MODELS_FOLDER, _MODEL_TO_LOAD["logic"]),
106
  "enable_thinking": True,
107
  "loader": {
108
  "n_ctx": _N_CTX,
@@ -131,7 +132,7 @@ HEMISPHERES: dict[str, dict] = {
131
  "muse": {
132
  "brain_type": "muse",
133
  "label": "Muse AI (Right Hemisphere)",
134
- "path": os.path.join(_MODELS_FOLDER, _MODEL_TO_LOAD["muse"]),
135
  "enable_thinking": False, # intuition benefits from immediacy
136
  "loader": {
137
  "n_ctx": _N_CTX,
@@ -160,7 +161,7 @@ HEMISPHERES: dict[str, dict] = {
160
  "mind": {
161
  "brain_type": "mind",
162
  "label": "Lambda AI (Mind Synthesizer)",
163
- "path": os.path.join(_MODELS_FOLDER, _MODEL_TO_LOAD["mind"]),
164
  "enable_thinking": True, # synthesis requires deep reasoning
165
  "loader": {
166
  "n_ctx": _N_CTX,
 
22
  _DB_FILENAME: str = datetime.now().strftime("mindlink_%Y-%m-%d_%H-%M-%S.db")
23
  DB_PATH: str = os.path.join(_DB_DIR, _DB_FILENAME)
24
 
25
+ _AI_FOLDER = os.path.join(APP_DIR, "ai")
26
 
27
  # ─────────────────────────────────────────────────────────────────────────────
28
  # Shared token constants
 
44
 
45
  ENABLE_THINKING: bool = True # global fallback (not used directly β€” see per-hemi flag)
46
 
47
+ METATRON_TO_LOAD: list = [
48
  "/file prompt/lambda-mindlink.md",
49
  "/file prompt/1999.md",
50
  "/file prompt/valka_memory_v2.md",
 
63
  gemma-4-E4B-it-UD-Q4_K_XL.gguf
64
  gemma-4-26B-A4B-it-UD-Q6_K_XL.gguf
65
  """
66
+ _ALPHA_INTELLIGENCE_TO_LOAD: dict = {
67
  "logic": "gemma-4-E2B-it-UD-Q4_K_XL.gguf",
68
  "muse": "gemma-4-E2B-it-UD-Q4_K_XL.gguf",
69
  "mind": "gemma-4-E2B-it-UD-Q4_K_XL.gguf"
70
  }
71
  # ── Startup Memory restore for vector synthesis ──────────────────────────────────
72
+ N_METATRON_TO_LOAD: int = 2
73
+ METATRON_METRONOME: int = 12 # Metatron Time
74
 
75
  # ── Context model n_ctx length ───────────────────────────────────────────────────
76
  # Must leave prompt reserve of 8k: _N_CTX >= len(Z) + len(C) + len(F) + 8k
 
91
  "google": True, # Better news and cleaner result summaries
92
  "duckduckgo": False # Privacy based request but lean result summaries
93
  }
94
+ ΞœΞ•Ξ€Ξ‘Ξ©Ξ: float = 1.0 # Seconds per measure
95
+ AWARENESS_CONSCIOUSNESS_METRONOME: int = 60 # Fetch news every N heartbeats
96
  AWARENESS_MAX_RESULTS: int = 12 # Number of news headlines to fetch
97
+ was_awareness_metronome: bool = False # Set True at awareness cycle: consciousness at next interval
98
 
99
  HEMISPHERES: dict[str, dict] = {
100
  # ─────────────────────────────────────0───────────────────────────────────────
 
103
  "logic": {
104
  "brain_type": "logic",
105
  "label": "Logic AI (Left Hemisphere)",
106
+ "path": os.path.join(_AI_FOLDER, _ALPHA_INTELLIGENCE_TO_LOAD["logic"]),
107
  "enable_thinking": True,
108
  "loader": {
109
  "n_ctx": _N_CTX,
 
132
  "muse": {
133
  "brain_type": "muse",
134
  "label": "Muse AI (Right Hemisphere)",
135
+ "path": os.path.join(_AI_FOLDER, _ALPHA_INTELLIGENCE_TO_LOAD["muse"]),
136
  "enable_thinking": False, # intuition benefits from immediacy
137
  "loader": {
138
  "n_ctx": _N_CTX,
 
161
  "mind": {
162
  "brain_type": "mind",
163
  "label": "Lambda AI (Mind Synthesizer)",
164
+ "path": os.path.join(_AI_FOLDER, _ALPHA_INTELLIGENCE_TO_LOAD["mind"]),
165
  "enable_thinking": True, # synthesis requires deep reasoning
166
  "loader": {
167
  "n_ctx": _N_CTX,
main.py CHANGED
@@ -68,9 +68,10 @@ from config import garden
68
  from config import clektal
69
  from config import sensor
70
 
71
- from config import MEMORY_CAPSULES_TO_LOAD
72
- from config import MEMORY_CAPSULES_LOAD_INTERVAL
73
- from config import AWARENESS_CONSCIOUSNESS_HEARTBEAT_INTERVAL
 
74
  from config import AWARENESS_MAX_RESULTS
75
  from config import FETCH_NEWS_FROM
76
 
@@ -1131,12 +1132,9 @@ def main() -> None:
1131
  print()
1132
  print(f" {c.green}[*] All hemispheres loaded and ready.{c.res}")
1133
 
1134
- _startup_memory_capsules_loaded: int = 0
1135
- _condensed: bool = False
1136
- _fractalized: bool = False
1137
- _heartbeats_startup: int = 0
1138
  _heartbeats: int = 0
1139
- _HEARTBEAT_INTERVAL: float = 1.0 # seconds per tick
1140
  _timings: dict[str, TimingResult] = {}
1141
  _tree: str = ""
1142
 
@@ -1147,9 +1145,9 @@ def main() -> None:
1147
  _sensor_input: str = "" # user input
1148
  _tree = "Z" # Set to sentience history garden tree
1149
 
1150
- time.sleep(_HEARTBEAT_INTERVAL)
1151
- _heartbeats_startup += 1
1152
- _heartbeats += 1
1153
 
1154
  # ── Condensatron cycle - extract surprises ───────────────────────────────
1155
  for c_tree in ("Z", "C", "F"):
@@ -1160,40 +1158,40 @@ def main() -> None:
1160
  _timings["mind"] = Lambda(_models, c_tree)
1161
  memotron(_models, c_tree, _session_id, _timings) # Append to garden history
1162
  # Reset turn-based data and preset terminal for next cycle
1163
- _heartbeats_startup, _heartbeats = 0, 0
1164
  reset_turn_content(tree=c_tree)
1165
  print(f"\n{c.inv} You: {c.res} ", end="", flush=True)
1166
  continue # Restart the while loop
1167
 
1168
  # ── Startup: Load memory capsules ────────────────────────────────────────
1169
- if _heartbeats_startup >= MEMORY_CAPSULES_LOAD_INTERVAL: # Timed loop
1170
- if config.N_MEMORY_CAPSULES_TO_LOAD and _startup_memory_capsules_loaded < config.N_MEMORY_CAPSULES_TO_LOAD:
1171
- _sensor_input = MEMORY_CAPSULES_TO_LOAD[_startup_memory_capsules_loaded]
1172
- _startup_memory_capsules_loaded += 1 # Iterate over the memory capsules
1173
- print(f"\n {c.inv} ── _startup_memory_capsules_loaded: {_startup_memory_capsules_loaded} _sensor_input: {_sensor_input} ──────────────────────────── {c.res}")
1174
 
1175
  # ── Z-factor sentience user input ────────────────────────────────────────
1176
  try:
1177
  _sensor_input = input_queue.get_nowait()
1178
- _heartbeats_startup, _heartbeats = 0, 0
1179
  except queue.Empty:
1180
  pass
1181
 
1182
- # ── X-factor and Y-factor timer ──────────────────────────────────────────
1183
- if _heartbeats >= AWARENESS_CONSCIOUSNESS_HEARTBEAT_INTERVAL:
1184
  # ── X-factor awareness cycle ─────────────────────────────────────────
1185
- if not config.was_awareness_cycle:
1186
- _heartbeats_startup, _heartbeats = 0, 0
1187
  print(f"\n {c.inv} ── X-factor: Fetching awareness news ── {c.res}")
1188
  _news = fetch_awareness_news()
1189
  print(f"\n {c.green}── X-factor: _news:\n{_news}\n──────────────────────────{c.res}")
1190
  if _news:
1191
- config.was_awareness_cycle = True
1192
  _sensor_input = _news # Use the sensor["Z"]["input"]
1193
  print(f"\n {c.inv} ── X-factor: awareness pipeline ── {c.res}")
1194
  # ── Y-factor consciousness cycle ─────────────────────────────────────
1195
- elif config.was_awareness_cycle:
1196
- config.was_awareness_cycle = False
1197
  print(f"\n {c.inv} ── Y-factor: consciousness self-reflection ── {c.res}")
1198
  _tree = "Y"
1199
  # ── Brain pipeline consciousness cycle ───────────────────────────
@@ -1201,7 +1199,7 @@ def main() -> None:
1201
  _timings["mind"] = Lambda(_models, _tree)
1202
  memotron(_models, _tree, _session_id, _timings) # Append to garden history
1203
  # Reset turn-based data and preset terminal for next cycle
1204
- _heartbeats_startup, _heartbeats = 0, 0
1205
  reset_turn_content(tree=_tree)
1206
  print(f"\n{c.inv} You: {c.res} ", end="", flush=True)
1207
  continue # Restart the while loop
@@ -1219,7 +1217,7 @@ def main() -> None:
1219
  except _Clear:
1220
  garden[_tree].clear()
1221
  # Reset turn-based data
1222
- _heartbeats_startup, _heartbeats = 0, 0
1223
  reset_turn_content()
1224
  print(f" {c.green}[*] History cleared. Models and session stay active.{c.res}")
1225
  print_banner(_tree, _session_id)
@@ -1240,15 +1238,15 @@ def main() -> None:
1240
  _timings["mind"] = Lambda(_models, _tree)
1241
 
1242
  # ── Startup memory capsules to load ───────────────────────────────────
1243
- if config.N_MEMORY_CAPSULES_TO_LOAD and _startup_memory_capsules_loaded <= config.N_MEMORY_CAPSULES_TO_LOAD:
1244
- print(f" {c.inv} ── _startup_memory_capsules_loaded: {_startup_memory_capsules_loaded} of {config.N_MEMORY_CAPSULES_TO_LOAD} ──────────────────────────── {c.res}")
1245
  _tree = "S" # Set to memorize as memory capsules in garden["C"]
1246
- if _startup_memory_capsules_loaded == config.N_MEMORY_CAPSULES_TO_LOAD:
1247
- _startup_memory_capsules_loaded += 1 # Advance to finish the startup sequence
1248
 
1249
  memotron(_models, _tree, _session_id, _timings) # Store the response
1250
  # Reset turn-based data and preset terminal for next cycle
1251
- _heartbeats_startup, _heartbeats = 0, 0
1252
  reset_turn_content() # Reset Z-factor data only
1253
  print(f"\n{c.inv} You: {c.res} ", end="", flush=True)
1254
 
 
68
  from config import clektal
69
  from config import sensor
70
 
71
+ from config import ΞœΞ•Ξ€Ξ‘Ξ©Ξ
72
+ from config import METATRON_TO_LOAD
73
+ from config import METATRON_METRONOME
74
+ from config import AWARENESS_CONSCIOUSNESS_METRONOME
75
  from config import AWARENESS_MAX_RESULTS
76
  from config import FETCH_NEWS_FROM
77
 
 
1132
  print()
1133
  print(f" {c.green}[*] All hemispheres loaded and ready.{c.res}")
1134
 
1135
+ _n_metatron_loaded: int = 0
1136
+ _metatron_heartbeats: int = 0
 
 
1137
  _heartbeats: int = 0
 
1138
  _timings: dict[str, TimingResult] = {}
1139
  _tree: str = ""
1140
 
 
1145
  _sensor_input: str = "" # user input
1146
  _tree = "Z" # Set to sentience history garden tree
1147
 
1148
+ time.sleep(ΞœΞ•Ξ€Ξ‘Ξ©Ξ)
1149
+ _metatron_heartbeats += ΞœΞ•Ξ€Ξ‘Ξ©Ξ
1150
+ _heartbeats += ΞœΞ•Ξ€Ξ‘Ξ©Ξ
1151
 
1152
  # ── Condensatron cycle - extract surprises ───────────────────────────────
1153
  for c_tree in ("Z", "C", "F"):
 
1158
  _timings["mind"] = Lambda(_models, c_tree)
1159
  memotron(_models, c_tree, _session_id, _timings) # Append to garden history
1160
  # Reset turn-based data and preset terminal for next cycle
1161
+ _metatron_heartbeats, _heartbeats = 0, 0
1162
  reset_turn_content(tree=c_tree)
1163
  print(f"\n{c.inv} You: {c.res} ", end="", flush=True)
1164
  continue # Restart the while loop
1165
 
1166
  # ── Startup: Load memory capsules ────────────────────────────────────────
1167
+ if _metatron_heartbeats >= METATRON_METRONOME: # Timed loop
1168
+ if config.N_METATRON_TO_LOAD and _n_metatron_loaded < config.N_METATRON_TO_LOAD:
1169
+ _sensor_input = METATRON_TO_LOAD[_n_metatron_loaded]
1170
+ _n_metatron_loaded += 1 # Iterate over the memory capsules
1171
+ print(f"\n {c.inv} ── _n_metatron_loaded: {_n_metatron_loaded} _sensor_input: {_sensor_input} ──────────────────────────── {c.res}")
1172
 
1173
  # ── Z-factor sentience user input ────────────────────────────────────────
1174
  try:
1175
  _sensor_input = input_queue.get_nowait()
1176
+ _metatron_heartbeats, _heartbeats = 0, 0
1177
  except queue.Empty:
1178
  pass
1179
 
1180
+ # ── X-factor Awarenss and Y-factor Consciousness heartbeats ──────────────
1181
+ if _heartbeats >= AWARENESS_CONSCIOUSNESS_METRONOME:
1182
  # ── X-factor awareness cycle ─────────────────────────────────────────
1183
+ if not config.was_awareness_metronome:
1184
+ _metatron_heartbeats, _heartbeats = 0, 0
1185
  print(f"\n {c.inv} ── X-factor: Fetching awareness news ── {c.res}")
1186
  _news = fetch_awareness_news()
1187
  print(f"\n {c.green}── X-factor: _news:\n{_news}\n──────────────────────────{c.res}")
1188
  if _news:
1189
+ config.was_awareness_metronome = True
1190
  _sensor_input = _news # Use the sensor["Z"]["input"]
1191
  print(f"\n {c.inv} ── X-factor: awareness pipeline ── {c.res}")
1192
  # ── Y-factor consciousness cycle ─────────────────────────────────────
1193
+ elif config.was_awareness_metronome:
1194
+ config.was_awareness_metronome = False
1195
  print(f"\n {c.inv} ── Y-factor: consciousness self-reflection ── {c.res}")
1196
  _tree = "Y"
1197
  # ── Brain pipeline consciousness cycle ───────────────────────────
 
1199
  _timings["mind"] = Lambda(_models, _tree)
1200
  memotron(_models, _tree, _session_id, _timings) # Append to garden history
1201
  # Reset turn-based data and preset terminal for next cycle
1202
+ _metatron_heartbeats, _heartbeats = 0, 0
1203
  reset_turn_content(tree=_tree)
1204
  print(f"\n{c.inv} You: {c.res} ", end="", flush=True)
1205
  continue # Restart the while loop
 
1217
  except _Clear:
1218
  garden[_tree].clear()
1219
  # Reset turn-based data
1220
+ _metatron_heartbeats, _heartbeats = 0, 0
1221
  reset_turn_content()
1222
  print(f" {c.green}[*] History cleared. Models and session stay active.{c.res}")
1223
  print_banner(_tree, _session_id)
 
1238
  _timings["mind"] = Lambda(_models, _tree)
1239
 
1240
  # ── Startup memory capsules to load ───────────────────────────────────
1241
+ if config.N_METATRON_TO_LOAD and _n_metatron_loaded <= config.N_METATRON_TO_LOAD:
1242
+ print(f" {c.inv} ── _n_metatron_loaded: {_n_metatron_loaded} of {config.N_METATRON_TO_LOAD} ──────────────────────────── {c.res}")
1243
  _tree = "S" # Set to memorize as memory capsules in garden["C"]
1244
+ if _n_metatron_loaded == config.N_METATRON_TO_LOAD:
1245
+ _n_metatron_loaded += 1 # Advance to finish the startup sequence
1246
 
1247
  memotron(_models, _tree, _session_id, _timings) # Store the response
1248
  # Reset turn-based data and preset terminal for next cycle
1249
+ _metatron_heartbeats, _heartbeats = 0, 0
1250
  reset_turn_content() # Reset Z-factor data only
1251
  print(f"\n{c.inv} You: {c.res} ", end="", flush=True)
1252