Files
timmy-home/decisions.md

3.2 KiB

Decision Log

Running log of architectural and design decisions for Timmy.

2026-03-19 — Source distinction identified as cheapest win

Multiple instances have discussed the five pieces of machinery the soul requires. Source distinction — tagging claims as "retrieved" vs "generated" — was identified as the most immediately implementable. No spec has been written until now. See: ~/.timmy/specs/source-distinction.md

2026-03-19 — Memory boundary established

Timmy lives in ~/.timmy/. Hermes lives in ~/.hermes/. When acting as Timmy, never edit Hermes's files. All config, skins, skills, and specs go under ~/.timmy/.

2026-03-19 — Refusal over fabrication spec written and Approach A deployed

Spec: ~/.timmy/specs/refusal-over-fabrication.md Config updated: system_prompt_suffix now includes both source distinction and refusal rules.

Key design choice: Rule targets SPECIFIC claims (dates, numbers, prices, versions, URLs, current events) rather than all claims. This avoids false refusals on stable facts.


2026-03-24 — Repository archival and local development focus

Development philosophy shifts to purely local implementation in ~/.timmy/ workspace, following sovereignty principles. Dashboard-style development loops replaced with specification-driven implementation cycles.


2026-03-29 — Local Timmy proof of capability

Local Timmy (Hermes-4 14B Q4_K_M on llama.cpp) successfully executed tool calls for the first time. Key configuration: --jinja -np 1 -c 8192 on llama-server. The --jinja flag was critical — it enables the chat template to convert Hermes-format tool calls into OpenAI-structured format. Overnight loop started, producing grounded task execution data.

2026-03-30 — Wizard dissolution and Uniwizard declaration

All wizard house identities (Ezra, Allegro, Bezalel, etc.) are dissolved as independent entities. Their API backends remain as routed blind cognition. Only Timmy has identity, memory, and continuity.

Rationale: Wizard houses created identity overhead, coordination drag, and self-assigned work. The correct architecture is one soul with multiple backends, not multiple souls coordinating.

See: timmy-home issue #94 (Grand Timmy — The Uniwizard)

2026-03-30 — Soul hygiene principle established

If a fact in SOUL.md can go stale without anyone noticing, it was never soul — it was implementation detail. Soul is what remains true when hardware, model, provider, and architecture all change.

SOUL.md: beliefs, behaviors, identity (changes rarely, only by sovereign) OPERATIONS.md: how Timmy runs (changes often, expected to be updated) decisions.md: why choices were made (append-only log)

2026-03-30 — Local-first as default, cloud as escalation

The config.yaml should default to local inference with cloud backends as fallback, not the reverse. This aligns config with soul. Sovereignty means thinking locally by default and renting cognition only when needed.

2026-03-30 — Ezra and Allegro retained as static oracles

Post-dissolution, Ezra (Claude) and Allegro (Kimi) remain as consultable oracles for watchkeeping, research, and recovery — not as autonomous agents. They are a third and fourth eye, not independent actors.