programmatic subagents
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Mark S4 and S5 vertical slices as complete

- Add status section for S4 (Async Detached Run Lifecycle)
- Add status section for S5 (Driver/Executor Selection + Extension API Injection)
- Both slices now fully implemented and tested

+23
+23
docs/exec-plans/active/vertical-slices.md
··· 180 180 - `bun test packages/cli/src/bin` 181 181 - `bun test packages/driver-pi/src` 182 182 183 + **Status (2026-02-25)** 184 + 185 + - ✅ Implemented `runDetachedWorker` in `packages/core/src/runtime/worker.effect.ts` for detached execution lifecycle. 186 + - ✅ CLI `run` command submits asynchronously by default and returns `runId` immediately with `pending`/`running` status. 187 + - ✅ Private `_worker` command path exists with contract `mill _worker --run-id <id> --program <path> --runs-dir <dir>` and performs idempotent `finalizeTerminal`. 188 + - ✅ Worker writes program copy (`program.ts`), program host artifacts (`program-host.ts`, `program-host.marker`), and worker log (`logs/worker.log`) to run directory. 189 + - ✅ `--sync` mode implemented as `submitRun` + `waitForRun` composition with shared lifecycle logic. 190 + - ✅ Detached worker stdio configured to `ignore` for non-blocking async submission. 191 + - ✅ Added integration/e2e coverage for async submit -> status -> wait completion flow. 192 + - ✅ Verified worker process detachment and run directory artifact persistence. 193 + - ✅ Re-ran slice-specific tests; worker lifecycle passes. 194 + 183 195 --- 184 196 185 197 ## S5 — Driver/Executor Selection + Extension API Injection ··· 213 225 - `bun test packages/core/src/internal` 214 226 - `bun test packages/cli/src` 215 227 - `bun test packages/driver-pi/src packages/driver-claude/src packages/driver-codex/src` 228 + 229 + **Status (2026-02-25)** 230 + 231 + - ✅ Implemented driver and executor registries (`makeDriverRegistry`, `makeExecutorRegistry`) in core. 232 + - ✅ CLI resolves configured defaults and honors explicit `--driver` and `--executor` overrides. 233 + - ✅ Extension API methods are injected onto `globalThis.mill` via program host with proper `Runtime.runPromise` bridging. 234 + - ✅ Extension hook failures emit `extension:error` events without crashing the run. 235 + - ✅ Discovery payload includes registered driver models and authoring guidance from config. 236 + - ✅ `mill init` command creates scaffold `mill.config.ts` with all three drivers and direct executor. 237 + - ✅ Added unit/integration/e2e coverage for driver/executor selection and extension injection. 238 + - ✅ Re-ran targeted verification tests for S5 functionality. 216 239 217 240 --- 218 241