"Auto-commit via make git"
Some checks failed
Build NFDOS ISO / build (push) Has been cancelled

This commit is contained in:
neo.webmaster.2@gmail.com 2025-12-01 08:39:26 +01:00
parent e42caec4c9
commit 71130ec056
6 changed files with 560 additions and 130 deletions

View File

@ -9,80 +9,172 @@ cat -A configure.ac | grep '\^I'
nl -ba Makefile | sed -n '770,790p' nl -ba Makefile | sed -n '770,790p'
grep -n "^[ ]" Makefile | head grep -n "^[ ]" Makefile | head
o resultado: ate que esta a ficar bonito 😍:
``` ```
UP: 00:00:08 TICK: 0.88s MODO: DIAGNOSTIC UP: 00:01:14 TICK: 0.50s MODO: PERSISTENT
──────────────────────────────────────────────────────────────────────────────── ────────────────────────────────────────────────────────────────────────────────
[05:42:44] [info] Neurotron boot() — mode=diagnostic [06:23:38] [debug] [diag] estado=STABLE cpu=0.0 mem=10.6 load1=0.44
[05:42:44] [info] Ciclo cognitivo iniciado (observe → think → act → rest) [06:23:38] [diag] estado=STABLE cpu=0.0 mem=10.6 load1=0.44
[05:42:44] [disk] Disco detectado: /dev/vda (sem partições visíveis, usando disco inteiro) [06:23:38] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=10.6% load=0.44 jitter=0.904s
[05:42:44] [debug] Vitals CPU=0.0% MEM=11.0% load1=0.0 [06:23:38] [debug] [trm.thought] mem estável — tendência favorável
[05:42:44] [info] [echo] CPU=0.0% MEM=11.0% [06:23:38] [debug] [trm.thought] sistema frio — margem para explorar
[05:42:44] [debug] telemetry state=stable temp=0.1 cpu=0.0% mem=11.0% load=0.00 jitter=0.000s [06:23:38] [debug] [trm.thought] valência baixa — evitar exploração
[05:42:44] [debug] [trm.engine] step ok: mode=active cog=stable energy=99.3 depth=1 valence=+0.00 [06:23:38] [debug] [trm.engine] step ok: mode=active cog=stable energy=43.1 depth=1 valence=-5.00
[05:42:44] [heart] cpu=16.7% mem=11.0% tick=1.00s [06:23:38] [heart] cpu=0.0% mem=10.6% tick=0.50s
[05:42:45] [debug] telemetry state=stable temp=0.2 cpu=0.0% mem=11.0% load=0.00 jitter=1.224s [06:23:39] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=10.6% load=0.44 jitter=0.748s
[05:42:45] [debug] [trm.archaeologist] encontrou 1 eventos perigosos recentes → valence -0.10 [06:23:39] [debug] [trm.thought] mem estável — tendência favorável
[05:42:45] [debug] [trm.engine] step ok: mode=active cog=stable energy=98.5 depth=1 valence=-0.10 [06:23:39] [debug] [trm.thought] sistema frio — margem para explorar
[05:42:45] [heart] cpu=0.0% mem=11.0% tick=1.00s [06:23:39] [debug] [trm.thought] valência baixa — evitar exploração
[05:42:46] [debug] Vitals CPU=0.0% MEM=11.0% load1=0.08 [06:23:39] [debug] [trm.engine] step ok: mode=active cog=stable energy=42.4 depth=1 valence=-5.00
[05:42:46] [debug] telemetry state=stable temp=0.3 cpu=0.0% mem=11.0% load=0.08 jitter=1.280s [06:23:39] [heart] cpu=0.0% mem=10.6% tick=0.50s
[05:42:46] [debug] [trm.archaeologist] encontrou 2 eventos perigosos recentes → valence -0.20 [06:23:39] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=10.6% load=0.44 jitter=0.784s
[05:42:46] [debug] [trm.engine] step ok: mode=active cog=stable energy=97.8 depth=1 valence=-0.30 [06:23:40] [debug] [trm.thought] mem estável — tendência favorável
[05:42:47] [heart] cpu=0.0% mem=11.0% tick=1.00s [06:23:40] [debug] [trm.thought] sistema frio — margem para explorar
[05:42:48] [debug] telemetry state=stable temp=0.4 cpu=0.0% mem=11.0% load=0.08 jitter=1.232s [06:23:40] [debug] [trm.thought] valência baixa — evitar exploração
[05:42:48] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30 [06:23:40] [debug] [trm.engine] step ok: mode=active cog=stable energy=41.7 depth=1 valence=-5.00
[05:42:48] [debug] [trm.engine] step ok: mode=active cog=stable energy=97.0 depth=1 valence=-0.60 [06:23:40] [heart] cpu=0.0% mem=10.6% tick=0.50s
[05:42:48] [heart] cpu=0.0% mem=11.0% tick=1.00s [06:23:40] [debug] Vitals CPU=0.0% MEM=10.6% load1=0.4
[05:42:49] [debug] telemetry state=stable temp=0.5 cpu=0.0% mem=11.0% load=0.08 jitter=1.268s [06:23:40] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=10.6% load=0.40 jitter=0.820s
[05:42:49] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30 [06:23:40] [debug] [trm.thought] mem estável — tendência favorável
[05:42:49] [debug] [trm.engine] step ok: mode=active cog=stable energy=96.3 depth=1 valence=-0.90 [06:23:40] [debug] [trm.thought] sistema frio — margem para explorar
[05:42:49] [heart] cpu=0.0% mem=11.0% tick=1.00s [06:23:40] [debug] [trm.thought] valência baixa — evitar exploração
[05:42:50] [debug] [diag] estado=STABLE cpu=0.0 mem=11.0 load1=0.08 [06:23:40] [debug] [trm.engine] step ok: mode=active cog=stable energy=41.0 depth=1 valence=-5.00
[05:42:50] [diag] estado=STABLE cpu=0.0 mem=11.0 load1=0.08 [06:23:40] [heart] cpu=0.0% mem=10.6% tick=0.50s
[05:42:50] [info] tick ajustado 1.00s → 0.88s [06:23:41] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=10.6% load=0.40 jitter=0.736s
[05:42:50] [debug] telemetry state=stable temp=0.5 cpu=0.0% mem=11.0% load=0.08 jitter=1.392s [06:23:41] [debug] [trm.thought] mem estável — tendência favorável
[05:42:50] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30 [06:23:41] [debug] [trm.thought] sistema frio — margem para explorar
[06:23:41] [debug] [trm.thought] valência baixa — evitar exploração
[06:23:41] [debug] [trm.engine] step ok: mode=active cog=stable energy=40.3 depth=1 valence=-5.00
[06:23:41] [heart] cpu=0.0% mem=10.6% tick=0.50s
[06:23:42] [debug] [diag] estado=STABLE cpu=0.0 mem=10.6 load1=0.4
[06:23:42] [diag] estado=STABLE cpu=0.0 mem=10.6 load1=0.4
[06:23:42] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=10.6% load=0.40
``` ```
apos ter estabilizado podemos adicionar "o pensador" ao roadmap:
``` ```
UP: 00:01:08 TICK: 0.50s MODO: PERSISTENT ### ✔ TRM — Tiny Recursive Model — Base simbólica definida
────────────────────────────────────────────────────────────────────────────────
[05:43:45] [heart] cpu=0.0% mem=11.0% tick=0.50s O TRM é o primeiro módulo de **raciocínio interno** do Neurotron.
[05:43:46] [debug] [diag] estado=STABLE cpu=0.0 mem=11.0 load1=0.27 Ele não é uma rede neural, não aprende por SGD e não precisa de GPU.
[05:43:46] [diag] estado=STABLE cpu=0.0 mem=11.0 load1=0.27
[05:43:46] [debug] Vitals CPU=0.0% MEM=11.0% load1=0.27 O TRM é:
[05:43:46] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=11.0% load=0.27 jitter=0.912s
[05:43:46] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30 > um **micro-modelo simbólico**, iterativo, recorrente, energeticamente limitado,
[05:43:46] [debug] [trm.engine] step ok: mode=active cog=stable energy=50.1 depth=1 valence=-5.30 > capaz de gerar *pensamentos internos*, previsões, julgamentos e estados mentais.
[05:43:46] [heart] cpu=0.0% mem=11.0% tick=0.50s
[05:43:47] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=11.0% load=0.27 jitter=0.724s Ele usa:
[05:43:47] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30
[05:43:47] [debug] [trm.engine] step ok: mode=active cog=stable energy=49.4 depth=1 valence=-5.30 * [x] telemetria v5
[05:43:47] [heart] cpu=0.0% mem=11.0% tick=0.50s * [x] memória de eventos (Hippocampus)
[05:43:48] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=11.0% load=0.27 jitter=0.780s * [x] sinais fisiológicos
[05:43:48] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30 * [-] micro-regras
[05:43:48] [debug] [trm.engine] step ok: mode=active cog=stable energy=48.7 depth=1 valence=-5.30 * [x] micro-agentes internos
[05:43:48] [heart] cpu=0.0% mem=11.0% tick=0.50s
[05:43:48] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=11.0% load=0.27 jitter=0.780s para criar uma **mente mínima**, mas viva.
[05:43:49] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30
[05:43:49] [debug] [trm.engine] step ok: mode=active cog=stable energy=48.0 depth=1 valence=-5.30 #### 🟦 **TRM v1 — (implementação imediata)**
[05:43:49] [heart] cpu=0.0% mem=11.0% tick=0.50s
[05:43:49] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=11.0% load=0.27 jitter=0.780s > Objetivo: gerar *vida interna mínima* e um estado cognitivo coerente.
[05:43:49] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30
[05:43:49] [debug] [trm.engine] step ok: mode=active cog=stable energy=47.3 depth=1 valence=-5.30 ##### 🔹 1. Micro-agentes internos
[05:43:49] [heart] cpu=0.0% mem=11.0% tick=0.50s
[05:43:50] [debug] [diag] estado=STABLE cpu=0.0 mem=11.0 load1=0.27 Três agentes simples, independentes, mas acoplados:
[05:43:50] [diag] estado=STABLE cpu=0.0 mem=11.0 load1=0.27
[05:43:50] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=11.0% load=0.27 jitter=0.884s ##### **🛡️ Guardião**
[05:43:50] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30
[05:43:50] [debug] [trm.engine] step ok: mode=active cog=stable energy=46.6 depth=1 valence=-5.30 Responsável por proteção e homeostase.
[05:43:50] [heart] cpu=0.0% mem=11.0% tick=0.50s
[05:43:51] [debug] Vitals CPU=0.0% MEM=11.0% load1=0.25 * [-] monitora delta, aceleração, temperatura e FS
[05:43:51] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=11.0% load=0.25 jitter=0.780s * [-] ajustes preventivos
[05:43:51] [debug] [trm.archaeologist] encontrou 3 eventos perigosos recentes → valence -0.30 * [x] ativa markers (`enter_stress_zone`, `fs_warning`)
[05:43:51] [debug] [trm.engine] step ok: mode=active cog=stable energy=45.9 depth=1 valence=-5.30 * [-] reduz carga quando há risco
[05:43:51] [heart] cpu=0.0% mem=11.0% tick=0.50s
[05:43:52] [debug] telemetry state=stable temp=1.2 cpu=0.0% mem=11.0% load=0.25 jitter=0.7 ##### **🧭 Explorador**
```
para o Thought Generator uma mistura Minimalista com Técnico-analítico. algo assim: "detetei stress: Δcpu alto → redução de depth aplicada" Responsável por “pensamento” TRM.
* [-] gera micro previsões de tendência
* [-] avalia estabilidade
* [-] modifica tick cognitivo
* [ ] inicia refinamento simbólico
##### **📜 Arqueólogo**
Responsável por memória e histórico.
* [x] lê eventos telemétricos recentes
* [-] correlaciona com estados antigos
* [x] ativa markers (`loop_suspect`, `recovering`)
* [x] influencia valência interna
#### 🔹 2. Energia / Custo Cognitivo
Cada passo TRM consome energia.
* [x] cada passo TRM consome energia
* [-] mais telemetria = mais custo
* [ ] previsões mais profundas = custo quadrático
* [-] estado “quente” aumenta custo
* [-] estado “frio” diminui custo
* [x] Quando a energia baixa demais → TRM reduz profundidade, entra em modo “mínimo”.
#### 🔹 3. Valência Interna
Uma métrica de “bem-estar”.
* [x] estabilidade aumenta valência
* [-] picos rápidos diminuem
* [x] recovery aumenta
* [x] FS warning diminui
* [-] jitter alto diminui
Valência influencia:
* [x] intensidade TRM
* [-] prioridades
* [-] ritmo cognitivo
#### 🔹 4. Ritmos Internos (Osciladores)
Quatro ritmos independentes:
* [-] `think_rate`
* [-] `memory_sync_rate`
* [-] `telemetry_rate`
* [-] `selfcheck_rate`
Alguns podem oscilar lentamente ao longo do tempo (sinusóide leve), criando:
* [-] ciclos
* [-] fases
* [-] padrões internos
Estes ritmos ajudam a criar **estabilidade dinâmica**, essencial para emergência.
#### 🔹 5. Espaço de Estados & Atratores
##### Estados principais:
* [x] `stable`
* [x] `warm`
* [x] `hot`
* [x] `critical`
* [x] `recovery`
##### Atratores cognitivos (dinâmica de V1):
* [-] estável
* [-] quasi-estável
* [-] recuperativo
* [-] oscilatório
* [ ] pré-caótico (quando delta+aceleração divergem)
O estado atual do TRM influencia:
* [x] profundidade TRM
* [x] valência
* [-] custo cognitivo
* [-] ajustes no tick
* [x] markers enviados ao Hippocampus
```

