Skip to content

Roadmap

Rick Hightower edited this page Jul 29, 2026 · 5 revisions

Current — this is the living version; regenerated at 2026-07-29T00:39:17Z. Historical snapshots are linked from Index-Releases.

This file is generated from .work/todo.jsonl. Edits will be overwritten. To change the roadmap, change the work items: worklog add|update|close.

Roadmap

2 epic(s) in flight, 21 open item(s), 0 blocked, 0 unclassified.

Now

Nothing here.

Next

Motion next development phase · P1 · 15 of 18 done · feature 13 / bug 5

Close the gap between Motion's stated vision (organize/edit/visualize documentation, local-first) and what a user can actually reach today: several real, working modules (enrichment pipeline, editor extensions) have no UI entry point, plus a pre-existing editor mode-desync data-loss bug. Sequenced: verify CLI contract, fix data loss, build a creation UX, fix dev storage mock, ship real diagram-gen + scope ImageGen backend, wire the per-note enrichment action.

# Item Type Priority Status Blocked by
01KYFZ6R Wire the per-note enrichment action into the UI task P2 todo
01KYFZ6R Per-note "AI Refine"/"Generate Summary" toolbar action backed by ContentInjector subtask P2 todo

Validation loop: prove the UI works before the human launches it · P1 · 29 of 46 done · feature 38 / bug 5 / ops 3

Motion has real features and no way to know whether they work. The web mode designed as the browser-automation test surface never became real: WebStorage fakes writes and fakes openFolder, so testing saves against it proves nothing. One root cause (code assuming a Bun process while running in a browser) has been re-fixed four times and is open a fifth. CI never installs Bun or Rust, so a PR deleting src/App.tsx passes green. This epic builds the validation loop first, then fixes what the loop exposes, so the human gives design feedback instead of debugging.

# Item Type Priority Status Blocked by
01KYK6NH Phase 0.5: accessibility pass so role-based locators are possible task P1 todo
01KYK6NH B4 and B7: block round-trip and multi-line serialization subtask P1 todo
01KYK6NH Phase 2: E2E coverage of the journeys that have actually broken task P1 todo
01KYK6NH B3: fix the broken desktop production build (dist has no index.html) subtask P1 todo
01KYK6NH Phase 3: fix what the loop exposes task P1 todo
01KYK6NH B8: route the four enrichment modules through llmClient subtask P2 todo
01KYK6NH Add resolveWorkspacePath so documents are portable between modes subtask P2 todo
01KYK6NH B5: welcome doc paths resolve in both modes subtask P2 todo
01KYK6NH Add bin/smoke-desktop.sh building and launching the packaged app subtask P2 todo
01KYK6NH B13: save completion signal and file-load cancellation subtask P2 todo
01KYK6NH Backfill tests on the untested security boundaries subtask P2 todo
01KYK6NH Delete the stale root index.html and generate dev and prod shells from one template subtask P2 todo
01KYK6NH Phase 4: desktop confidence without a WebDriver task P2 todo

(no epic)

# Item Type Priority Status Blocked by
01KYJW5X TopicRefiner/ContentInjector/TOCGenerator/SkillGenerator need llmClient.ts routing before UI wiring subtask P2 todo

Later

Motion next development phase · P1 · 15 of 18 done · feature 13 / bug 5

Close the gap between Motion's stated vision (organize/edit/visualize documentation, local-first) and what a user can actually reach today: several real, working modules (enrichment pipeline, editor extensions) have no UI entry point, plus a pre-existing editor mode-desync data-loss bug. Sequenced: verify CLI contract, fix data loss, build a creation UX, fix dev storage mock, ship real diagram-gen + scope ImageGen backend, wire the per-note enrichment action.

# Item Type Priority Status Blocked by
01KYJXSY Mermaid's internal parse-error UI ('bomb' error graphic) injects into document.body instead of staying inside the failing block's container task P3 todo

Validation loop: prove the UI works before the human launches it · P1 · 29 of 46 done · feature 38 / bug 5 / ops 3

Motion has real features and no way to know whether they work. The web mode designed as the browser-automation test surface never became real: WebStorage fakes writes and fakes openFolder, so testing saves against it proves nothing. One root cause (code assuming a Bun process while running in a browser) has been re-fixed four times and is open a fifth. CI never installs Bun or Rust, so a PR deleting src/App.tsx passes green. This epic builds the validation loop first, then fixes what the loop exposes, so the human gives design feedback instead of debugging.

# Item Type Priority Status Blocked by
01KYK6NH B6: thread model through the run_llm_cli IPC signature subtask P3 todo
01KYK6NH Write the short release-only manual checklist subtask P3 todo
01KYK6NH B9: contain the Mermaid parse-error graphic subtask P3 todo
01KYK7WZ Demo Query block returns zero rows: case mismatch in the demo data JOIN subtask P3 todo

Visual roadmap

Dependency graph

