Ideas were spread across six places with real duplication and one list that was about to be lost. Consolidated by merging the duplication, not the categories. The 130-item feature-list triage lived in .scratch/, which is gitignored — 130 verified verdicts a scratchpad cleanup would have deleted. It is now ideas/feature-list-triage.md with the header the ideas gates require, indexed, and out of agent context by default like everything there. exploration.md's Verdicts table was empty and designed for exactly this; it now carries one row per body of work with a pointer, rather than 130 rows nobody could skim. Deferred triggers had no single owner: continue.md restated them and drifted, still listing the extension registry as pending after ADR-0081 built it. deferred-decisions.md now holds the only trigger table, covering the two it already described plus math, corrections, write routes and the registry's remaining fields. continue.md links to it. Two rows record couplings worth not rediscovering: the View layer may pull a minimal settings cascade in with it, because the Views counter says selection resolves *through* the cascade; and ADR-0081's seam mounts GET only, so Arc 3's first write endpoint extends it. Corrections per post is dropped in its cheap form and parked in its real one. A hand-maintained frontmatter list was rejected for an authoring reason rather than a technical one — a half-remembered list of corrections misleads where none would not, because two entries imply those were the only two. Deriving it from repository history is the shape worth waiting for, and the file records what must be settled first: whether the engine may read local git history at all, that it needs a dependency or a subprocess, and that not every commit is a correction. Not merged, on purpose: latent items stay in state.md because they describe shipped code and are gated against .go commits; arcs stay in roadmap.md because they are sequencing decisions. One file would have flattened four levels of authority and made pending work cheap to load, which is the opposite of why ideas/ sits outside harness/ at all. harness/README.md now says which list owns what, in both the topic table and the single-source table. 7 files. No rule or threshold moved. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ideas — parked, not dropped
One file per idea, self-contained enough to resume cold. Nothing here is committed to; presence is not permission to build. An idea file exists so picking the thread back up costs one read instead of one re-derivation — the whole justification for writing it while the context is still in hand.
What goes where
| It is… | Where |
|---|---|
| an engine feature you might build (webmentions, gemtext, galleries) | ideas/exploration.md catalog line, /leaf for a verdict |
| that same feature, but with a discussion worth not repeating | an idea file here, linked from the catalog line |
| the harness, agent workflow, token cost, tooling, process | here — ideas/exploration.md is engine-only |
| a decision already made | harness/decisions.md |
| a known code flaw deliberately unfixed | Latent list in harness/state.md |
| a durable fact, number, or link | reference/ |
Format
Five headings, present tense, terse. Copy an existing file. Required first lines:
# <title>
Status: parked | active | adopted → <where> | dropped: <one-line why>
Raised: YYYY-MM-DD
Keep dropped files — a one-line reason is the cheapest defence against relitigating it in four
months.
Reading discipline
Exploratory scratch code may live here too; verify.sh never formats, vets, builds or budgets it, so
it does not have to compile.
Out of agent context by default, this index included. A file is opened when the human names that
idea, not otherwise: not swept, not listed to see what is here, not cited unasked. This index is for
you, not the agent; verify.sh keeps it honest without reading it into context.
Index
- deferred-decisions.md — five pre-code ADRs demoted to intent; each returns when something implements it. parked
- specs-as-secondary-artifacts.md — optional per-feature specs, derived by default, plus the named-test convention. parked
- engine-design-review.md — open design decisions for a multi-type site; items graduate to ADRs one at a time. parked
- exploration.md — the catalog of engine features nobody has asked for, with leaf/trunk verdicts. catalog
- feature-list-triage.md — the human's 130-item feature list, each with a verdict and its justification. catalog
- corrections-from-history.md — why the cheap corrections field was rejected, and the derived shape worth waiting for. parked
- token-conservation.md — cut agent token cost without losing output quality. adopted →
harness/context-economy.md, except the subagent question
It lives here rather than in harness/ because a catalogue of things nobody has asked for is storage, not
working material: keeping it out of harness/ keeps it out of the set an agent may pull in on demand.