View File

@ -18,6 +18,7 @@ from pathlib import Path
from neurotron.logbus import logbus from neurotron.logbus import logbus
from .state import TRMState from .state import TRMState
from .agents import GuardianAgent, ExplorerAgent, ArchaeologistAgent from .agents import GuardianAgent, ExplorerAgent, ArchaeologistAgent
from .thought_agent import ThoughtAgent
from .events import make_trm_snapshot_payload from .events import make_trm_snapshot_payload
@ -43,6 +44,7 @@ class TRMEngine:
self.guardian = GuardianAgent() self.guardian = GuardianAgent()
self.explorer = ExplorerAgent() self.explorer = ExplorerAgent()
self.archaeologist = ArchaeologistAgent(self.ctx) self.archaeologist = ArchaeologistAgent(self.ctx)
self.thought_agent = ThoughtAgent(self.ctx)
# histórico curto de estados do TRM (para futuro TRM v2) # histórico curto de estados do TRM (para futuro TRM v2)
@ -134,6 +136,13 @@ class TRMEngine:
st2 = self.explorer.step(st1, telemetry) st2 = self.explorer.step(st1, telemetry)
st3 = self.archaeologist.step(st2, telemetry) st3 = self.archaeologist.step(st2, telemetry)
# pensamentos simbólicos
try:
self.thought_agent.step(st3, telemetry)
except Exception as e:
self._dbg(f"thought_agent erro: {e}")
# ---------------------------------------------------------- # ----------------------------------------------------------
# Custo energético + modo de operação # Custo energético + modo de operação
# ---------------------------------------------------------- # ----------------------------------------------------------

