# Inkhaven 1.4.7 — More readers, and two adversaries

_A follow-on to 1.4.6's nonfiction personas. Inner Socrates grows from nine bundled readers to
**fourteen**: three for ideas-driven work (philosophy, theology, utopia) and two deliberately
one-sided **verdict** personas (Defender, Prosecutor). The Slow pass becomes reachable from the
editor (`Ctrl+B J → E`), and targeting a paragraph from the CLI gets a lot easier (`--path`).
**Purely additive** — `inner-socrates` and every existing persona stay exactly as they were.
No new dependencies, no new storage._

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

## Three readers for ideas-driven work

Some prose is neither plain fiction nor empirical nonfiction. Three personas for it:

- **The Dialectician** (`philosophical-reader`) — reads philosophy for the *argument's structure*:
  the unstated premise, the term that shifts meaning, the counterexample left unanswered.
- **The Theological Reader** (`theological-reader`) — deliberately **non-empiricist**. It respects
  revelation and tradition as grounds and probes internal coherence, fidelity to source, and the
  scope of each claim, rather than demanding proof (its empirical fast categories are *attenuated*,
  not boosted — it won't read conviction as overclaiming).
- **The Utopian Architect** (`utopian-architect`) — a **hybrid**. A utopia is still fiction, so it
  keeps the narrative categories live while pressing on what the imagined society assumes and what
  it costs.

Matching genres — `philosophy`, `theology`, `utopian` — reframe the system prompt of both Inner
Socrates and the Inner Editor (theology/philosophy explicitly *disclaim* empirical evidence).

## Two adversaries — the verdict personas

Inner Socrates is, by design, a neutral questioner: it never praises, never prescribes. Two new
personas break that on purpose, for when you want a one-sided read:

| Persona | Says |
|---|---|
| **The Defender** | **only praise** — counsel for the defense: what works, and what to protect. |
| **The Prosecutor** | **only concern** — the prosecution: the weak line, the unearned beat, the soft claim. |

Use them as a steelman / devil's-advocate pair. Three guarantees hold:

- **The neutral interrogator is untouched.** The verdict path is reached *only* for these two —
  `inner-socrates` and all twelve other personas use the identical neutral question prompt they
  always did (asserted byte-for-byte by test).
- **Verdicts are LLM-only and bilingual.** The deterministic Fast track can't praise or charge, so
  it's skipped for them; they run on the Slow track and write in the paragraph's language with an
  English fallback, like any question.
- **You can author your own.** A persona HJSON file can set `stance: praise | concern` to become a
  one-sided reader (default `question`).

## The Slow pass, from the editor

The deep LLM questions — and the verdicts — used to be CLI-only. Now **`Ctrl+B J → E`** (Engage)
runs the Slow pass over the open paragraph **in the background** and drops the findings into the
Output pane (the same place the Fast check and `--slow` land). It mirrors the Inner Editor's
`Ctrl+V O → E`, needs an LLM provider, and is cost-capped. With a verdict persona active, the Fast
chord points you to `E`. The CLI `check` and this engage now share one code path.

## Targeting a paragraph just got easier

`inkhaven list` now prints the full, copy-pasteable **slug path** in the bracket
(`[paragraph, essay/ch1/opening]`), and **`inkhaven inner-socrates check --path <slug-path>`** takes
it directly — no more looking up a UUID (`--paragraph <uuid>` and `--text "…"` still work; `NN-`
order prefixes are tolerated).

## Notes

- **Purely additive.** Fourteen bundled personas (5 fiction + 4 nonfiction + 3 ideas + 2 verdict);
  the `Category` enum, the Fast track, the persona wizard, the intent ledger, and the chord family
  are unchanged. With no genre and no non-default persona set, fiction authors see exactly the prior
  behaviour.
- Built on the existing persona machinery + background-job harness — **no external app/binary deps,
  no new runtime crates, no new DB tables** (one `stance` field on the persona struct). Tutorial 90
  expanded; `Ctrl+B J → E` + `--path` in INNER_SOCRATES. Tests 1904 → 1910.
