Development Plan — BMAD execution

How we get from two briefs to shipped MVPs, using the BMAD v6 method now installed in _bmad/. Read product-family-overview.md first.

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 Suite cis); 54 skills in .claude/skills, output → docs/.

  • Stack & shape decided: Rust + Tauri v2 + Leptos + candle/mistral.rs; monorepo with a shared substrate crate; 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). Companion addendum.md holds post-MVP depth.

  • Phase 2 step 2 — UX done (docs/planning-artifacts/ux-designs/ux-Life-Suite-2026-06-14/, both spines status: final, 2026-06-14). DESIGN.md + EXPERIENCE.md for 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 in mockups/. See its index.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

bmad-generate-project-context

Project "constitution" guiding all later work

You (quick)

1

bmad-prd

Organizer MVP PRD (incl. substrate)

You (coached)

2

bmad-ux

UX/Experience spec (brain-dump, time-block, free-time defense)

You (coached)

3

bmad-create-architecture

ADRs: ratify crate split; resolve model/sync/calendar

You + me

4

bmad-create-epics-and-stories

Epics → stories (briefs already list 11 epics)

You + me

5

bmad-check-implementation-readiness

Go/no-go gate

me

6

bmad-sprint-planning

sprint-status.yaml

me

7

loop: bmad-create-storybmad-dev-storybmad-code-reviewbmad-retrospective

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.

Substrate-first, then the soul of the product, then the work module:

  1. Substrate foundation — E2EE local store + keys + recovery codes (Organizer epic 1).

  2. On-device model integration — brain-dump string → structured items, no network (epic 2).

  3. Native calendar integration — CalDAV read/write two-way (epic 3; foundational).

  4. Life layer — domains & budgets (4), Goal→Intention→Block (5), free-time defense engine (6 — the soul; must be in v1), weekly rhythm loop (7).

  5. Work module — brain-dump + clarifying Qs (8), shutdown + calibration (9), publish membrane (10).

  6. 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.