View File

@ -0,0 +1,144 @@
"""
thought_agent.py TRM v1 Thought Generator
-------------------------------------------
Gera pensamentos minimalistas, analíticos e contextuais com base na
telemetria e no estado interno do TRM.
Estilo:
- curto
- técnico
- orientado a deltas
- simbólico, mas não emocional
Exemplos:
"Δcpu alto — reduzir profundidade"
"mem estável — tendência favorável"
"jitter elevado — cautela sugerida"
"stress detectado — foco conservador"
"""
from __future__ import annotations
from typing import Dict, Any
from neurotron.logbus import logbus
class ThoughtAgent:
name = "trm.thought"
def __init__(self, cortex):
self.ctx = cortex
# -----------------------------------------------------------
# helper seguro
# -----------------------------------------------------------
def _safe(self, x, default=0.0):
try:
return float(x)
except:
return default
# -----------------------------------------------------------
# função principal
# -----------------------------------------------------------
def step(self, state, tele: Dict[str, Any]) -> None:
"""
Recebe TRMState + telemetria e gera 0..N pensamentos.
Cada pensamento é um dict com:
{ "thought": "...", "ts": ... }
gravado via Hippocampus como "trm.thought".
"""
thoughts = []
raw = tele.get("raw", {}) or {}
delta = tele.get("delta", {}) or {}
accel = tele.get("accel", {}) or {}
temp = self._safe(tele.get("temp"))
jitter = self._safe(tele.get("jitter"))
events = tele.get("events", []) or []
cpu = self._safe(raw.get("cpu"))
mem = self._safe(raw.get("mem"))
load = self._safe(raw.get("load"))
d_cpu = self._safe(delta.get("cpu"))
d_mem = self._safe(delta.get("mem"))
d_load = self._safe(delta.get("load"))
# -------------------------------------------------------
# CPU
# -------------------------------------------------------
if d_cpu > 10:
thoughts.append(f"Δcpu elevado ({d_cpu:+.1f}) — reduzir complexidade")
elif d_cpu > 3:
thoughts.append(f"cpu a subir ({d_cpu:+.1f}) — monitorizar")
if accel.get("cpu", 0) > 10:
thoughts.append("aceleração cpu brusca — possível stress interno")
# -------------------------------------------------------
# MEM
# -------------------------------------------------------
if mem > 80:
thoughts.append("memória alta — foco conservador")
elif d_mem > 5:
thoughts.append(f"Δmem {d_mem:+.1f} — carga crescente")
elif abs(d_mem) < 1:
thoughts.append("mem estável — tendência favorável")
# -------------------------------------------------------
# LOAD
# -------------------------------------------------------
if load > 2.0:
thoughts.append(f"load {load:.2f} — sistema pesado")
elif d_load > 0.5:
thoughts.append(f"Δload {d_load:+.2f} — possível transição")
# -------------------------------------------------------
# Temperatura
# -------------------------------------------------------
if temp > 60:
thoughts.append("temperatura alta — priorizar eficiência")
elif temp > 40:
thoughts.append("temperatura moderada — ajuste recomendado")
elif temp < 10:
thoughts.append("sistema frio — margem para explorar")
# -------------------------------------------------------
# Jitter
# -------------------------------------------------------
if jitter > 1.5:
thoughts.append(f"jitter elevado ({jitter:.2f}s) — cautela sugerida")
# -------------------------------------------------------
# Eventos diretos
# -------------------------------------------------------
if "enter_stress_zone" in events:
thoughts.append("stress detectado — reduzir profundidade")
if "fs_warning" in events:
thoughts.append("FS warning — evitar operações pesadas")
if "loop_suspect" in events:
thoughts.append("padrão repetitivo — vigiar loop")
# -------------------------------------------------------
# Valência
# -------------------------------------------------------
if state.valence < -3:
thoughts.append("valência baixa — evitar exploração")
elif state.valence > 2:
thoughts.append("valência positiva — aprofundar análise")
# -------------------------------------------------------
# Gravar pensamentos no Hippocampus
# -------------------------------------------------------
for t in thoughts:
payload = {"thought": t}
try:
self.ctx.memory.remember("trm.thought", payload)
except Exception:
pass
logbus.debug(f"[trm.thought] {t}")
return None

