-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap.md
Track gaps G1–G8 from Home §3 toward complete auto-migration and atomic AI-coding.
Related: Home · Architecture · Skill-Catalog
Status legend: todo · in_progress · done · blocked
Owners: leave blank or assign when work starts. Dates are planning targets, not commitments.
Turn today’s skill/playbook OS into a deterministic pipeline of atomic, tool-verified coding jobs:
- Comprehension grounded in AST/LSP/graph tools
- SPEC that drives executable checks
- Fix knowledge that compounds across runs
- Humans only at true architecture / platform decisions
Internal product bets (TODE.md): stock understanding + AST/LSP · incremental post-migration coding · knowledge sedimentation.
| ID | Gap | Priority | Status | Owner | Target |
|---|---|---|---|---|---|
| G1 | Deterministic comprehension (AST/LSP/Codegraph) | P0 | todo | ||
| G2 | Executable SPEC & verification ladder | P0 | todo | ||
| G3 | Closed-loop fix + ranked remediations | P0 | todo | ||
| G4 | Platform completeness (HarmonyOS) | P1 | todo | ||
| G5 | View/XML → Compose rewrite lane | P1 | todo | ||
| G6 | Post-migration incremental coding | P1 | todo | ||
| G7 | Headless / multi-session orchestrator | P1 | todo | ||
| G8 | Coverage dashboard & residual honesty | P2 | todo |
Problem: Understand nodes are still LLM + rg-heavy; large apps force controller degrade.
Work items:
- Define tool atoms:
analyze_module,extract_api_surface,resource_ownership,di_graph - Wire JetBrains MCP / LSP / optional Codegraph as required evidence for architecture + data-contract dims (not optional color)
- Checksum inputs → dimension JSON; fail closed on tool failure for P2+
- Document tool fallback policy when IDE MCP is down
Acceptance tests:
- On a mid-size Android module,
project-architectureanddata-contract-flowartifacts cite tool-derived symbol/module lists with file:line evidence for ≥80% of claimed types. - Re-run with unchanged sources produces byte-identical (or schema-stable) dimension JSON hashes.
- With MCP disabled, gate status is
blockedor explicitlydegraded— never silent guess-complete for P6.
Depends on: —
Unblocks: G2, G5 planning accuracy, G8 coverage fidelity
Problem: SPEC is rich markdown; “passed” can mean compile-plausible without semantic/visual proof.
Work items:
- Map SPEC screens/flows → generated smoke test stubs (unit + Compose UI where possible)
- Encode verification ladder in validator: weak (compile) → medium (contract) → strong (behavior) → strongest (theme/locale/platform)
- Risk-adaptive gate selection from analyst risk tags
- Default optional visual pack when Figma or screenshot baselines exist
Acceptance tests:
- Migration of a sample feature produces at least one runnable test or scripted check derived from
verification.md/ SPEC flows. - Validator report states ladder level achieved per module; high-risk modules cannot claim VG5 on compile-only.
- Missing user test cases still run a default smoke (entry + one happy path) or explicit
blocked: missing_smoke.
Depends on: G1 (better SPEC inputs)
Unblocks: G3 quality, G6 regression harness
Problem: Fix loops exist, but knowledge does not compound into a shared, ranked error→fix corpus.
Work items:
- Promote validator
code-gate/knowledge/into a durable insect / error-DB across runs - Rank remediations by success rate; inject top-N into fix prompts
- Universal “bisect to atom”: map failing Gradle/IDE log → smallest file/symbol edit scope
- Make
/fix-issue-kmpthe default remediation entry for VG2 failures
Acceptance tests:
- Same compile error class on a second project retrieves ≥1 prior
bug_fix_experienceentry automatically. - Fix mode records
allowed_filesand does not edit outside that set. - After max fix cycles, report includes ranked next actions — not only “failed”.
Depends on: G2 (clearer fail signals)
Unblocks: G7 CI reliability
Problem: Skills emphasize Android→KMP/CMP; HarmonyOS toolchain/interop is prose-level, not packaged gates.
Work items:
- Target profile pack:
ohosArm64expect/actual templates, interop notes (karakum / NMB / knoi-class patterns) - Automated third-party availability check (e.g. klibs-style) in planning-gate
- Proxy-model + DI bridge recipes as executable templates
- Optional validator scenario: HarmonyOS compile when toolchain present
Acceptance tests:
- Planning-gate emits
platform_capability_mapwith explicit ohos status:supported|gap|out_of_scope. - Sample expect/actual PlatformLogger (or equivalent) generated from template and compiles on Android; ohos path documented or gated.
- Missing HarmonyOS toolchain yields
skippedwith reason — not a false VG2 pass.
Depends on: —
Unblocks: Full A2K three-end story
Problem: CMP assumes Compose; View/XML rewrite cost is mostly human judgment.
Work items:
- Analyst flag:
ui_tech = view | compose | hybridwith rewrite cost score - Explicit rewrite lane in planning-gate (or route to
flow_d2cwhen Figma exists) - Merge policy: design truth vs legacy truth when both present
- Do not claim UI restoreability for View modules without rewrite plan
Acceptance tests:
- View-heavy module cannot reach M3 UI impl without
rewrite_planorout_of_scopemarker. - When Figma + Legacy both supplied, run manifest records chosen truth source.
- Restoreability audit fails closed if UI tech debt unresolved.
Depends on: G1 (accurate UI inventory)
Unblocks: Honest G8 UI coverage
Problem: Toolkit stops at migration; day-to-day feature coding on the KMP baseline is out of scope (TODE).
Work items:
- Adapter route:
incremental_dev(feature request against existing KMP + prior SPEC) - Reuse validator corpus as regression pack on every incremental change
- Machine-enforced edit policy: allowed files, API freeze, analytics parity
- Document “migration done → coding mode” handoff in wiki
Acceptance tests:
- After a migrated sample module, a small feature request runs through adapter without re-running full-project understand.
- Incremental run reuses prior
verification/ validation artifacts as regression baseline. - Edits outside
allowed_filesare blocked or reported as contract violation.
Depends on: G2, G3
Unblocks: Product expansion beyond one-shot migration
Problem: Swarm skills assume a capable interactive host; multi-day / CI runs are thin.
Work items:
- Checkpoint/resume across sessions (reuse
agents_rootledgers as source of truth) - Budget-aware planner: tokens, wall clock, module priority (formalize controller-degrade)
- Headless entry:
wow-migrator+ agent CLI with audit log - CI example workflow (GitHub Actions or local) for understand-only and validate-only
Acceptance tests:
- Kill mid-migration; resume from same
agents_rootcontinues at next failed gate without rewriting completed modules. - Budget exceed triggers documented degrade + partial coverage report (G8).
- CI job can run
only_understand_overvieworvalidation_handoffnon-interactively and uploadadapter_report/kmp_validation_report.
Depends on: G3 (stable fix loops)
Unblocks: Enterprise / team use
Problem: Large runs must not claim M4/M6/V0 for untouched modules; PMs need exportable coverage.
Work items:
- Machine-readable coverage: modules
v0_ready|partial|not_started - Metrics: restoreability %, build pass, human residual checklist
- Export
coverage_dashboard.json+ short Markdown summary from adapter/migrator/validator - Enforce memory rule: never claim gates for modules not actually migrated
Acceptance tests:
- Partial Telegram-scale (or fixture) run produces coverage file where sum of statuses = scheduled modules.
- Any
migration_reportclaiming V0 for anot_startedmodule fails a schema/lint check. - Dashboard lists human-required residuals explicitly.
Depends on: G7 degrade planner
Unblocks: Stakeholder reporting
G1 (tool-backed understand)
→ G2 (executable SPEC / ladder)
→ G3 (error-DB + atomic fix)
→ G7 (headless / resume) + G8 (coverage)
G4 (HarmonyOS pack) ── parallel after G1 planning hooks
G5 (View→Compose lane) ── parallel after G1 UI inventory
G6 (incremental coding) ── after G2 + G3
| Wave | Gaps | Outcome |
|---|---|---|
| Wave 1 | G1, G2, G3 | Trustworthy understand → verify → fix loop |
| Wave 2 | G4, G5, G7, G8 | Platform + UI debt + CI + honesty |
| Wave 3 | G6 | Migration toolkit becomes ongoing coding path |
Use this as the definition of done for any new skill/role:
| Building block | Requirement |
|---|---|
| Typed task atom | Declared inputs, tools, outputs, gate id, schema version |
| Tool-first edit | Pre/post diagnostics (MCP or compiler) on every edit atom |
| Smallest failing command | Bisect to file/symbol before broad rewrite |
| Idempotent store | Content or checksum under agents_root; stale detection |
| Human gate | Only for architecture / DI / platform choices |
| Learning loop | Successful fixes promote to knowledge DB / skill updates |
- Change Status / Owner / Target in the tracker table.
- Check off work items when merged.
- When a gap is
done, link the PR or skill version in the acceptance section. - Keep Home §3 narrative in sync if priorities change.
- Home — background and gap narrative
- Architecture — current gate/artifact model
- Skill-Catalog — where new atoms would land
- Repo
TODE.md— stock understand · incremental dev · knowledge