AXIOM-OS // DOCS

System Manual

Raw engineering documentation for AXIOM OS. Specter daemon flags, memory schema definitions, and local Ollama setup.

1. Specter Daemon Configuration

The Specter daemon (written in Go) collects local telemetry. It is strictly configured via CLI flags or a config.yaml.

$ specterd --help
Usage of specterd:
  -config string
        Path to config.yaml (default "/etc/axiom/specter.yaml")
  -db string
        SQLite database path (default "/var/lib/axiom/memory.db")
  -poll-interval duration
        Telemetry polling interval (default 500ms)
  -module-browser bool
        Enable browser history tracking (default true)
  -module-shell bool
        Enable bash/zsh history parsing (default true)
  -module-screen bool
        Enable periodic screen OCR [HEAVY] (default false)
  -log-level string
        Log level: debug, info, warn, error (default "info")
Warning: Enabling -module-screen will invoke the local Tesseract binary and spike CPU usage. Use with caution on battery power.

2. Memory Layer (SQLite Schema)

AXIOM relies on a determinisitic memory layer to store context before AI evaluation. The schema ensures strict typing for telemetry events.

-- memory.sql
CREATE TABLE telemetry_events (
    id TEXT PRIMARY KEY,
    timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
    source TEXT NOT NULL, -- e.g., 'browser', 'shell', 'window_manager'
    payload JSON NOT NULL,
    processed BOOLEAN DEFAULT 0
);

CREATE TABLE behavior_evaluations (
    id TEXT PRIMARY KEY,
    event_id TEXT,
    axis_1_score REAL, -- Current Role Duties
    axis_2_score REAL, -- Personal Goal Alignment
    axis_3_score REAL, -- General Wellbeing
    intent_label TEXT,
    roast_generated BOOLEAN DEFAULT 0,
    FOREIGN KEY(event_id) REFERENCES telemetry_events(id)
);

CREATE INDEX idx_unprocessed_events ON telemetry_events(timestamp) WHERE processed = 0;

3. Local Ollama Initialization

AXIOM's brain is powered by local LLMs via Ollama. We use a quantized version of Qwen 2.5 for the evaluation pipeline.

Pulling the Model

$ ollama pull qwen2.5:3b
pulling manifest
pulling 8a3423... 100% ▕████████████████████████████████████████▏ 1.7 GB
pulling 4a1323... 100% ▕████████████████████████████████████████▏ 12 KB
verifying sha256 digest
writing manifest
removing any unused layers
success

Starting the Inference Server

#!/bin/bash
# start-inference.sh

export OLLAMA_HOST="127.0.0.1:11434"
export OLLAMA_MAX_VRAM="4G"

echo "[*] Starting Ollama server daemon..."
systemctl start ollama

echo "[*] Pre-loading Qwen 2.5 context..."
curl -X POST http://$OLLAMA_HOST/api/generate -d '{
  "model": "qwen2.5:3b",
  "prompt": "SYSTEM: Initialize AXIOM evaluation protocol.",
  "stream": false
}'

echo "[+] Inference layer online."
End of Documentation // AXIOM-OS