View File

@ -18,6 +18,7 @@ from pathlib import Path
from neurotron.logbus import logbus from neurotron.logbus import logbus
from .state import TRMState from .state import TRMState
from .agents import GuardianAgent, ExplorerAgent, ArchaeologistAgent from .agents import GuardianAgent, ExplorerAgent, ArchaeologistAgent
from .thought_agent import ThoughtAgent
from .events import make_trm_snapshot_payload from .events import make_trm_snapshot_payload
@ -43,6 +44,7 @@ class TRMEngine:
self.guardian = GuardianAgent() self.guardian = GuardianAgent()
self.explorer = ExplorerAgent() self.explorer = ExplorerAgent()
self.archaeologist = ArchaeologistAgent(self.ctx) self.archaeologist = ArchaeologistAgent(self.ctx)
self.thought_agent = ThoughtAgent(self.ctx)
# histórico curto de estados do TRM (para futuro TRM v2) # histórico curto de estados do TRM (para futuro TRM v2)
@ -134,6 +136,13 @@ class TRMEngine:
st2 = self.explorer.step(st1, telemetry) st2 = self.explorer.step(st1, telemetry)
st3 = self.archaeologist.step(st2, telemetry) st3 = self.archaeologist.step(st2, telemetry)
# pensamentos simbólicos
try:
self.thought_agent.step(st3, telemetry)
except Exception as e:
self._dbg(f"thought_agent erro: {e}")
# ---------------------------------------------------------- # ----------------------------------------------------------
# Custo energético + modo de operação # Custo energético + modo de operação
# ---------------------------------------------------------- # ----------------------------------------------------------

