All DIS-001 through DIS-110 set to status:done with merge dates. BOARD.md reorganized with Done sections per phase. Phase 1.5 Refinement epic added as planning placeholder. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
| id | status | phase | priority | labels | branch | assignee | started | pr | merged | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DIS-106 | done | 1 | p1 |
|
phase-1/runner-api-runresult | claude-agent | null | null | 2026-04-10 |
DIS-106: Runner-API-Refactoring → RunResult-Typ
Ziel
runner.ts gibt einen typsicheren RunResult-Typ zurück statt rohem JSON/String.
Ermöglicht saubere Fehlerunterscheidung (Timeout, CLI-Error, Parse-Error, Success).
Kontext
→ docs/development-plan.md §2 (Runner-Refactoring), Phase 1 Task 6.
Scope
- In:
src/agent/types.tsmitRunResult(discriminated union:success | timeout | cli-error | parse-error) ·runner.tsgibtRunResultzurück ·router.tsund alle Aufrufer nutzen den Typ - Out: Streaming-Variante (Phase 5)
Definition of Done
RunResultist ein discriminated union, keinany- Alle Aufrufer handhaben alle vier Cases explizit (TypeScript enforcement)
- Unit-Test
tests/unit/runner-result.test.tsmit Mock-Spawn für jeden Case npm run build && npm testgrün
Dateien (erwartet)
src/agent/types.tssrc/agent/runner.tssrc/router.tstests/unit/runner-result.test.ts
Abhängigkeiten
Blockiert durch: DIS-101 (Logger-Refactoring muss vorher stehen).
Spec
→ docs/backlog.md #DIS-106