Penny chat

Penny is Pendraic's in-app assistant. Not a generic chat, a fiction-aware agent with structured tools that read and write your manuscript, story index, world index, and structural layers.

When to reach for Penny vs. the inline palette

  • Inline palette, single-shot edits on the active selection or scene. Rewrite, Continue, Describe, Humanize, Brainstorm, custom prompts. ~$0.02 per call. Use this for 90% of AI work.
  • Penny chat, multi-turn questions, planning, anything that crosses PENDRAIC layers. “Is chapter 4's pacing consistent with the rest of act 2? What promises are landing late? Re-anchor my beats now that I've added scene 7.” ~$0.50-$1 per turn because the agent loop loads dispatcher tools.

Dispatcher tools

Penny has a structured tool registry. Each tool is one dispatcher with several ops. The full list:

  • project, the bookshelf and project surface, create, rename, archive, restore, duplicate, send to trash, empty trash.
  • worlds, standalone world lifecycle.
  • manuscript, chapter / scene CRUD, reorders, content reads.
  • story_index, entries, aliases, relationships.
  • world_index, domains, entries, rules, belief layers, projections, relationships.
  • world_projections, per-(entry, project) overrides.
  • promise_engine_nexus, the first three PENDRAIC layers: Promise (reader compacts), Engine (beats + framework), Nexus (thematic spine).
  • dynamics, per-scene goal / obstacle / outcome / shift.
  • resonance, per-project emotional-arc metadata (intensity curve, tonal commitments, promise-adherence score, narrative temperature, thematic mantra). Note: Resonance is a feature inside the lattice, not one of the eight PENDRAIC layers, the R is Registry, the silo coordinator. See The PENDRAIC method.
  • anchors, voice profile (register, diction, rhythm, tone, taboos, reference authors).
  • iterations, revision passes with findings.
  • closure, the ledger of finalized decisions.
  • craft, universal craft fields at every scope (logline, summaries, POV, tense, target length).
  • cover, cover image generation with a preview step before the cover lands on the bookshelf.
  • workflow, kicks off async background jobs for long-running operations (multi-scene drafts, whole-book audits) so you don't wait on a single chat turn.
  • task_plan, multi-step builds open a plan, tick items off, and Penny can't close the conversation with open items left.
  • context, assembles the PENDRAIC context bundle on demand for a given scene or selection.
  • prompts, list / get / render the writer's saved prompts plus the Pendraic-canned set.

Confirmation before anything destructive

Anything that erases data, hard-deleting a project, emptying the trash, removing a Promise, removing a beat or turning point, deleting a Nexus, requires an explicit confirmation inside the chat before it runs. Penny stops, shows you what she's about to remove, and waits for your go-ahead. No quietly destructive turns.

Penny rides on the Atelier

Every dispatcher tool above is an Atelier Operation under the hood, the same typed runtime Iterations passes, Story Index sync, Smart Import, and World Index auto-discovery run on. Penny does not have a parallel AI backend. When Penny runs a multi-step build, the Changes she proposes flow through the same Review Queue and the same 30-day reversibility audit log as any other Atelier-emitted Change.

Cost optimization

Penny's context bundler is intent-aware: a Humanize-style turn doesn't need Promises or World rules; a structural-rewrite turn pulls the full eight-layer stack. The system prompt is ~12K chars; expect any chat turn to be $0.50+ on a Sonnet-tier model. Rate-limited; the limit family is shared with the inline AI action so a writer can't accidentally burn budget on chat while the palette already used today's allowance.

The dock

Penny floats in a corner dock that follows the writer everywhere in /app. The dock auto-binds the active project and active scene as conversation context, Penny knows where you are without you having to tell her.