Copy polish: posh Reginald, no em-dashes, no self-referential clutter #63

Merged
christian merged 3 commits from chore/posh-reginald-no-emdashes into main 2026-07-12 02:03:53 +00:00
Owner

Three copy passes.

Reginald, more posh. Rewrote REGINALD_SYSTEM + CAPTURE_SYSTEM to an elevated butler register and re-voiced his visible lines (greeting, approve/dismiss/error, standup closer, onboarding, capture prose). Prompts also forbid em dashes so his output stays clean.

No em-dashes. Swept every user-facing string across the renderer (comments left alone), plus core tool descriptions and a memory placeholder. Bare placeholders became middots.

No self-referential clutter. The app editorialised about its own guarantees everywhere; removed/trimmed it: the chat write-path / proposed, never assumed footer, Settings' no truth is lost / rebuildable-index essay / never does the arithmetic note / not configurable, that is the point, onboarding's I never attempt the arithmetic + nothing human is lost + only footprint + everything reversible, the directives remembers everything politely footer, the issue your repo never sees it note, and the calibration/capture/connect never tracked / your repo remains yours / never leaves it lines. Functional guidance and status copy kept.

core 169 tests green · core + desktop tsc clean · build clean.

🤖 Generated with Claude Code

Three copy passes. **Reginald, more posh.** Rewrote `REGINALD_SYSTEM` + `CAPTURE_SYSTEM` to an elevated butler register and re-voiced his visible lines (greeting, approve/dismiss/error, standup closer, onboarding, capture prose). Prompts also forbid em dashes so his output stays clean. **No em-dashes.** Swept every user-facing string across the renderer (comments left alone), plus core tool descriptions and a memory placeholder. Bare `—` placeholders became middots. **No self-referential clutter.** The app editorialised about its own guarantees everywhere; removed/trimmed it: the chat `write-path / proposed, never assumed` footer, Settings' `no truth is lost` / rebuildable-index essay / `never does the arithmetic` note / `not configurable, that is the point`, onboarding's `I never attempt the arithmetic` + `nothing human is lost` + `only footprint` + `everything reversible`, the directives `remembers everything politely` footer, the issue `your repo never sees it` note, and the calibration/capture/connect `never tracked / your repo remains yours / never leaves it` lines. Functional guidance and status copy kept. core 169 tests green · core + desktop `tsc` clean · build clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
christian added 3 commits 2026-07-10 20:24:36 +00:00
Poking at the live app (a real repo with no open issues) surfaced two empty-state gaps:

- Focus (Morning service) rendered a bare header — no cards, no empty state —
  because scheduleFocus returns a FocusView with empty now/next/later rather than
  undefined, so the `if (!focus)` guard never fired. Guard on 'no now/next/later'
  too → shows the 'Nothing to pour' EmptyState.
- Standup's calm sentinel nag (id 0) still rendered '#0 · steeping 0d · blocks'
  chrome and was a click target (would try to open issue #0). Render the calm
  case as a plain reassurance pill, no chrome, not clickable.

Both verified against the live christian/commitea repo (all issues closed → no
open work). desktop tsc clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
More static mocks found by poking the live app:

- Settings was ~80% mock: a fake Sync card (webhook endpoint :48731, poll
  fallback, 'last reconcile 3.2s · 500 issues'), a fake dual-model 'router'
  (gemma-4b/qwen-72b with hardcoded URLs), and an unwired Rituals card. Replaced
  with honest/live content: the Sync card now describes the real on-demand
  reconcile + stale-cache model; the Model card shows the actual probed model
  from model.status(); dropped Rituals and the duplicate 'Forget' button.
- Settings showed 'Not connected' while the app was clearly connected: config:get
  returned only the *saved* config, so a .env.local/env connection read as null.
  It now falls back to a public view of the resolved connection — Settings and
  the rail host label reflect the real christian/commitea connection.
- Capture braindump was pre-filled with a fake example ('auth is flaky…'); now
  starts empty with just the placeholder.

Verified live: Settings shows christian/commitea connected + google/gemma-4-26b
reachable; Capture empty; a live Reginald chat turn runs the agent loop.
desktop tsc clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Voice: rewrote REGINALD_SYSTEM and CAPTURE_SYSTEM (core) to an elevated,
dry butler register, and re-voiced his visible lines — chat greetings, the
approve/dismiss/error replies, the standup closer ('The kettle is on. Yours,
Reginald.'), the onboarding welcome, and the capture prose. Both system prompts
now also instruct him never to use an em dash.

Em-dashes: swept every user-facing string in the renderer free of em-dashes
(punctuation only, comments left untouched) via a per-file pass, plus the core
tool descriptions and the memory focus-slot placeholder ('· ' not '— '). Bare
'—' value placeholders became middots ('·'). No em-dash now renders anywhere
in the app or in Reginald's own output.

core 169 tests green (updated the memory placeholder assertion) · core + desktop
tsc clean · verified visually (posh greeting + standup closer render).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
christian added 1 commit 2026-07-10 21:18:08 +00:00
The app editorialised about its own guarantees all over the place. Removed or
trimmed the clutter:
- chat composer footer 'Chat is the write-path. Destructive changes are proposed,
  never assumed.' (removed)
- Settings: dropped the 'no truth is lost' token note, the rebuildable-index /
  no-webhooks Sync essay (now one line about offline reads), the 'Reginald never
  does the arithmetic' model note, and the 'not configurable, that is the point'
  labels justification.
- Onboarding: cut 'I never attempt the arithmetic myself', 'nothing human is
  lost', the 'no bot comments / only footprint' bootstrap claim, 'everything
  reversible', and 'Nothing more' from the token hint.
- Directives: removed the 'entries are never edited, remembers everything
  politely' footer.
- Issue detail: removed the 'lives in pm-state, your repo never sees it' note.
- Calibration: cut 'never tracked'. Capture: cut 'no bot comments, your repo
  remains yours'. Connect: cut 'stored encrypted, never leaves it'.

Functional guidance and status copy kept. desktop tsc + build clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
christian changed title from Posh Reginald + no em-dashes in user-facing copy to Copy polish: posh Reginald, no em-dashes, no self-referential clutter 2026-07-10 21:18:22 +00:00
christian added 1 commit 2026-07-12 02:03:48 +00:00
christian merged commit c46306e3ee into main 2026-07-12 02:03:53 +00:00
Sign in to join this conversation.
No description provided.