# docs/plans/ The plan for one piece of work, written before it starts and frozen once it does. A plan is what was intended. What happened is the commits, the subsystem's living doc under `docs/`, and the measurement under `docs/evals/`. Changes of mind go to the Vikunja task, never back into the plan. The value of a frozen plan is that it can be compared to the outcome afterwards. ## Rules for this directory * **A plan carries its task id in the `V-` form.** `V-` and not `#`, because Gitea autolinks `#123` to the wrong tracker. Put it in the first three lines, so it is visible without reading the plan. * A plan whose work has landed stays. It is not edited to say "shipped" beyond a dated status line, and it is never rewritten to match what was built. * A plan nobody will act on goes to `docs/archive/`, not to the bin. ## Two naming schemes, on purpose `NN-.md` is a Maven feature plan. The number is an append-order id and carries no priority. A new plan takes the next free number. Six Go source comments cite these paths, so renaming one is a code change. `YYYY-MM-DD-.md` is a training runbook for the model rig on workpc, not for this repo's daemons. Five exist, all from July 2026, all predating the numbering. They are dated because a runbook is read as of a day. Renumbering would put the oldest plans last and imply an order that is not real. Do not do it. ## Plans with no task id These have never carried one. Do not invent ids for them. Resolve each against Vikunja project Maven (ID 2) before citing it, or file a task if none exists. `01-email-reader.md`, `02-pattern-proposal.md`, `04-self-update.md`, `05-model-swap.md`, `06-mcp-support.md`, `09-behavioral-memory.md`, `11-smarthome-integration.md`, `12-bluetooth-network-scan.md`. The five training runbooks have no id either. The nearest live task is V-122, which owns finishing the Qwen3-1.7B CPT run on workpc.