View File

@ -0,0 +1,144 @@
"""
thought_agent.py TRM v1 Thought Generator
-------------------------------------------
Gera pensamentos minimalistas, analíticos e contextuais com base na
telemetria e no estado interno do TRM.
Estilo:
- curto
- técnico
- orientado a deltas
- simbólico, mas não emocional
Exemplos:
"Δcpu alto — reduzir profundidade"
"mem estável — tendência favorável"
"jitter elevado — cautela sugerida"
"stress detectado — foco conservador"
"""
from __future__ import annotations
from typing import Dict, Any
from neurotron.logbus import logbus
class ThoughtAgent:
name = "trm.thought"
def __init__(self, cortex):
self.ctx = cortex
# -----------------------------------------------------------
# helper seguro
# -----------------------------------------------------------
def _safe(self, x, default=0.0):
try:
return float(x)
except:
return default
# -----------------------------------------------------------
# função principal
# -----------------------------------------------------------
def step(self, state, tele: Dict[str, Any]) -> None:
"""
Recebe TRMState + telemetria e gera 0..N pensamentos.
Cada pensamento é um dict com:
{ "thought": "...", "ts": ... }
gravado via Hippocampus como "trm.thought".
"""
thoughts = []
raw = tele.get("raw", {}) or {}
delta = tele.get("delta", {}) or {}
accel = tele.get("accel", {}) or {}
temp = self._safe(tele.get("temp"))
jitter = self._safe(tele.get("jitter"))
events = tele.get("events", []) or []
cpu = self._safe(raw.get("cpu"))
mem = self._safe(raw.get("mem"))
load = self._safe(raw.get("load"))
d_cpu = self._safe(delta.get("cpu"))
d_mem = self._safe(delta.get("mem"))
d_load = self._safe(delta.get("load"))
# -------------------------------------------------------
# CPU
# -------------------------------------------------------
if d_cpu > 10:
thoughts.append(f"Δcpu elevado ({d_cpu:+.1f}) — reduzir complexidade")
elif d_cpu > 3:
thoughts.append(f"cpu a subir ({d_cpu:+.1f}) — monitorizar")
if accel.get("cpu", 0) > 10:
thoughts.append("aceleração cpu brusca — possível stress interno")
# -------------------------------------------------------
# MEM
# -------------------------------------------------------
if mem > 80:
thoughts.append("memória alta — foco conservador")
elif d_mem > 5:
thoughts.append(f"Δmem {d_mem:+.1f} — carga crescente")
elif abs(d_mem) < 1:
thoughts.append("mem estável — tendência favorável")
# -------------------------------------------------------
# LOAD
# -------------------------------------------------------
if load > 2.0:
thoughts.append(f"load {load:.2f} — sistema pesado")
elif d_load > 0.5:
thoughts.append(f"Δload {d_load:+.2f} — possível transição")
# -------------------------------------------------------
# Temperatura
# -------------------------------------------------------
if temp > 60:
thoughts.append("temperatura alta — priorizar eficiência")
elif temp > 40:
thoughts.append("temperatura moderada — ajuste recomendado")
elif temp < 10:
thoughts.append("sistema frio — margem para explorar")
# -------------------------------------------------------
# Jitter
# -------------------------------------------------------
if jitter > 1.5:
thoughts.append(f"jitter elevado ({jitter:.2f}s) — cautela sugerida")
# -------------------------------------------------------
# Eventos diretos
# -------------------------------------------------------
if "enter_stress_zone" in events:
thoughts.append("stress detectado — reduzir profundidade")
if "fs_warning" in events:
thoughts.append("FS warning — evitar operações pesadas")
if "loop_suspect" in events:
thoughts.append("padrão repetitivo — vigiar loop")
# -------------------------------------------------------
# Valência
# -------------------------------------------------------
if state.valence < -3:
thoughts.append("valência baixa — evitar exploração")
elif state.valence > 2:
thoughts.append("valência positiva — aprofundar análise")
# -------------------------------------------------------
# Gravar pensamentos no Hippocampus
# -------------------------------------------------------
for t in thoughts:
payload = {"thought": t}
try:
self.ctx.memory.remember("trm.thought", payload)
except Exception:
pass
logbus.debug(f"[trm.thought] {t}")
return None