graph TD
    01KYFZ6RBHABFSC9K9NJ90168Q["📦 Motion next development phase"]
    01KYFZ6RBJV920SFW0MAN9MX9J["📦 Wire the per-note enrichment a"]
    01KYFZ6RBJZNYDT9AK2V0RA11T["📦 Per-note AI Refine/Generate Su"]
    01KYFZ8RGR06XBSG9CH4TEWYJY["📦 Workspace-level topic clusteri"]
    01KYJW5XJ5HTG7ESZ7DDDS8W0C["🐛 TopicRefiner/ContentInjector/T"]
    01KYJXSYEZ97M9638S91GYZWV0["🐛 Mermaid's internal parse-error"]
    01KYK6NHSFJNG9XV6D8K5SHWCV["📦 Validation loop prove the UI w"]
    01KYK6NHSGPYHDTHG3T7Y80MAR["📦 Phase 0.5 accessibility pass s"]
    01KYK6NHSH15H376EZGAMTZE9J["📦 B8 route the four enrichment m"]
    01KYK6NHSH2RMTJQ3SR7MGW7Q8["📦 Add resolveWorkspacePath so do"]
    01KYK6NHSH9BTQ4BND9DZEFAY7["📦 B4 and B7 block round-trip and"]
    01KYK6NHSHBJ0SV2MM8N3A0KJR["📦 Phase 2 E2E coverage of the jo"]
    01KYK6NHSHD4NMT2QVMQD2HHBP["📦 B5 welcome doc paths resolve i"]
    01KYK6NHSHKXZNTXS3F3ANDYV9["📦 Add bin/smoke-desktop.sh build"]
    01KYK6NHSHKZ20DY8FBB5S1PP9["📦 B6 thread model through the ru"]
    01KYK6NHSHQZZQV7DJM5A64C6E["📦 B13 save completion signal and"]
    01KYK6NHSHRFE2KXPBTV76JR02["📦 Write the short release-only m"]
    01KYK6NHSHRFPGDZXKE6EH4QRJ["📦 B3 fix the broken desktop prod"]
    01KYK6NHSHSASEERK1KJ7XVDPN["📦 Backfill tests on the untested"]
    01KYK6NHSHVJEFG9W6TZYWXNEF["📦 Delete the stale root index.ht"]
    01KYK6NHSHVZ2EZZH7NBRADW7E["📦 B9 contain the Mermaid parse-e"]
    01KYK6NHSHZF8S0ZNGQ9ZAD05F["📦 Phase 4 desktop confidence wit"]
    01KYK6NHSHZJNNCYMEW9ZG77NP["📦 Phase 3 fix what the loop expo"]
    01KYK7WZRS65D7DPP0D1DT58Z7["🐛 Demo Query block returns zero"]
    01KYFZ6RBHABFSC9K9NJ90168Q --> 01KYFZ6RBJV920SFW0MAN9MX9J
    01KYFZ6RBJV920SFW0MAN9MX9J --> 01KYFZ6RBJZNYDT9AK2V0RA11T
    01KYK6NHSFJNG9XV6D8K5SHWCV --> 01KYK6NHSGPYHDTHG3T7Y80MAR
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSH15H376EZGAMTZE9J
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSH9BTQ4BND9DZEFAY7
    01KYK6NHSFJNG9XV6D8K5SHWCV --> 01KYK6NHSHBJ0SV2MM8N3A0KJR
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHD4NMT2QVMQD2HHBP
    01KYK6NHSHZF8S0ZNGQ9ZAD05F --> 01KYK6NHSHKXZNTXS3F3ANDYV9
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHKZ20DY8FBB5S1PP9
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHQZZQV7DJM5A64C6E
    01KYK6NHSHZF8S0ZNGQ9ZAD05F --> 01KYK6NHSHRFE2KXPBTV76JR02
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHRFPGDZXKE6EH4QRJ
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHSASEERK1KJ7XVDPN
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHVZ2EZZH7NBRADW7E
    01KYK6NHSFJNG9XV6D8K5SHWCV --> 01KYK6NHSHZF8S0ZNGQ9ZAD05F
    01KYK6NHSFJNG9XV6D8K5SHWCV --> 01KYK6NHSHZJNNCYMEW9ZG77NP
    classDef todo fill:#f4f4f4,stroke:#999999
    class 01KYFZ6RBHABFSC9K9NJ90168Q,01KYFZ6RBJV920SFW0MAN9MX9J,01KYFZ6RBJZNYDT9AK2V0RA11T,01KYFZ8RGR06XBSG9CH4TEWYJY,01KYJW5XJ5HTG7ESZ7DDDS8W0C,01KYJXSYEZ97M9638S91GYZWV0,01KYK6NHSFJNG9XV6D8K5SHWCV,01KYK6NHSGPYHDTHG3T7Y80MAR,01KYK6NHSH15H376EZGAMTZE9J,01KYK6NHSH2RMTJQ3SR7MGW7Q8,01KYK6NHSH9BTQ4BND9DZEFAY7,01KYK6NHSHBJ0SV2MM8N3A0KJR,01KYK6NHSHD4NMT2QVMQD2HHBP,01KYK6NHSHKXZNTXS3F3ANDYV9,01KYK6NHSHKZ20DY8FBB5S1PP9,01KYK6NHSHQZZQV7DJM5A64C6E,01KYK6NHSHRFE2KXPBTV76JR02,01KYK6NHSHRFPGDZXKE6EH4QRJ,01KYK6NHSHSASEERK1KJ7XVDPN,01KYK6NHSHVJEFG9W6TZYWXNEF,01KYK6NHSHVZ2EZZH7NBRADW7E,01KYK6NHSHZF8S0ZNGQ9ZAD05F,01KYK6NHSHZJNNCYMEW9ZG77NP,01KYK7WZRS65D7DPP0D1DT58Z7 todo
