Development Plan — BMAD execution
How we get from two briefs to shipped MVPs, using the BMAD v6 method now installed in
_bmad/. Readproduct-family-overview.mdfirst.
Where we are
-
✅ Phase 1 (Analysis) is done. Both product briefs exist (written in Claude web — exactly BMAD’s intended "plan upfront in the web LLM, implement in the IDE" pattern). They live in
briefs/. -
✅ BMAD v6.8.0 installed (Core + BMad Method
bmm+ Creative Innovation Suitecis); 54 skills in.claude/skills, output →docs/. -
✅ Stack & shape decided: Rust + Tauri v2 + Leptos + candle/mistral.rs; monorepo with a shared
substratecrate; Organizer first (it owns the substrate). -
✅ Phase 2 step 0 — project context done (
docs/project-context.md, finalized 2026-06-13; inference decision folded in). -
✅ Phase 2 step 1 — Organizer PRD done (
docs/planning-artifacts/prds/prd-organizer-2026-06-13/prd.md,status: final, 2026-06-13). 25 FRs, reviewed (rubric PASS + adversarial + reconciliation), soul-invariant hole closed. Scope decisions locked: desktop+Android co-equal, basic encrypted CRDT sync IN v1, CalDAV-only, personal-tool-first (qualitative success). Companionaddendum.mdholds post-MVP depth. -
✅ Phase 2 step 2 — UX done (
docs/planning-artifacts/ux-designs/ux-Life-Suite-2026-06-14/, both spinesstatus: final, 2026-06-14).DESIGN.md+EXPERIENCE.mdfor the whole suite (concrete surfaces = Organizer v1): themeable Slate Reading Room identity, Fraunces + Source Sans 3, single-hue (non-red/green) status signaling, hard Guide voice rule, WCAG 2.2 AA, German+English i18n from v1. Full-panel validation (rubric + a11y + adversarial) — all critical/high findings resolved. 4 screen mockups inmockups/. See itsindex.md.
So we pick up the BMAD greenfield flow at Phase 2 step 3 (bmad-create-architecture).
Carryover for the epics phase (logged in the PRD decision log): keeping desktop+Android co-equal stacks four hard infra problems (store/crypto, inference, CalDAV, sync) ahead of the differentiator. Recommendation: build the free-time defense engine (the soul) early and treat Android as a thin face on the substrate, not a parallel re-implementation.
The pipeline (each artifact is the next step’s input)
Build the Organizer MVP through the full pipeline first — because it builds the shared substrate. The Nutrition app then re-enters the pipeline at PRD, inheriting the architecture.
Track A — Organizer (Lodestar) — do this first
| # | BMAD skill | Produces | Who drives |
|---|---|---|---|
0 |
|
Project "constitution" guiding all later work |
You (quick) |
1 |
|
Organizer MVP PRD (incl. substrate) |
You (coached) |
2 |
|
UX/Experience spec (brain-dump, time-block, free-time defense) |
You (coached) |
3 |
|
ADRs: ratify crate split; resolve model/sync/calendar |
You + me |
4 |
|
Epics → stories (briefs already list 11 epics) |
You + me |
5 |
|
Go/no-go gate |
me |
6 |
|
|
me |
7 |
loop: |
Working code, story by story |
me, you review |
Track B — Nutrition (Repast) — starts after the substrate exists
Re-enter at bmad-prd with briefs/nutrition-brief.md. It is a delta PRD: it inherits the Organizer architecture and only specifies the fidelity ladder, range model, Open Food Facts KB, and meal-as-DailyBlock interop. Then bmad-create-epics-and-stories (the brief lists E1—E6) → dev loop. No new substrate work — that’s the whole point of the family design.
Recommended build order inside the Organizer MVP
Substrate-first, then the soul of the product, then the work module:
-
Substrate foundation — E2EE local store + keys + recovery codes (Organizer epic 1).
-
On-device model integration — brain-dump string → structured items, no network (epic 2).
-
Native calendar integration — CalDAV read/write two-way (epic 3; foundational).
-
Life layer — domains & budgets (4), Goal→Intention→Block (5), free-time defense engine (6 — the soul; must be in v1), weekly rhythm loop (7).
-
Work module — brain-dump + clarifying Qs (8), shutdown + calibration (9), publish membrane (10).
-
Guide — entries + contextual triggers (11).
Parallel research track (early — partially scoped)
The open decisions in product-family-overview.md §6 benefit from grounding before architecture.
(a) On-device inference engine — ✅ RESOLVED 2026-06-13: llama.cpp (llama-cpp-2) CPU + Qwen2.5-1.5B Q4_K_M. Full on-device benchmark of candle/llama.cpp/mistral.rs/ort on the Xiaomi 13 Pro is in docs/research/inference-benchmark-results.md. Original scope below, for the record.* A bmad-technical-research round comparing *candle, mistral.rs, and other Rust options (tract, burn — wgpu/candle/libtorch backends, ort/ONNX Runtime, llama.cpp bindings llama_cpp/llama-cpp-2, ratchet/WebGPU, wonnx, and Qualcomm QNN/Hexagon NPU access), plus an on-device benchmark. Benchmark device: Xiaomi 13 Pro (Snapdragon 8 Gen 2, Adreno 740, 12 GB) connected via adb over USB — the real Android deployment surface (Tauri v2 ships Android). Output: a recommendation with measured tokens/s, memory, and load-time per candidate, feeding architecture.
(b) CalDAV-first vs per-provider calendar APIs for v1. (c) Open Food Facts packaging (full mirror vs slimmed syncable subset).
Feed all findings into step 3 (architecture).
▶ Immediate next action
Run bmad-create-architecture for the Organizer. Inputs: the finalized PRD (docs/planning-artifacts/prds/prd-organizer-2026-06-13/prd.md) and the finalized UX spines (docs/planning-artifacts/ux-designs/ux-Life-Suite-2026-06-14/DESIGN.md + EXPERIENCE.md). Ratify the crate split and resolve PRD Open Questions #4/#6/#8/#9 (CRDT lib, source-of-truth precedence, CalDAV identity/recurrence).
Two UX-driven concerns the architecture must own from day one: (1) the locale layer + per-locale, hand-authored Guide corpus (German+English at launch; the voice is never machine-translated) belongs in the substrate, not retrofitted; (2) the soul guardrails — move-or-sacrifice/SacrificeLog, the banned-tone build test, and the Estimate-band types — are enforced in code, not optional.
Then bmad-create-epics-and-stories (where the desktop+Android sequencing recommendation above lands).
bmad-prd/bmad-ux were the coaching workflows you drove yourself. From architecture onward I drive and you review.
|