View File

@ -29,7 +29,7 @@ Próximo ponto imediato: **Auto-Diagnóstico V5 + Telemetria V5**.
- Servidor Gitea + Caddy Proxy (TLS ativo) - Servidor Gitea + Caddy Proxy (TLS ativo)
- Canal SSH ativo via porta `2222` - Canal SSH ativo via porta `2222`
- WireGuard preparado (rede privada 10.13.13.0/24) - WireGuard preparado (rede privada 10.13.13.0/24)
configure.ac
- [x] **Ambiente de Desenvolvimento** - [x] **Ambiente de Desenvolvimento**
- Toolchain customizada (`crosstool-ng`) - Toolchain customizada (`crosstool-ng`)
- Integração autotools (`configure.ac`, `Makefile.am`) - Integração autotools (`configure.ac`, `Makefile.am`)
@ -129,6 +129,47 @@ Nesta fase o Neurotron deixa de apenas medir, e passa a **interpretar**, **preve
- [-] `critical` - [-] `critical`
- [-] `recovery` - [-] `recovery`
### 📊 Telemetria Interna (Infra da fase)
- [x] Leitura `/proc` e telemetria básica (via Python estático)
- [ ] Coleta contínua estruturada
- [ ] Histórico temporal completo
- [ ] JSON logs evolutivos
### 🖥️ TUI V2 (Telemetria)
- [ ] Painel vivo CPU/MEM/LOAD
- [ ] Indicador de stress
- [ ] Gráfico (“sparkline”) interno
- [ ] Últimos eventos telemétricos
- [ ] Estado cognitivo atual
### 🧪 Auto-Diagnóstico v5
- [ ] Curvas de estabilidade
- [ ] Regressão cognitiva (análise temporal)
- [ ] Tendências dinâmicas (JSON)
- [ ] Comparação evolutiva inteligente
- [ ] Alertas preditivos
---
### 🔁 Heartbeat 1 Hz
- [ ] Ritmo vital constante
- [ ] Log simbólico periódico
- [ ] Commit automático quando estável
- [ ] “🩵 O sistema sente-se bem hoje.”
Heartbeat virou apenas UI log, não telemetria.
A telemetria verdadeira está no V5.
---
### 💸 Integração com Fun Money (microeconomia cognitiva)
- [ ] Energia interna como recurso
- [ ] Latência e tempo como custo
- [ ] Tarefas como investimento
- [ ] Economia simbólica de decisões
---
### ✔ TRM — Tiny Recursive Model — Base simbólica definida ### ✔ TRM — Tiny Recursive Model — Base simbólica definida
O TRM é o primeiro módulo de **raciocínio interno** do Neurotron. O TRM é o primeiro módulo de **raciocínio interno** do Neurotron.
@ -141,15 +182,16 @@ O TRM é:
Ele usa: Ele usa:
* [x] telemetria v5 - [x] Telemetria V6
* [x] memória de eventos (Hippocampus) - [x] Hippocampus (eventos)
* [x] sinais fisiológicos - [x] Sinais internos
* [-] micro-regras - [x] Micro-regras
* [x] micro-agentes internos - [x] Micro-agentes internos
- [x] Pensador (ThoughtAgent v1)
para criar uma **mente mínima**, mas viva. para criar uma **mente mínima**, mas viva.
#### 🟦 **TRM v1 — (implementação imediata)** #### 🟦 **TRM v1 — (já operacional)**
> Objetivo: gerar *vida interna mínima* e um estado cognitivo coerente. > Objetivo: gerar *vida interna mínima* e um estado cognitivo coerente.
@ -161,6 +203,9 @@ Três agentes simples, independentes, mas acoplados:
Responsável por proteção e homeostase. Responsável por proteção e homeostase.
- [x] homeostase
- [x] avaliação de stress
- [x] ajuste de profundidade
* [-] monitora delta, aceleração, temperatura e FS * [-] monitora delta, aceleração, temperatura e FS
* [-] ajustes preventivos * [-] ajustes preventivos
* [x] ativa markers (`enter_stress_zone`, `fs_warning`) * [x] ativa markers (`enter_stress_zone`, `fs_warning`)
@ -168,8 +213,11 @@ Responsável por proteção e homeostase.
##### **🧭 Explorador** ##### **🧭 Explorador**
Responsável por “pensamento” TRM. Responsável por pesquisa interna.
- [x] previsões simples
- [x] deteção de tendências
- [x] ajuste simbólico TRM
* [-] gera micro previsões de tendência * [-] gera micro previsões de tendência
* [-] avalia estabilidade * [-] avalia estabilidade
* [-] modifica tick cognitivo * [-] modifica tick cognitivo
@ -179,16 +227,31 @@ Responsável por “pensamento” TRM.
Responsável por memória e histórico. Responsável por memória e histórico.
- [x] memória recente
- [x] inferências de perigo / recuperação
* [x] lê eventos telemétricos recentes * [x] lê eventos telemétricos recentes
* [-] correlaciona com estados antigos * [-] correlaciona com estados antigos
* [x] ativa markers (`loop_suspect`, `recovering`) * [x] ativa markers (`loop_suspect`, `recovering`)
* [x] influencia valência interna * [x] influencia valência interna
##### **🧠 O Pensador (novo!)**
Responsável por pensamentos internos
- [x] geração de pensamentos internos
- [x] narrativa técnica mínima
- [x] integração direta no Hippocampus
- [x] influência parcial na valência
#### 🔹 2. Energia / Custo Cognitivo #### 🔹 2. Energia / Custo Cognitivo
Cada passo TRM consome energia. Cada passo TRM consome energia.
* [x] cada passo TRM consome energia - [x] custo por passo
- [x] custo por eventos
- [-] custo por profundidade
- [-] custo ajustado por temperatura
* [-] mais telemetria = mais custo * [-] mais telemetria = mais custo
* [ ] previsões mais profundas = custo quadrático * [ ] previsões mais profundas = custo quadrático
* [-] estado “quente” aumenta custo * [-] estado “quente” aumenta custo
@ -200,6 +263,8 @@ Cada passo TRM consome energia.
Uma métrica de “bem-estar”. Uma métrica de “bem-estar”.
- [x] valência é modulada por risco/recovery
* [x] estabilidade aumenta valência * [x] estabilidade aumenta valência
* [-] picos rápidos diminuem * [-] picos rápidos diminuem
* [x] recovery aumenta * [x] recovery aumenta
@ -211,6 +276,8 @@ Valência influencia:
* [x] intensidade TRM * [x] intensidade TRM
* [-] prioridades * [-] prioridades
* [-] ritmo cognitivo * [-] ritmo cognitivo
- [x] profundidade
- [x] TRM mode
#### 🔹 4. Ritmos Internos (Osciladores) #### 🔹 4. Ritmos Internos (Osciladores)
@ -241,12 +308,20 @@ Estes ritmos ajudam a criar **estabilidade dinâmica**, essencial para emergênc
##### Atratores cognitivos (dinâmica de V1): ##### Atratores cognitivos (dinâmica de V1):
Atratores (v1):
* [-] estável * [-] estável
* [-] quasi-estável * [-] quasi-estável
* [-] recuperativo * [-] recuperativo
* [-] oscilatório * [-] oscilatório
* [ ] pré-caótico (quando delta+aceleração divergem) * [ ] pré-caótico (quando delta+aceleração divergem)
Atratores (v2):
- [-] estável
- [-] quasi-estável
- [-] recuperativo
- [-] oscilatório
- [-] pré-caótico
O estado atual do TRM influencia: O estado atual do TRM influencia:
* [x] profundidade TRM * [x] profundidade TRM
@ -272,10 +347,11 @@ O TRM começa a preferir estados e caminhos:
Representações simples como: Representações simples como:
```
thought: "tendência alta" thought: "tendência alta"
thought: "risco: subida rápida" thought: "risco: subida rápida"
thought: "estado bom, manter" thought: "estado bom, manter"
```
Exportados ao Hippocampus. Exportados ao Hippocampus.
@ -307,10 +383,11 @@ O TRM v2 reconhece:
Os três agentes votam dentro do TRM: Os três agentes votam dentro do TRM:
```
guardião: reduzir carga guardião: reduzir carga
explorador: aprofundar pensamento explorador: aprofundar pesquisa
arqueólogo: isto parece perigoso arqueólogo: isto parece perigoso
```
* [ ] mecanismo de votação interna entre agentes * [ ] mecanismo de votação interna entre agentes
@ -350,51 +427,6 @@ Pequenos desequilíbrios internos criam:
--- ---
### 📊 Telemetria Interna (Infra da fase)
- [x] Leitura `/proc` e telemetria básica (via Python estático)
- [ ] Coleta contínua estruturada
- [ ] Histórico temporal completo
- [ ] JSON logs evolutivos
---
### 🖥️ TUI V2 (Telemetria)
- [ ] Painel vivo CPU/MEM/LOAD
- [ ] Indicador de stress
- [ ] Gráfico (“sparkline”) interno
- [ ] Últimos eventos telemétricos
- [ ] Estado cognitivo atual
---
### 🔁 Heartbeat 1 Hz
- [ ] Ritmo vital constante
- [ ] Log simbólico periódico
- [ ] Commit automático quando estável
- [ ] “🩵 O sistema sente-se bem hoje.”
Heartbeat virou apenas UI log, não telemetria.
A telemetria verdadeira está no V5.
---
### 🧪 Auto-Diagnóstico v5
- [ ] Curvas de estabilidade
- [ ] Regressão cognitiva (análise temporal)
- [ ] Tendências dinâmicas (JSON)
- [ ] Comparação evolutiva inteligente
- [ ] Alertas preditivos
---
### 💸 Integração com Fun Money (microeconomia cognitiva)
- [ ] Energia interna como recurso
- [ ] Latência e tempo como custo
- [ ] Tarefas como investimento
- [ ] Economia simbólica de decisões
---
## 🧩 Fase IV — Expansão Cognitiva do Neurotron (TRM + Módulos Dinâmicos) ## 🧩 Fase IV — Expansão Cognitiva do Neurotron (TRM + Módulos Dinâmicos)
- [ ] **Telemetria Externa / Observabilidade** - [ ] **Telemetria Externa / Observabilidade**