# Inkhaven 1.5.8 — Synthesis, Maintenance & a Public-Domain Library (RESRCH-5 · Gutenberg)

_The Research Assistant stops being only an *inbox* for facts. 1.5.8 lets it **compose output** from the
corpus, **maintain** the corpus over time, and pull in **public-domain books** from Project Gutenberg.
No new runtime crates._

_Tracks: [RESRCH-5](../PROPOSALS/RESRCH-5_TRACK.md) ·
[RESRCH-GUTENBERG](../PROPOSALS/RESRCH-GUTENBERG_TRACK.md)_

## Synthesis — the corpus produces output (RESRCH-5 Part A)

Everything grounded *in*; now it composes *out*, cited from your own verified facts.

- **`/synthesize <topic>`** — a **grounded, cited synthesis**: retrieves the related facts and weaves them
  into an overview that uses *only* your corpus, cites each claim by its `[breadcrumb]`, and flags where
  the facts are thin.
- **`/outline <topic>`** — a **structured, fact-citing outline** (the research → writing bridge); points
  the corpus doesn't cover are marked `(needs research)`.
- **`/gaps <topic>`** — the **open questions** the corpus doesn't answer — ready to seed `--batch`.
- **`/bibliography`** — the Sources book's Research chapter (everything auto-filed by `/openalex`,
  `/arxiv`, `/import <.bib>`) as **BibTeX** (`y` to copy). Headless: `inkhaven research --bibliography
  [--out refs.bib]`.

## Maintenance — keep the corpus healthy (RESRCH-5 Part B)

- **`/upgrade [path]`** — re-grounds a **`model`-origin** fact on a structured source: it gathers
  Wikidata / OpenAlex / arXiv evidence and, if one **corroborates** the claim (and none contradicts),
  **raises the fact's provenance tier** to that source (the tree tier glyph follows). *The fact text is
  never changed* — only the provenance. A guess becomes a cited fact.
- **`/stale [days]`** — lists your `model` / `web` facts older than *N* days (default 90) to re-verify
  or `/upgrade`.

## A public-domain library — `/gutenberg` (RESRCH-GUTENBERG)

- **`/gutenberg <query>`** (alias `/pg`) searches **Project Gutenberg** (~75,000 free public-domain books,
  via the keyless Gutendex catalogue), fetches the best-matching book's plain text, strips the PG
  boilerplate, and **ingests it as a research source** — like `/import`, but from the library. Its
  relevant **passages are then retrieved and cited** `[source: <Title> (PG#<id>)]` whenever you ask,
  grounding `/synthesize` and `/fact`. Keyless; project-language; `research.gutenberg.max_chars` bounds a
  long book.

## Notes

- **No new runtime crates.** New commands `/synthesize` `/outline` `/gaps` `/bibliography` `/upgrade`
  `/stale` `/gutenberg`; new CLI flag `--bibliography`; new config `research.gutenberg`; new sidecar
  `.inkhaven/fact-undisputed.json` (1.5.7); new provenance origin `gutenberg`. All reuse the existing
  retrieval / provenance / SOURCES-1 / ingestion / triangulation machinery.
- **Deferred (tracked):** Gutenberg auto-cite + chapters + CLI (PG-P3/P4); R5-F dead-source & insert-time
  contradiction; RESRCH-6 (deep/agentic research) is proposed for later.
- The full command reference (`Ctrl+B h`) is current; Tutorial 103 expanded throughout. Tests 2204 → 2230.
