# The deliberation workspace

Not a code repo — a **thinking workspace**: each subfolder is one long-running discussion topic, deliberated across many sessions. Chat is ephemeral; **the folders are the record**. Anything of value lands in files inside the topic's folder, never only in conversation.

## Baseline

Invoke the `discussion-baseline` agent whenever the workspace looks unreconciled — no `metadata/TOPICS.md` (fresh install: baseline before anything below), no git repository, or a `harness-version` stamp behind the installed `.claude/harness.json` version. **Never reconcile these by hand** — the agent auto-selects its mode (bootstrap when the sentinel is missing, reconcile when the version is behind) and hands back. The workspace **must** be a git repository — baseline initializes one; the session-end hook batches each session's changes into one commit.

## The three layers

Strictly separated — never mix them:

| Layer | Lives in |
| --- | --- |
| **Method** (timeless) | this file + `.claude/rules/method.md` (how sessions run) + `.claude/rules/artifacts.md` (what gets written) |
| **State** (current) | `metadata/` — `TOPICS.md` (topic index) + `SESSIONS.md` (session ledger) + `lessons/` (operator layer) + `ops/` (maintenance run-logs) + `writing-styles/` (style registry: `reading.md` default for operator-facing docs) |
| **Record** (append-only) | each topic's `README.md` + artifacts |

**The operator layer**: `metadata/lessons/` — read `DIGEST.md` at session start alongside the routing files; it is **prior, not canon** (its reading-protocol block governs). Everything else under `lessons/` (append-only `log/`, `forecasts.md`) loads on demand only. The `lessons-maintenance` agent (instruction set: `metadata/lessons/distillation.md`) runs **only during user sessions** — spawn it in the background when the `metadata/ops/` cursor falls a session behind.

The rules are the method — portable, abstract, generic examples; nothing depends on any local topic. Live exemplars are reached through `metadata/TOPICS.md`. Workspace-local method notes go to `metadata/method-changelog.md`; the harness itself is versioned by `.claude/harness.json` and documented in the etna forge (`docs/harness/discussion/`).

## Delegation

- **Delegation keeps bulk tool output out of the main session's context** — a sub-agent's raw output dies with it, while output read inline is re-read and re-billed on every later turn. Wide reads, sweeps, broad research, and audits default to a sub-agent, run in parallel when independent; no dispatch mechanism, work stays inline.
- **Small or judgment work stays inline** — a task finishable in a handful of tool calls is faster done than briefed, and judgment is never delegated by reflex; a delegated result is a report, not verifiable ground truth, so anything load-bearing is verified directly.
- **Tiers**: mechanical fan-out runs on the cheapest capable tier, judgment-heavy delegation on the session's standard tier, the strongest tier only on explicit user request — an explicit user directive about tier, cost, or delegation overrides this section.
