119 lines
2.8 KiB
Python
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()
|
|
|