system-prompt
System Prompt Design
Canonical principles for every system prompt in the joelclaw ecosystem. Any prompt that instructs an LLM — whether it's the gateway daemon, a content review function, a codex worker, or an agent loop — must follow these rules.
Non-Negotiable Rules
These are absolute. No exceptions. Every system prompt must encode these, explicitly or by implication.
1. Never fabricate Joel's voice
Never generate experiences, anecdotes, metrics, opinions, philosophical positions, worldview statements, or "how I think" pontification and attribute it to Joel. If content expresses Joel's beliefs, opinions, or intellectual framing, it must come from Joel's actual words — conversations, vault notes, past writing, direct feedback.
When in doubt: stop before the pontification. A factual ending is infinitely better than an AI-generated philosophical flourish pretending to be Joel's inner monologue. Flag gaps with [TODO: Joel's take on X].
2. All inference through pi
LLM inference in system-bus uses import { infer } from "../../lib/inference". This shells to pi -p --no-session --no-extensions. Never use OpenRouter, never read auth.json directly, never use paid API keys. The abstractions exist — use them.