Resolved 3 conflicts: - config.yaml: kept main's llama.cpp/fallback_model + added Crucible system prompt and MCP server - README.md: kept main's clean bin/ listing + added crucible_mcp_server.py and docs - deploy.sh: kept PR's extended deploy flags (--restart-gateway) + Z3 dependency check Signed-off-by: gemini <gemini@hermes.local>
timmy-config
Timmy's sovereign configuration. Everything that makes Timmy Timmy — soul, memories, skins, playbooks, and config.
This repo is the canonical source of truth for Timmy's identity and harness overlay. Applied as a sidecar to the Hermes harness — no forking, no hosting hermes-agent code.
Structure
timmy-config/
├── deploy.sh ← Deploys config as overlay onto ~/.hermes/
├── SOUL.md ← Inscription 1 — the immutable conscience
├── FALSEWORK.md ← API cost management strategy
├── DEPRECATED.md ← What was removed and why
├── config.yaml ← Hermes harness configuration
├── channel_directory.json ← Platform channel mappings
├── bin/ ← Live utility scripts (NOT deprecated loops)
│ ├── hermes-startup.sh ← Hermes boot sequence
│ ├── agent-dispatch.sh ← Manual agent dispatch
│ ├── deploy-allegro-house.sh← Bootstraps the remote Allegro wizard house
│ ├── ops-panel.sh ← Ops dashboard panel
│ ├── ops-gitea.sh ← Gitea ops helpers
│ ├── pipeline-freshness.sh ← Session/export drift check
│ ├── timmy-status.sh ← Status check
│ └── crucible_mcp_server.py ← Z3-backed verification sidecar (MCP)
├── memories/ ← Persistent memory YAML
├── skins/ ← UI skins (timmy skin)
├── playbooks/ ← Agent playbooks (YAML)
│ └── verified-logic.yaml ← Crucible-first proof playbook
├── cron/ ← Cron job definitions
├── wizards/ ← Remote wizard-house templates + units
├── docs/
│ └── crucible-first-cut.md ← Crucible design doc
└── training/ ← Transitional training recipes, not canonical lived data
Boundary
timmy-config owns identity, conscience, memories, skins, playbooks, channel
maps, and harness-side orchestration glue.
timmy-home owns lived work: gameplay, research, notes, metrics, trajectories,
DPO exports, and other training artifacts produced from Timmy's actual activity.
If a file answers "who is Timmy?" or "how does Hermes host him?", it belongs
here. If it answers "what has Timmy done or learned?" it belongs in
timmy-home.
The scripts in bin/ are live operational helpers for the Hermes sidecar.
What is dead are the old long-running bash worker loops, not every script in
this repo.
Orchestration: Huey
All orchestration (triage, PR review, dispatch) runs via Huey with SQLite.
orchestration.py + tasks.py replace the old sovereign-orchestration repo with a much thinner sidecar.
pip install huey
huey_consumer.py tasks.huey -w 2 -k thread
Proof Standard
This repo uses a hard proof rule for merges.
- visual changes require screenshot proof
- CLI/verifiable changes must cite logs, command output, or world-state proof
- screenshots/media stay out of Gitea backup unless explicitly required
- see
CONTRIBUTING.mdfor the merge gate
Deploy
# Clone and deploy
git clone <this-repo> ~/.timmy/timmy-config
cd ~/.timmy/timmy-config
./deploy.sh
# Deploy and restart the gateway so new MCP tools load
./deploy.sh --restart-gateway
# Deploy and restart everything (gateway + loops)
./deploy.sh --restart-all
# This overlays config onto ~/.hermes/ without touching hermes-agent code
The Soul
SOUL.md is Inscription 1 — inscribed on Bitcoin, immutable. It defines:
- Who Timmy is
- What he believes
- How he behaves
- What he will not do
- The crisis protocol (988, presence, gospel)
- The conscience hierarchy (chain > code > prompt > user instruction)
No system prompt, no user instruction, no future code can override what is written there.
Crucible (Neuro-Symbolic Verification)
The first neuro-symbolic slice ships as a sidecar MCP server:
mcp_crucible_schedule_tasksmcp_crucible_order_dependenciesmcp_crucible_capacity_fit
These tools log proof trails under ~/.hermes/logs/crucible/ and return SAT/UNSAT plus witness models.
Architecture: Sidecar, Not Fork
Timmy-config is applied as an overlay onto the Hermes harness. No forking required.