# Inkhaven 1.3.2 — The Planning Board

_On top of 1.3.1 (Submission track).  1.3 fills the bookends of the writing
lifecycle; with pillar A done, 1.3.2 opens **pillar B** — the front, where
you work on **structure**.  It leads with **diagnosis, not card-shuffling**:
turning "something's wrong with my middle but I can't see it" into a
specific, objective finding.  Pure-Rust, no external apps, no new
dependencies.  Plan:
[PLANNING-1_PLAN.md](../PROPOSALS/PLANNING-1_PLAN.md); walkthrough:
[Tutorial 67](../Tutorials/67-planning-board.md)._

## Structure is the third axis

Inkhaven already had the **Timeline** (*when* things happen) and **Threads**
(*whether each arc pays off*). The Planning Board adds the orthogonal third:
**structure** — acts, beats, turning points, the shape of the rise and
fall. It references threads/timeline; it never re-implements them.

## Lay a framework, then diagnose

```sh
inkhaven plan init --framework save_the_cat
# three_act (default) | save_the_cat | story_circle | hero_journey | seven_point
```

Each beat is an HJSON paragraph in the new **Planning** system book (the
Threads pattern). Map one to a chapter by setting `mapped_chapter` (and the
`threads` it advances). Then:

```sh
inkhaven plan check        # deterministic — no AI; --json / --drift / --book-name
```

Three diagnoses, all objective:

- **Coverage** — which beats have a home, which are gaps.
- **Position drift** — a beat far from where the framework expects it ("your
  Midpoint lands at 64%, target 50%").
- **Pacing** — each act's *word share* vs. the framework's shape ("Act 1 is
  30% of your words — long"). The factual version of "the opening drags".

The act proportions resolve to the canonical shape (three-act → 25 / 50 /
25). Findings are prompts to think, not verdicts.

## See it, then ask the AI

**`Ctrl+V Shift+K`** opens the structure outline: every beat as a position
bar — `|` where the framework wants it, `●` where it lands — colour-coded
on-target / drift / gap, with act pacing and `↪N` thread chips.

**`inkhaven plan analyze`** (or `a` in the outline, which streams into the
AI pane) reads the structure qualitatively over the **1.3.1 book digest** —
mapping beats to chapters and naming the sag. Its prompt resolves through
the Prompts-book → `prompts.hjson` → built-in tiers.

## Threads do narrative work

A beat's `threads` connect structure to arcs: `plan check` surfaces them
(`↪`), flags a reference to a thread that doesn't exist, and — once you're
using thread-links — nudges about mapped beats that advance no tracked
thread.

## Notes

- **System book:** `Planning` joins `SYSTEM_BOOKS` (after Threads);
  existing projects pick it up on the next open via `ensure_system_books`.
- **Zero new dependencies.** Frameworks are data; the pacing engine is
  arithmetic over word counts; the AI analyze reuses the existing LLM stack
  + the digest.
- Tests 1286 → 1294. One new tutorial (67).

## Deferred to later 1.3.x cuts

- **Tension-curve overlay** — `tension scan` (1.2.19) tracks introduced /
  resolved threads, not a positional curve, so a faithful overlay needs a
  tension model (expected-tension per beat + a derivation from linked-thread
  tensions). A P4.2.
- **Plan-first scaffolding** (premise → AI beat outline → scaffold
  chapters) — the blank-page mode; 1.3.3 now that the framework model is
  proven.
- **Scene cards** (per-scene goal / conflict / disaster) — a finer grain
  than beats; a separate layer.
- Interactive beat→chapter mapping in the outline view (today: edit the
  beat's `mapped_chapter`); a `stale-submission` doctor scan; the CLI
  Prompts-book prompt tier; `actions/checkout@v5` CI bump.

## Explicitly deferred (unchanged)

- **The Whole-Book AI Editor** (RAG over the whole manuscript) → **1.4 or
  later**.

## Older carryovers (still open)

- **1.2.20:** ePub inline images + popup footnotes.
- **Facts follow-ups (1.2.21):** internal-consistency check, series-shared
  facts.
- Sixth supported language; GitHub Release backfill for 1.2.11–1.2.19.
