neurotron/src/neurotron_config.py
2025-11-15 04:20:00 +01:00

119 lines
2.8 KiB
Python

"""
🧠 neurotron_config.py
NFDOS — Núcleo de parâmetros vitais do Neurotron
------------------------------------------------
Nova versão para o layout:
.../neurotron/
├── src/
└── data/
"""
from pathlib import Path
# ======================================
# 🌐 Diretórios e Caminhos
# ======================================
# Diretório deste ficheiro → .../neurotron/src/neurotron_config.py
THIS_FILE = Path(__file__).resolve()
SRC_DIR = THIS_FILE.parent # .../neurotron/src
BASE_DIR = SRC_DIR.parent # .../neurotron/
# Onde vivem as configs/logs da “instalação”
DATA_DIR = BASE_DIR / "data"
CONFIG_DIR = DATA_DIR / "configs"
LOG_DIR = DATA_DIR / "logs"
# Modo persistente do NFDOS (quando /var/neurotron está montado)
RUNTIME_DIR = Path("/var/run/neurotron")
MOUNT_POINT = "/var/neurotron"
# Candidatos para disco persistente do hipocampo
DISK_CANDIDATES = [
"/dev/vda", "/dev/vdb",
"/dev/sda", "/dev/hda"
]
# ======================================
# ⚙️ Parâmetros Cognitivos Principais
# ======================================
NEUROTRON_TICK = 1.0
NEUROTRON_VERBOSITY = 1
NEUROTRON_MODE = "diagnostic"
NEUROTRON_HOMEOSTASIS = 85.0
HOMEOSTASIS_CPU_WARN = 70.0
HOMEOSTASIS_CPU_ALERT = 85.0
HOMEOSTASIS_MEM_WARN = 75.0
HOMEOSTASIS_MEM_ALERT = 90.0
HOMEOSTASIS_LOAD_WARN = 1.5
HOMEOSTASIS_LOAD_ALERT = 3.0
NEUROTRON_DIAG_EVERY_TICKS = 5
NEUROTRON_TICK_MIN = 0.5
NEUROTRON_TICK_MAX = 3.0
NEUROTRON_TICK_STEP = 0.25
NEUROTRON_SEED = 42
NEUROTRON_MEMORY_SIZE = 256 # KB
# ======================================
# 🧩 Parâmetros de Subsistemas
# ======================================
CORTEX_MAX_THREADS = 1
CORTEX_LOOP_DELAY = 0.1
HIPPOCAMPUS_LOG_RETENTION = 100
HIPPOCAMPUS_AUTOSAVE = True
MOTOR_OUTPUT_DEVICE = "console"
MOTOR_SHOW_SYMBOLS = True
PERCEPTION_CPU_SOURCE = "/proc/stat"
PERCEPTION_MEM_SOURCE = "/proc/meminfo"
PERCEPTION_UPDATE_INTERVAL = 2.0
# ======================================
# 🧠 Parâmetros futuros
# ======================================
NEUROTRON_EXPANSION_MODE = "none"
NEUROTRON_DATASET_PATH = DATA_DIR
NEUROTRON_HISTORY_KEEP = 8
NEUROTRON_DIAG_SCHEMA = "v4"
HEARTBEAT_ENABLED = True
HEARTBEAT_STYLE = "compact"
NEUROTRON_THRESHOLDS = {
"cpu_high": 85.0,
"mem_high": 90.0,
"load1_high": 2.0,
}
TELEMETRY_MAXLEN = 64
TELEMETRY_FLUSH_EVERY_TICKS = 5
# ======================================
# 🧭 Utilitário
# ======================================
def show_config():
"""Mostra a configuração atual do Neurotron (apenas NEUROTRON_*)"""
import json
cfg = {
k: v
for k, v in globals().items()
if k.startswith("NEUROTRON_")
}
print(json.dumps(cfg, indent=2, default=str))
if __name__ == "__main__":
show_config()