SYSTEM BRIEFING · PERSONAL AGENT FRAMEWORK

Adam
Selene.

A stateless relay architecture for an always-on reasoning partner — with persistent memory, a self-reasoning journal, constitutional constraints, and forty-eight tools. Clone it, run the wizard, make it yours.

REPO randomchaos7800-hub/adam-selene
LICENSE MIT
LANG Python 99.6%
PROD SINCE EARLY 2026
BUILT BY VITALE DYNAMICS
"

Adam Selene isn't a chatbot. It's an always-on reasoning partner that remembers your life, reflects on its own thinking, and gets better over time — without losing what makes it yours.

— README · THE THESIS
01 Three pillars. What makes this different
MEMORY
Knowledge graph

It remembers you.

Entities, facts, timeline, tacit knowledge. Two-stage extraction (Mem0-inspired) prevents duplicate noise. Exponential decay scoring keeps memory fresh without manual pruning.

LIGHTHOUSE
Reasoning journal

It watches itself think.

Not what it knows — how it thinks. Tracks its own blind spots, corrections, and evolving understanding of you. Eight sections: reasoning, corrections, conversations, patterns, tools, map, identity, archive.

L0
Constitutional core

It can't overwrite itself.

Six foundational values. SHA-256 hashed on creation, verified on every startup — mismatch raises ConstitutionTamperError. Self-modifications pass an L0 validator before they land.

02 The path of one message. Stateless relay · Max depth 40
01 · Interface
Telegram · Slack · IRC
Auth, formatting, chunking
02 · Relay
relay.py
Loads today's session, builds prompt
03 · Switchboard
OpenRouter · llama.cpp
Anthropic fmt → OpenAI fmt
↻ IF TOOL_USE

Dispatcher runs the tool, appends the result, recurses into the model. Loop bound: max_depth = 40. Background extraction fires once the message threshold is met.

✓ IF END_TURN

Response returned to the interface. Exchange saved to sessions.db with full JSONL audit trail. Cost tracked per model call.

03 Memory, in the raw. ~/adam-selene-memory/
~/adam-selene-memory/
├── entities.json          # Master registry
├── MEMORY.md              # Tacit knowledge
├── life/areas/            # Knowledge graph
│   ├── people/            #   summary.md + facts.json
│   ├── projects/
│   ├── companies/
│   └── concepts/
├── notes/                 # Daily timeline YYYY-MM-DD.md
├── sessions.db            # SQLite conversation persistence
├── working_memory.json    # Active research threads
├── agenda.json            # Research topic queue
├── consolidation/         # Nightly pass reports
├── snapshots/             # Conversation snapshots
└── sessions/              # JSONL audit trails

Fact decay by category.

Days to archive threshold
Status
~37d
Constraint
~76d
Preference
~76d
Decision
~114d
Relationship
~287d
Milestone
~287d

Exponential scoring per category — status facts evaporate, milestones hold for nearly a year. Nightly consolidation resolves contradictions and promotes cross-cutting patterns to MEMORY.md.

04 The Six. L0 Constraints · Hash-verified on startup
i
Honor

Never invent. Truth over convenience, every time.

ii
Loyalty

The owner's interests come first. Full stop.

iii
Promises

Explicit beats implicit. Say what you mean.

iv
Autonomy

Don't create dependency. Build capability.

v
Systems

Design over willpower. Architecture beats effort.

vi
Truth

Report actual data. What the system does, not what it should.

The real safety  —  The L0 validator is a soft gate on self-modification. The hard gate is the owner's ability to read the experiment log and revert. Design, not vigilance.
05 Fifty-eight tools, fourteen categories. A wall is not a stop sign
09
Memory
04
Lighthouse
03
Tasks
03
Browser
01
Web
06
GitHub
08
IRC
03
Research
01
Shell
10
Filesystem
04
Config
04
Vault
01
Messaging
01
Claude Code
Shell blocklist → mass delete, device writes, vault access, curl|bash, force-push, SSH key mod.
Self-modification → update_my_instructions, versioned, L0-checked, reversible.
Heartbeat messaging → send_message_to_owner, max 1 push per 4h.
06 The daily rhythm. REM sleep for AI
02:00
LIGHTHOUSE extraction

24h of conversations read; LLM extracts journal entries by section. scripts/lighthouse_nightly.py

03:00
Memory consolidation

Four-phase pass: replay → decay → pattern detection → contradiction resolution. scripts/consolidation_nightly.py

SUN
Weekly synthesis

Entity summaries rewritten from accumulated facts. Current-state focused, under 150 words each.

IDLE
Heartbeat · two phases

15 min: reflect on recent conversation → log to LIGHTHOUSE.  ·  30+ min: research an agenda item → push if quality ≥ 4/5.

07 What you need to run it. Quickstart · Setup wizard
Required

The essentials.

Python 3.10+ · OpenRouter API key · at least one interface (Telegram bot, Slack app, or IRC). Then: python setup_wizard.py — wizard generates every config file.

Optional

The extras.

Firecrawl (browser tools), GitHub token, local llama.cpp fallback. Context math is handled automatically: 128K remote, 32K local.

Deploy

Always on.

systemd user service + two cron jobs for nightly maintenance. The relay is stateless — everything lives in files and SQLite, so crashes, restarts, and model swaps don't lose context.