Proposals
Everything under this folder is future work awaiting implementation — one self-contained spec per feature, written so a cold implementation session can execute it without extra context. When a proposal ships, it is rewritten as an as-built feature page under its product area and deleted from here.
Each product area's roadmap is the prioritized index over its proposals:
- users roadmap
- esbabbler roadmap
- posts roadmap
- resource roadmap
- sheet editor roadmap
- achievements roadmap
- virrun roadmap
- infra roadmap
The list is which areas keep a roadmap, not which have work open — a mature area's roadmap often reads "no open work", and an area with none has never needed one. ls */roadmap.md answers the first question and the page itself answers the second.
A program too large for one area's roadmap indexes its own proposals:
- Genshin — Genshin Impact's world rebuilt as the agent console's world, a walkable fan recreation with the engine first and each region after it.
Repo-wide refactor plans have no area roadmap and live here directly:
- the Vite+ migration — make
vpthe toolchain entry point and cached task runner, retire the hand-rolled caches and virrun, and leave Nuxt owning the app build. - pitch-transcription — absorb Spotify's Basic Pitch into a package of our own on the current TensorFlow.js, its model exported and its note creation usable alone.
Sweeps are not proposals. A proposal designs behaviour that does not exist yet; a sweep carries a settled convention across code that already works and changes nothing about what it does. They are tracked as repo state in .agents/ledgers/, one ledger file per sweep — or one coverage folder, once a sweep outgrows a single file.