Files
bdeshiandClaude Opus 5 b313b729d9 review 130 feature ideas, and delete the lists that held them
One idea at a time: definition, necessity, priority, layer, recommendation. Every
row is now shipped, scheduled, parked with a trigger, or dropped with a reason —
so both tracking files are gone rather than left as a parallel backlog.

Roughly a third already shipped. A quarter needed only a theme fragment or CSS,
including several the list assumed were features: arbitrary `theme.*` frontmatter
attributes already reach templates through Extra (verified), native lazy loading
already ships and is deliberately absent on lead figures, and in-page timelines
are a theme-defined container.

roadmap.md gains an "Order of work" — nine bodies of work in sequence, because the
sections this review added had accumulated without one. Item 0 is a decision, not
work: core sits at ~2965 of 3000 and logging alone wants the remainder, so
discover.go moves out *and* the ceiling rises with an ADR. feed.go and
web/extras.go cannot move; they are resolver cases, and three parked items now
wait on that same seam decision.

Two ADRs came out of it.

ADR-0083: the dependency rule described a practice it forbade. "Stdlib first,
always" and "usually 40 lines of stdlib" would, read literally, have argued
against all five modules here — every one is a format or algorithm somebody else
specified, and their allowlist comments say so. Surfaced when this agent proposed
hand-rolling Reed–Solomon for QR encoding. The test is now whether you can verify
it, not whether you can write it, with compute-versus-hold as the counterweight.
conventions.md and allowed-deps.txt contradicted it and were realigned.

ADR-0084: the Effect primitive said every Effect is "idempotent and re-runnable
from scratch" — true of derivatives, false of anything outbound, since a sent
message cannot be recalled. Split into artifact-producing and outbound, the latter
idempotent only against a delivery ledger, at-least-once with a dedupe key, and
ledgers in a -state directory distinct from the disposable cache. Asked for as
forward-looking design so webmentions need no redesign; recorded as a shape rather
than built, the way extensions.md records the Extension struct. Also fixed a
STATUS claiming Effects were "not buildable yet" when the derivative pass has
inhabited them since ADR-0042.

Findings that were defects rather than ideas: the Atom feed emits no <author>,
which RFC 4287 requires. HTML comments in content are published verbatim —
verified — so anything commented out is already public, and a check warning is
scheduled rather than the engine deleting authored bytes. `Page` has no Date, so a
theme cannot mark up dt-published or show an article's own date.

A frontmatter naming rule after this agent proposed `archive` alongside the
accepted `archived`: no near-homograph keys, and name the benefit rather than the
vendor.

reference/microformats-and-indieweb.md is new and is the reference asked for —
microformats2 properties and IndieWeb rel values mapped to where a theme puts
them, with spec URLs, marked scheduled. rel="me" is the highest-value lowest-cost
item in that space and needs no endpoint at all.

Four things this agent got wrong and the human caught: asserting "the engine never
fetches" from a sentence scoped to the content repo, twice; inventing a
data-sovereignty argument for an item he had filed as "a cool geeky thing", when
the raw Markdown in his git already is the sovereignty; the archive naming; and
claiming microformats could be fully implemented today.

15 files, +556/-385. No code changed. Nothing was scheduled that this agent could
not name a consumer for.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 16:14:52 +06:00
..

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
  • bengali-search-morphology.md — why exact-form search ships without stemming, and what solving it actually requires. parked
  • 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.