Loading

Hierarchy

graph TD
    01KYFZ6RBHABFSC9K9NJ90168Q["📦 Motion next development phase"]
    01KYFZ6RBJV920SFW0MAN9MX9J["📦 Wire the per-note enrichment a"]
    01KYFZ6RBJZNYDT9AK2V0RA11T["📦 Per-note AI Refine/Generate Su"]
    01KYFZ8RGR06XBSG9CH4TEWYJY["📦 Workspace-level topic clusteri"]
    01KYJW5XJ5HTG7ESZ7DDDS8W0C["🐛 TopicRefiner/ContentInjector/T"]
    01KYJXSYEZ97M9638S91GYZWV0["🐛 Mermaid's internal parse-error"]
    01KYK6NHSFJNG9XV6D8K5SHWCV["📦 Validation loop prove the UI w"]
    01KYK6NHSGPYHDTHG3T7Y80MAR["📦 Phase 0.5 accessibility pass s"]
    01KYK6NHSH15H376EZGAMTZE9J["📦 B8 route the four enrichment m"]
    01KYK6NHSH2RMTJQ3SR7MGW7Q8["📦 Add resolveWorkspacePath so do"]
    01KYK6NHSH9BTQ4BND9DZEFAY7["📦 B4 and B7 block round-trip and"]
    01KYK6NHSHBJ0SV2MM8N3A0KJR["📦 Phase 2 E2E coverage of the jo"]
    01KYK6NHSHD4NMT2QVMQD2HHBP["📦 B5 welcome doc paths resolve i"]
    01KYK6NHSHKXZNTXS3F3ANDYV9["📦 Add bin/smoke-desktop.sh build"]
    01KYK6NHSHKZ20DY8FBB5S1PP9["📦 B6 thread model through the ru"]
    01KYK6NHSHQZZQV7DJM5A64C6E["📦 B13 save completion signal and"]
    01KYK6NHSHRFE2KXPBTV76JR02["📦 Write the short release-only m"]
    01KYK6NHSHRFPGDZXKE6EH4QRJ["📦 B3 fix the broken desktop prod"]
    01KYK6NHSHSASEERK1KJ7XVDPN["📦 Backfill tests on the untested"]
    01KYK6NHSHVJEFG9W6TZYWXNEF["📦 Delete the stale root index.ht"]
    01KYK6NHSHVZ2EZZH7NBRADW7E["📦 B9 contain the Mermaid parse-e"]
    01KYK6NHSHZF8S0ZNGQ9ZAD05F["📦 Phase 4 desktop confidence wit"]
    01KYK6NHSHZJNNCYMEW9ZG77NP["📦 Phase 3 fix what the loop expo"]
    01KYK7WZRS65D7DPP0D1DT58Z7["🐛 Demo Query block returns zero"]
    01KYFZ6RBHABFSC9K9NJ90168Q --> 01KYFZ6RBJV920SFW0MAN9MX9J
    01KYFZ6RBJV920SFW0MAN9MX9J --> 01KYFZ6RBJZNYDT9AK2V0RA11T
    01KYK6NHSFJNG9XV6D8K5SHWCV --> 01KYK6NHSGPYHDTHG3T7Y80MAR
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSH15H376EZGAMTZE9J
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSH9BTQ4BND9DZEFAY7
    01KYK6NHSFJNG9XV6D8K5SHWCV --> 01KYK6NHSHBJ0SV2MM8N3A0KJR
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHD4NMT2QVMQD2HHBP
    01KYK6NHSHZF8S0ZNGQ9ZAD05F --> 01KYK6NHSHKXZNTXS3F3ANDYV9
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHKZ20DY8FBB5S1PP9
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHQZZQV7DJM5A64C6E
    01KYK6NHSHZF8S0ZNGQ9ZAD05F --> 01KYK6NHSHRFE2KXPBTV76JR02
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHRFPGDZXKE6EH4QRJ
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHSASEERK1KJ7XVDPN
    01KYK6NHSHZJNNCYMEW9ZG77NP --> 01KYK6NHSHVZ2EZZH7NBRADW7E
    01KYK6NHSFJNG9XV6D8K5SHWCV --> 01KYK6NHSHZF8S0ZNGQ9ZAD05F
    01KYK6NHSFJNG9XV6D8K5SHWCV --> 01KYK6NHSHZJNNCYMEW9ZG77NP
Loading

Clone this wiki locally