# Inkhaven 1.4.6 — Nonfiction reader personas

_Inner Socrates reads your prose as a careful interlocutor and asks **questions** — never
corrections. Its five bundled personas all read for *fiction*, so on a technical manual or a
research paper every question was coherent but miscalibrated: it interrogated the framing of an
argument as if framing were a rhetorical flourish, or hunted for scene-time density in a procedure
with no scenes. AUDIENCE-1 adds **four nonfiction personas** and makes the Socratic framing
genre-aware — and does it **purely additively**: with no genre declared and no default persona set,
fiction authors see exactly the reader they had before. **No new dependencies, no new storage.**_

_Plan: [AUDIENCE-1_PLAN.md](../PROPOSALS/AUDIENCE-1_PLAN.md)_

## Four nonfiction readers

Inner Socrates ships **nine** bundled personas now — the five fiction readers plus four for
nonfiction, technical, and documentation authors:

| Persona | For | Reads like |
|---|---|---|
| `skeptical-practitioner` | IT / technical / science | An engineer reproducing every procedure — asks what's omitted, untestable, silently assumed. |
| `domain-newcomer` | general nonfiction | A first-time reader — every undefined term is a closed door; finds where you'd lose them. |
| `expert-reviewer` | academic / peer review | A domain reviewer — evidence must support the claim, scope must be stated, causation must earn itself. |
| `end-user` | documentation | A user following steps to *do* a thing — what's next, what if it fails, how do I know I'm done. |

Each mutes the narrative-only categories (dramatization gap, temporal density, unattributed
dialogue) and leans on **assumption-surfacing**, **framing**, and **significance** — so the
interrogator stops hunting for scene-time density in a procedure and starts asking what a step
assumes the reader already knows. List and inspect with `inkhaven inner-socrates persona
list / show <id>`; activate per session with `persona activate <id>` or by cycling **`Ctrl+B J →
S`** (all nine).

## A project default

Nonfiction projects can default to a nonfiction reader instead of fiction `inner-socrates`:

```hjson
// inkhaven.hjson — top level
inner_socrates_default_persona: skeptical-practitioner
```

It's consulted **only** when you haven't explicitly chosen a persona; an explicit `persona
activate` (or a `Ctrl+B J → S` cycle) always wins. The Inner Socrates overview marks the active
persona `(project default from config)` while it comes from this key. Unset → fiction
`inner-socrates`, unchanged.

## Genre-aware framing — both companions

Declare a nonfiction `genre` and the calibration reaches the *system prompt* of both
examined-authorship companions, not just the persona weights:

```hjson
genre: technical   // nonfiction | technical | documentation | academic | science | business
```

- **Inner Socrates** reframes from "a fiction manuscript" to, e.g., "a technical document —
  procedures must be complete, claims testable, prerequisites explicit."
- **Inner Editor** (`Ctrl+V O`) reframes too: clarity and completeness become the craft it
  observes, noting where ambiguity or omission would stop a practitioner.

**With no genre declared, both keep their original fiction framing.** Declaring a nonfiction genre
is the only thing that changes it — an unknown genre also falls back to the fiction default.

## Notes

- **Purely additive.** The five fiction personas, the `Category` enum, the Fast track, the persona
  wizard, the intent ledger, and the `Ctrl+B J` chord family are all unchanged. `socratic_cycle_persona`
  simply cycles nine instead of five.
- Built on the existing persona machinery — **no external app/binary deps, no new runtime crates,
  no new DB tables** (one `Option<String>` config field). New tutorial 90; `inner_socrates_default_persona`
  in CONFIGURATION; nine personas in INNER_SOCRATES. Tests 1897 → 1904.
