Status: Phase 17 complete; Phase 14 in progress (2026-07-26 — tests/ + solid benchmark relocated)
Canonical V8 architecture: packages/v8/ARCHITECTURE.md
Capability decisions: docs/CAPABILITY_INVENTORY.md
F5 operator guide: docs/INITIAL_LAUNCH.md
Tests / solid benchmark: docs/TESTS.md
This document freezes product package boundaries. It does not redesign V8 module internals. Live V8 code is at packages/v8/src/ (@mitii/v8). Hosts and tests prefer @mitii/sdk over V8 public facades.
Execution order:
- Phase 16 — clean active tree; one
legacy/vault + one-click purge; strip new-code compat — done (vault purged 2026-07-26) - Phase 17 — F5 / initial launch wiring for
apps/vscode— done (pnpm run f5:verify) - Phase 14 —
tests/+ solid benchmark + package consumer suites (last) — in progress
apps/vscode ──┐
apps/cli ──┼──► packages/host ──► packages/sdk ──► packages/v8
apps/daemon ──┤ │
│ └──► packages/automation (schedules / claim runner)
tests/* ──────┘
(incl. tests/benchmark)
Forbidden:
packages/v8 → apps/* | packages/sdk | packages/host | packages/automation | vscode | webview
packages/sdk → apps/* | packages/host | packages/automation | vscode
packages/automation → apps/* | packages/sdk | packages/host | packages/v8
packages/host → apps/* | vscode
apps/* → another app's internals
any product package → tests/* | legacy/*
F5 / CI → legacy/*
mitii/
├── package.json # private workspace root ONLY
├── pnpm-workspace.yaml
├── .vscode/ # F5 → apps/vscode (Phase 17)
├── packages/
│ ├── v8/ # @mitii/v8
│ ├── sdk/ # @mitii/sdk
│ ├── host/ # @mitii/host (shared host kit: indexing / ports / presets)
│ └── automation/ # @mitii/automation (Phase 1 control plane)
├── apps/
│ ├── vscode/
│ ├── cli/ # mitii schedule | serve | ask …
│ └── daemon/ # mitii-daemon (long-lived serve)
├── tests/ # Phase 14
│ ├── reports/
│ ├── benchmark/ # solid suite (from repo-root benchmark/)
│ ├── packages/{v8,sdk}/
│ ├── architecture/
│ ├── contract/
│ ├── integration/
│ └── e2e/
├── docs/
└── (legacy/ purged — do not recreate)
After Phase 16 + human purge the active root must not keep a second src/ kernel, active test/ dump, twin tools/benchmark, or a legacy/ vault.
| Package / app | npm / publish name | Notes |
|---|---|---|
| V8 runtime | @mitii/v8 |
packages/v8 |
| SDK | @mitii/sdk |
hosts/tests use this |
| Host kit | @mitii/host |
shared indexing, ports adapters, presets, checkpoints, project rules |
| Automation | @mitii/automation |
schedules, SQLite runs, claim/lease runner (Phase 1) |
| CLI | @mitii/cli |
solid benchmark agent target; schedule / serve |
| Daemon | @mitii/daemon |
long-lived automation process entry |
| VS Code extension | @mitii/vscode |
VSIX; F5 development path |
| Solid benchmark | @mitii/solid-benchmark |
tests/benchmark |
| Workspace root | private | never published as product |
- Host → SDK → V8 is mandatory for VS Code and CLI.
- Daemon / channels / board: daemon reintroduced as
apps/daemon+@mitii/automation(Phase 1). Channels/board remain deferred unless scored ≥7. - Legacy vault: purged (2026-07-26) via
pnpm run legacy:purge. Do not recreatesrc/kernelor a second legacy tree. - F5 loads
apps/vscodeonly (docs/INITIAL_LAUNCH.md). - Tests: only
tests/+ package-local*.spec.ts; old suites were vaulted then purged, not ported. - Shim / dual-brand (
thunder.*) removed in Phase 16.
| Shim | Must remove by |
|---|---|
apps/vscode thunder.* dual APIs |
Phase 16 |
| Deprecated V8/SDK aliases | Phase 16 |
Root scripts pointing at src/extension.ts |
Phase 16 |
.vscode thunder prelaunch / root extensionPath |
Phase 17 — done |
Repo-root benchmark/ |
Moved to tests/benchmark/ (Phase 14) |
legacy/ vault itself |
Purged 2026-07-26 (MITII_PURGE_LEGACY=1 pnpm run legacy:purge) |
| Phase | Outcome |
|---|---|
| 10–13 | Packaging — done |
| 15 | Host UX on SDK/V8 — done |
| 16 | Clean repo + legacy/ vault + strip compat — done (vault purged) |
| 17 | F5 / initial launch wiring — done (f5:verify) |
| 14 | tests/ + solid benchmark — next (last) |
packages/v8/ARCHITECTURE.mdpackages/v8/ROADMAP.mddocs/CAPABILITY_INVENTORY.mddocs/INITIAL_LAUNCH.mddocs/TESTS.mddocs/RELEASE.mdscripts/legacy-purge.mjs(idempotent guard; exits non-zero iflegacy/already absent)