disclaw/tasks/BOARD.md
Nick Tabeling 722d85c2a5
Some checks failed
CI / build-and-test (ubuntu-latest) (pull_request) Has been cancelled
CI / build-and-test (windows-latest) (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
chore: update task board — Phase 0 and Phase 1 marked done
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>
2026-04-10 10:42:16 +02:00

103 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DisClaw — Kanban Board
> **Regeln**: Status nur in der Issue-Datei (`tasks/DIS-XXX.md`) ändern, dann hier die Karte verschieben.
> Developer-Agent nimmt eine "Ready"-Karte, setzt Status auf `in-progress`, erstellt Branch, öffnet PR.
> PM-Agent (oder User) reviewt PR und setzt Status auf `done`.
Letzte Aktualisierung: 2026-04-10
---
## Backlog
*Noch nicht startbar — Abhängigkeiten offen oder Phase noch nicht freigegeben.*
| ID | Titel | Phase | Branch | Blockiert durch |
|----|-------|-------|--------|-----------------|
| — | | | | |
---
## Ready
*Startbereit — kein Blocker. Agent kann Branch anlegen und loslegen.*
| ID | Titel | Phase | Branch | Priorität |
|----|-------|-------|--------|-----------|
| — | | | | |
---
## In Progress
*Branch existiert, Developer-Agent arbeitet aktiv daran.*
| ID | Titel | Branch | Agent | Gestartet |
|----|-------|--------|-------|-----------|
| — | | | | |
---
## In Review
*PR ist offen, wartet auf Review.*
| ID | Titel | PR | Reviewer |
|----|-------|----|----------|
| — | | | |
---
## Done — Phase 0 (Security Hardening)
*Gemergt in `main`.*
| ID | Titel | Gemergt | PR |
|----|-------|---------|----|
| [DIS-001](DIS-001.md) | Workspace-Root nach `~/.disclaw/workspaces/` | 2026-04-08 | — |
| [DIS-002](DIS-002.md) | `shell: false` + `cross-spawn` Windows-Fix | 2026-04-08 | — |
| [DIS-003](DIS-003.md) | `sanitizedEnv()` — Secrets aus Child-Env entfernen | 2026-04-08 | — |
| [DIS-004](DIS-004.md) | Runner: `--bare` entfernt (OAuth-Fix) | 2026-04-09 | #32 |
| [DIS-005](DIS-005.md) | Path-Traversal-Check in `/new-agent` | 2026-04-08 | — |
| [DIS-006](DIS-006.md) | `.claude/settings.json`-Template härten | 2026-04-08 | — |
| [DIS-007](DIS-007.md) | Lock-File gegen Doppelstart | 2026-04-08 | — |
| [DIS-008](DIS-008.md) | Forgejo Actions CI | 2026-04-08 | — |
---
## Done — Phase 1 (Solides MVP)
*Gemergt in `main`.*
| ID | Titel | Gemergt | PR |
|----|-------|---------|----|
| [DIS-101](DIS-101.md) | Pino-Logger einführen, `console.*` ersetzen | 2026-04-10 | #45 |
| [DIS-102](DIS-102.md) | `sanitizeForDiscord` — Pfade redaktieren | 2026-04-10 | #46 |
| [DIS-103](DIS-103.md) | `ChannelQueue` — Per-Channel-FIFO | 2026-04-10 | #48 |
| [DIS-104](DIS-104.md) | Globaler Semaphore (`max_concurrent_agents`) | 2026-04-10 | #44 |
| [DIS-105](DIS-105.md) | `splitForDiscord` — Codeblock-aware Splitting | 2026-04-10 | #47 |
| [DIS-106](DIS-106.md) | Runner-API-Refactoring → `RunResult`-Typ | 2026-04-10 | #51 |
| [DIS-107](DIS-107.md) | Zod-Schemas für Config, `agent.yaml`, CLI-Output | 2026-04-10 | #49 |
| [DIS-108](DIS-108.md) | DB-Schema SSOT → `src/db/schema.sql` | 2026-04-10 | #50 |
| [DIS-109](DIS-109.md) | `.env.example` + Vitest-Setup + `npm test` | 2026-04-10 | #42 |
| [DIS-110](DIS-110.md) | `docs/cli-feature-probe.md` — CLI-Regression-Script | 2026-04-10 | #43 |
---
## Epics (Phase 1.5 Refinement + Phase 26+)
*Werden am Phasen-Anfang in granulare Issues verfeinert.*
| Epic | Titel | Phase | Status |
|------|-------|-------|--------|
| DIS-EP-150 | Phase-1.5 Refinement (QoL) | 1.5 | **planning** |
| [DIS-EP-201](EPICS.md#dis-ep-201) | DB-Migration + `SessionStore`-Methoden | 2 | locked |
| [DIS-EP-202](EPICS.md#dis-ep-202) | Runner-Integration `--resume` mit Fallback | 2 | locked |
| [DIS-EP-203](EPICS.md#dis-ep-203) | Usage-Metriken + `agent_runs`-Tabelle | 2 | locked |
| [DIS-EP-204](EPICS.md#dis-ep-204) | Integration-Tests Session-Resume + Fork-Case | 2 | locked |
| [DIS-EP-301](EPICS.md#dis-ep-301) | Typing-Refresh + `sendResponse`-Helper | 3 | locked |
| [DIS-EP-302](EPICS.md#dis-ep-302) | Attachment-Inbox für Discord-Bilder | 3 | locked |
| [DIS-EP-303](EPICS.md#dis-ep-303) | Input-Limit + User-Feedback-Reactions | 3 | locked |
| [DIS-EP-304](EPICS.md#dis-ep-304) | Tests send-response + Attachment-Inbox | 3 | locked |
| [DIS-EP-401](EPICS.md#dis-ep-401) | Profile-Registry-Grundgerüst | 4 | locked |
| [DIS-EP-402](EPICS.md#dis-ep-402) | Fünf Profile (developer/researcher/writer/ops/sandboxed) | 4 | locked |
| [DIS-EP-403](EPICS.md#dis-ep-403) | `/new-agent profile:<name>` Option | 4 | locked |
| [DIS-EP-404](EPICS.md#dis-ep-404) | PreToolUse-Hook `guard-tool.cjs` + Audit-Log | 4 | locked |
| [DIS-EP-405](EPICS.md#dis-ep-405) | Integration-Tests Hook-Guard + Profile-Permissions | 4 | locked |
| [DIS-EP-501](EPICS.md#dis-ep-501) | `runAgentStream()` mit `stream-json` | 5 | locked |
| [DIS-EP-502](EPICS.md#dis-ep-502) | Defensiver NDJSON-Event-Parser | 5 | locked |
| [DIS-EP-503](EPICS.md#dis-ep-503) | `stream-to-discord` — Edit-Debouncing | 5 | locked |
| [DIS-EP-504](EPICS.md#dis-ep-504) | Feature-Flag + Fallback + Integration-Tests | 5 | locked |