docs(planning): add M0-M7 milestones layer + CLAUDE.md milestone discipline
Introduce a morale + scope-management layer above the roadmap. Seven
milestones (M0-M7) from "Connect & explore" to "v1.0", each defined by a
concrete playable scenario and ~6-10 weeks of work. Each milestone hit
triggers a recorded demo video + a freeze list of phases that go
off-limits until M7's polish pass.
M0 ("Connect & explore") is declared done retroactively — ~25 shipped
phases through 2026-05-12 (terrain, network, audio, particles, chat,
input, streaming, WB rendering migration, sky/lighting, particle system,
combat/spell/item data layers) are frozen. Currently working toward M1
("Walkable + clickable world"): L.2 collision + B.4 interaction, ~4-6
weeks.
CLAUDE.md gains a "Milestone discipline" section above the existing
"Roadmap discipline" — sets the two-altitude orientation (milestones
above, phases below), names M1 as the current target, and codifies the
four motivation rules: (1) one active milestone at a time, (2) frozen
phases off-limits, (3) recorded demo video per landing, (4) state both
altitudes at session start.
Addresses the "everything is half-built" feeling caused by per-phase
vertical-slice ships never adding up to a milestone-level "done" event.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d1d02c34c2
commit
ecb0f2d65f
2 changed files with 368 additions and 0 deletions
58
CLAUDE.md
58
CLAUDE.md
|
|
@ -526,6 +526,64 @@ spec path, the files it should read, the acceptance criteria (build + test
|
|||
green), and the commit message style. Subagents inherit CLAUDE.md so they
|
||||
follow the same rules.
|
||||
|
||||
## Milestone discipline
|
||||
|
||||
acdream operates at **two altitudes** above the daily commit:
|
||||
|
||||
- **`docs/plans/2026-05-12-milestones.md`** — the morale + scope layer.
|
||||
Seven milestones (M0–M7) from "Connect & explore" to "v1.0", each
|
||||
defined by a concrete playable scenario and ~6–10 weeks of work. This
|
||||
is where you orient when the project feels half-built and you're not
|
||||
sure what to work on. Phases are too granular to feel like progress;
|
||||
this doc is the multi-week target.
|
||||
- **`docs/plans/2026-04-11-roadmap.md`** — the strategic roadmap (next
|
||||
section). Phase-level index. This is where you orient when you know
|
||||
the milestone and need the next concrete sub-phase.
|
||||
|
||||
**Currently working toward: M1 — Walkable + clickable world.** L.2
|
||||
collision + B.4 interaction. Demo target: walk through Holtburg without
|
||||
getting stuck, open the inn door, click an NPC, pick up an item.
|
||||
Estimated 4–6 weeks from 2026-05-12.
|
||||
|
||||
**The four motivation-keeping rules:**
|
||||
|
||||
1. **One active milestone at a time.** Work that isn't on the critical
|
||||
path to M1 gets filed in `docs/ISSUES.md` with a `post-M1` tag and
|
||||
muted. This is the single rule that kills the "jumping between
|
||||
things" feeling. If a phase isn't part of the current milestone, it
|
||||
doesn't get touched — even if it's tempting, even if it would be
|
||||
"quick", even if it would be "while I'm here."
|
||||
|
||||
2. **Frozen phases are off-limits.** M0's ~25 shipped phases are frozen
|
||||
until M7's polish pass. Concretely: no rework on streaming, chat,
|
||||
input, the WB rendering migration, sky/lighting, the particle
|
||||
system, or the network handshake. Those are done. Don't revisit them
|
||||
— even if you see something that could be 10% better. Visual
|
||||
nice-to-haves and architecture second-guesses on frozen phases are
|
||||
explicitly post-M7. The freeze list per milestone lives in the
|
||||
milestones doc.
|
||||
|
||||
3. **Each milestone hit gets a recorded demo video.** When M1 lands,
|
||||
record ~30 seconds of the demo scenario, drop it at
|
||||
`docs/milestones/M1-walkable-clickable.mp4`, and pin a still + a
|
||||
one-paragraph writeup at the top of `2026-05-12-milestones.md`. The
|
||||
freeze list updates. The "currently working toward" line in this
|
||||
CLAUDE.md updates to M2. **Crossing a milestone is a real event with
|
||||
an artifact** — that's the morale instrument. Phases ship; milestones
|
||||
land.
|
||||
|
||||
4. **State both altitudes at session start.** First action of any
|
||||
session: "Currently working toward M1 — Walkable + clickable world.
|
||||
Current phase: L.2. Next concrete step: [whatever]." This keeps the
|
||||
high-level orientation visible alongside the immediate task and
|
||||
makes mid-session drift obvious.
|
||||
|
||||
When reality and the milestones diverge — a phase grows beyond the
|
||||
milestone's scope, a demo scenario turns out to be unreachable without
|
||||
a new sub-phase, the order needs reshuffling — update the milestones
|
||||
doc in the same session you discover the divergence. Same rule as the
|
||||
roadmap.
|
||||
|
||||
## Roadmap discipline
|
||||
|
||||
acdream's plan lives in two files committed to the repo:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue