claude: add roadmap discipline (v1 target + parking lot, anti-creep)

New "## Roadmap discipline" section in the global CLAUDE.md: every project
carries a ROADMAP.md (v1 target = 3-7 capabilities + parking lot; the
feature-gate defaults to parking lot regardless of who proposed the
feature; creep-check at checkpoints). The feature-axis analog of
value-of-information (probes) + patch-default (SemVer). Per-project file
defined as a skeleton in corviduo-project-template.
This commit is contained in:
Your Name
2026-06-15 13:18:56 -07:00
parent 1045fdf9ad
commit c2eafe08d8
+45
View File
@@ -582,6 +582,51 @@ from this point forward reflects the discipline; past versions
record what happened under the previous rule. The pre/post boundary
is the amendment-effective commit, not the rule itself.
## Roadmap discipline — v1 target + parking lot (anti-creep)
Projects sprawl at v0 when features land with **no v1 target to gate
them against** — every good idea, lacking a home, becomes v0 scope by
default, and the project never converges. This is the feature-axis
analog of two disciplines already in force: **value-of-information**
for probes (don't-measure-what-won't-change-behavior) and
**patch-default** for version bumps. Same posture —
*asymmetric default toward not-doing* — applied to features.
**Every project carries a `ROADMAP.md`** (a screenful, not a PRD):
1. **v1 target** — the small, explicit "what must be true to cut
1.0": **3–7 capabilities**. A big v1 is itself the creep; keep it
tight. This is the done-definition AND the anchor every feature is
gated against.
2. **Parking lot (post-v1 / vNext / spinout)** — every deferred idea,
named, with a home. Creep lands *here* instead of silently
becoming v0 scope. A "feature" that's really its own project is a
**spinout**, not v1 scope.
3. **The gate (the anti-creep mechanism):** a proposed feature → *on
the v1 path? → in; else → parking lot.* **Default = parking lot.**
When both "v1" and "park" are defensible, park it — the same
tie-break-to-the-cheaper-tier asymmetry as the SemVer patch-default.
Applies regardless of who proposed the feature (operator included);
the gate is about v1-path-fit, not provenance.
4. **Creep-check at checkpoints:** when surfacing progress, ask "is
what we're building on the v1 path?" Off-path-but-worth-keeping →
parking lot, surfaced to the operator, never silently into v0.
The per-project `ROADMAP.md` file shape + location is defined in
`corviduo-project-template` as a copied-in **skeleton** (like
`persistent-memory.md` — new projects copy it, then the content
diverges per project), NOT a byte-identical canonical. The skeleton
carries the shape; the discipline itself lives in this rule (loaded
every session), so no byte-sync of content is needed. This mirrors
the SemVer global-rule + per-project-version-file split: the version
*field* is conventional, its *value* diverges per project — nobody
canonical-syncs version values, and likewise nobody syncs roadmap
content. v1.0 is cut when the ROADMAP's v1 target is met — tying
directly into the SemVer "v1.0 = discipline-tightening event."
## Issue → AFK dispatch hygiene (Sleipnir)
Before marking any issue `ready-for-agent` (the label that gates AFK