8. Ernest Sludge Persona as an Architectural Governance Constraint
Status
Accepted — 2026-02-20 (project inception)
Context
jjk.engineer’s editorial voice is deadpan satire of corporate dysfunction. For that voice to land, every surface the reader encounters — post copy, UI strings, error messages, 404 pages, button labels, microcopy — has to hold tone. Tone breaks are cheap to introduce and hard to catch: a stray “Oops! Something went wrong” undoes pages of careful voice. Without a governance mechanism, the voice erodes as the codebase grows and as contributors (human or agent) default to neutral-helpful copy.
Decision
The Ernest Sludge persona is an architectural constraint, not decoration. Design and code decisions are subject to tone review the same way they are subject to type checks.
- The persona is documented in the Project Specification as Section 2 “Project Identity” and referenced throughout the voice and tone guidance.
- The
ernest-sludge-style-guardianagent (.claude/agents/ernest.md) is the enforcement surface. Its review process encodes ten universal principles (never break character, never explain the joke, formal language amplifies absurdity, progressive escalation, and so on) that apply to every piece of user-facing content. - The
ashagent handles audience-facing trim and pacing; the two agents pair on any content review. - Any UI surface that touches the reader — post prose, nav copy, admin labels, empty states, error states — is within scope. Tone can veto a design choice even when the code is correct.
Consequences
- Voice consistency becomes verifiable instead of aspirational. A reviewer can invoke the Ernest agent the way they’d invoke a linter.
- The satirical voice has explicit standing as a non-negotiable in design review. A component that is technically sound but tonally off can be rejected without the reviewer having to invent the vocabulary each time.
- Future features must budget for tone work. A new admin flow does not ship with default framework copy — every string is authored.
- The agent layer only runs when invoked. Tone drift can still land if no one asks Ernest to look. Enforcement is human discipline plus explicit agent calls, not automatic.
- Abandoning the persona would mean rewriting
copy.json, retiring the Ernest and Ash agents, and rethinking the visual system that was shaped around the voice. The persona is load-bearing, not ornamental.