Skip to content
🚧 Early alpha — building the foundation. See the roadmap →

v0.1 implementation milestones

Updated

The v0.1 implementation phase breaks into 9 sequenced milestones. Each one has its own page with concrete tasks, dependencies, success criteria, and current status.

MilestoneTitleEffortStatus
v0.1.1Type system + validation foundation1–2 days✅ Done (2026-05-04)
v0.1.2render() v1 — folder + file + heading3–5 days✅ Done (2026-05-05)
v0.1.3Generation engine integration3–5 days✅ Done (2026-05-05)
v0.1.4Junction notes + crosswalk edges2–3 days✅ Done (2026-05-05)
v0.1.4.5Streaming refactor (engine accepts row iterator)1–2 days✅ Done (2026-05-05)
v0.1.5Tier 2 sqlite-wasm sidecar projector5–8 days✅ Done (2026-05-06)
v0.1.6Bases query layer + SSSOM import + recipe UX3–5 days🚧 In progress (Phases 1+1.5+2+3 done; 4-5 pending)
v0.1.7Exporters (STRM TSV / OSCAL JSON)2–3 days📋 Planning
v0.1.8Audit trail T1 default1–2 days📋 Planning
v0.1-RCBundle, polish, ship2–3 days📋 Planning

Status legend: 📋 Planning · 🚧 In progress · ✅ Done · ⏸ Blocked

~3–6 weeks of focused work, depending on velocity. Each milestone has explicit dependencies on the previous one (each is a step on the same dependency chain), so the order is roughly fixed.

Each milestone page contains:

  • Goal — one sentence
  • Dependencies — what must complete before this can start
  • Scope — what’s in / what’s out
  • Concrete tasks — checklist of work
  • Success criteria — verifiable outcomes (test passes, bundle size, schema validation, etc.)
  • Files to touch — specific paths
  • Estimated effort — rough day count
  • Status — Planning | In progress | Done | Blocked
  • Related — KB cross-links (decision logs, spec artifacts, concept pillars)

When work begins on a milestone, flip its status to “In progress” + start checking off tasks. When it ships, flip to “Done” + add a brief retrospective note. Use this status table at the top to track at-a-glance progress.

Top-level roadmap shows phases and high-level direction. Milestone pages contain the implementation detail without bloating the top-level view. Each milestone has a stable URL → linkable from PRs, decision logs, code comments, agent prompts. AI agents can be pointed at a single milestone page for focused work.

Every milestone gets at least one E2E spec that proves the feature works in real Obsidian. The harness is wdio-obsidian-service via bun run e2e; the smoke baseline lives at tests/e2e/smoke.spec.ts and validates: Obsidian launches, plugin loads, commands register.

Per-milestone E2E spec — verbatim from the testing-patterns skill:

MilestoneNew E2E spec
v0.1.1validation.spec.ts — malformed recipe → AJV Notice
v0.1.2render.spec.ts — recipe w/ folder+heading mechanisms → correct vault structure
v0.1.3re-import.spec.ts — managed overwritten + user_preserve preserved
v0.1.4crosswalks.spec.ts — junction notes + STRM enum enforced
v0.1.4.5streaming.spec.ts — large-CSV streaming import; bounded RAM
v0.1.5sidecar.spec.ts.crosswalker.sqlite projects + recovers on delete
v0.1.6bases-queries.spec.ts — emitted Bases query renders in note body
v0.1.7export.spec.ts — STRM TSV columns + OSCAL JSON schema valid
v0.1.8audit.spec.ts — git commit produced + signed manifest verifies
v0.1-RCfull smoke against bundled plugin pre-submission

If a milestone closes without its E2E spec passing, that’s a violation of the milestone success criteria — flip status back to In progress.

Architectural foundation for these milestones

Section titled “Architectural foundation for these milestones”

All 9 milestones build on the 2026-05-04 design phase commitments:

Machine-readable contracts: spec/tier1.schema.json + spec/recipe.schema.json.