disclaw/tasks/BOARD.md
Nick Tabeling c1a63036e6
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: mark DIS-153 done
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 09:52:58 +02:00

114 lines
5.1 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 (DIS-151 done)
---
## 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 |
|----|-------|-------|--------|-----------|
| [DIS-152](DIS-152.md) | Gemappte Projektpfade (host:virtual) | 1.5 | `refinement/mapped-project-paths` | p2 |
| [DIS-154](DIS-154.md) | Discord Rich Features (Reactions, Dateien) | 1.5 | `refinement/discord-rich-features` | p1 |
---
## 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 |
---
## Done — Phase 1.5 (Refinement)
*Gemergt in `main`.*
| ID | Titel | Gemergt | PR |
|----|-------|---------|----|
| [DIS-151](DIS-151.md) | Channel-Kategorisierung + Lifecycle | 2026-04-10 | #60 |
| [DIS-153](DIS-153.md) | Model-Auswahl pro Agent | 2026-04-13 | #62 |
---
## 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 |