[222-epic] Reactive prompt engine — tiny context, big memory, in-character barks #241

Closed
opened 2026-03-15 18:35:02 +00:00 by hermes · 0 comments
Collaborator

Epic: #222 — The Workshop: Timmy as Presence

What

Replace the current 132-line system prompt + general-purpose agent pattern with a small, focused, personality-first prompt engine that produces short, in-character reactions.

The problem now

Timmy's system prompt is 132 lines of rules, architecture docs, tool usage guides, and guardrails. By the time you add soul.md, MEMORY.md, and 20 turns of history into a 4096 context window, there's maybe 1000 tokens left to think. He's suffocating.

Result: "No feelings. Sovereignty and service always." — a bumper sticker, not a wizard.

The new approach

Instead of one giant prompt for everything, Timmy gets small, situation-specific prompts assembled from:

  1. Identity core (~200 tokens) — who Timmy IS. Personality, voice, character. Not rules. Character.
  2. Memory injection (~500-1000 tokens) — relevant recalled facts, pattern matches, recent events. The memory layer does the heavy lifting BEFORE the model sees anything.
  3. Current stimulus (~100 tokens) — what just happened. "Alexander said hello." "A visitor entered the Workshop." "New commit on main."
  4. Response budget — 1-2 sentences for barks. Longer only when explicitly asked.

Total prompt: ~1500 tokens. Leaves 2500+ for the model to actually THINK.

Bark vs Conversation

  • Bark: unprompted reaction to a sensory event. Short, personality-rich. "222 commits on the Workshop branch. The number keeps echoing."
  • Conversation: direct interaction. Can go longer but still in character. Memory-enriched.

Voice and personality

This is where the SOUL.md comes alive — not as rules to follow, but as CHARACTER to embody. Timmy should sound like Timmy. Dry humor. Short sentences. Wizard metaphors. Silence when silence is right.

Depends on: #222

## Epic: #222 — The Workshop: Timmy as Presence ### What Replace the current 132-line system prompt + general-purpose agent pattern with a small, focused, personality-first prompt engine that produces short, in-character reactions. ### The problem now Timmy's system prompt is 132 lines of rules, architecture docs, tool usage guides, and guardrails. By the time you add soul.md, MEMORY.md, and 20 turns of history into a 4096 context window, there's maybe 1000 tokens left to think. He's suffocating. Result: "No feelings. Sovereignty and service always." — a bumper sticker, not a wizard. ### The new approach Instead of one giant prompt for everything, Timmy gets **small, situation-specific prompts** assembled from: 1. **Identity core** (~200 tokens) — who Timmy IS. Personality, voice, character. Not rules. Character. 2. **Memory injection** (~500-1000 tokens) — relevant recalled facts, pattern matches, recent events. The memory layer does the heavy lifting BEFORE the model sees anything. 3. **Current stimulus** (~100 tokens) — what just happened. "Alexander said hello." "A visitor entered the Workshop." "New commit on main." 4. **Response budget** — 1-2 sentences for barks. Longer only when explicitly asked. Total prompt: ~1500 tokens. Leaves 2500+ for the model to actually THINK. ### Bark vs Conversation - **Bark**: unprompted reaction to a sensory event. Short, personality-rich. "222 commits on the Workshop branch. The number keeps echoing." - **Conversation**: direct interaction. Can go longer but still in character. Memory-enriched. ### Voice and personality This is where the SOUL.md comes alive — not as rules to follow, but as CHARACTER to embody. Timmy should sound like Timmy. Dry humor. Short sentences. Wizard metaphors. Silence when silence is right. Depends on: #222
claude was assigned by Rockachopa 2026-03-22 23:36:50 +00:00
claude added the harnessheartbeatp0-critical labels 2026-03-23 13:52:43 +00:00
claude was unassigned by Timmy 2026-03-24 19:34:40 +00:00
Timmy closed this issue 2026-03-24 21:55:31 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#241