chore: update task board � Phase 0 and Phase 1 marked done #53

Merged
dev merged 1 commit from chore/update-task-board into main 2026-04-10 08:42:49 +00:00
19 changed files with 86 additions and 77 deletions
Showing only changes of commit 722d85c2a5 - Show all commits

View file

@ -4,7 +4,7 @@
> 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-08
Letzte Aktualisierung: 2026-04-10
---
@ -13,33 +13,16 @@ Letzte Aktualisierung: 2026-04-08
| ID | Titel | Phase | Branch | Blockiert durch |
|----|-------|-------|--------|-----------------|
| [DIS-004](DIS-004.md) | Runner: `--bare` + `--append-system-prompt-file` | 0 | `phase-0/bare-and-append-identity` | DIS-002 |
| [DIS-007](DIS-007.md) | Lock-File gegen Doppelstart | 0 | `phase-0/startup-lockfile` | DIS-001 |
| [DIS-008](DIS-008.md) | Forgejo Actions CI | 0 | `phase-0/ci-pipeline` | DIS-002, DIS-003, DIS-005 |
| [DIS-101](DIS-101.md) | Pino-Logger einführen | 1 | `phase-1/pino-logger` | Phase 0 done |
| [DIS-102](DIS-102.md) | `sanitizeForDiscord` — Pfade redaktieren | 1 | `phase-1/sanitize-for-discord` | DIS-101 |
| [DIS-103](DIS-103.md) | `ChannelQueue` — Per-Channel-FIFO | 1 | `phase-1/channel-queue` | DIS-101 |
| [DIS-104](DIS-104.md) | Globaler Semaphore (`max_concurrent_agents`) | 1 | `phase-1/concurrency-semaphore` | — |
| [DIS-105](DIS-105.md) | `splitForDiscord` — Codeblock-aware Splitting | 1 | `phase-1/split-for-discord` | DIS-101 |
| [DIS-106](DIS-106.md) | Runner-API-Refactoring → `RunResult`-Typ | 1 | `phase-1/runner-api-runresult` | DIS-101 |
| [DIS-107](DIS-107.md) | Zod-Schemas für Config, `agent.yaml`, CLI-Output | 1 | `phase-1/zod-schemas` | DIS-101 |
| [DIS-108](DIS-108.md) | DB-Schema SSOT → `src/db/schema.sql` | 1 | `phase-1/db-schema-ssot` | DIS-101 |
| [DIS-109](DIS-109.md) | `.env.example` + Vitest-Setup + `npm test` | 1 | `phase-1/vitest-setup` | — |
| [DIS-110](DIS-110.md) | `docs/cli-feature-probe.md` — CLI-Regression-Script | 1 | `phase-1/cli-probe` | — |
| — | | | | |
---
## Ready
*Startbereit — kein Blocker. Agent kann Branch anlegen und loslegen.*
*Empfohlene Startreihenfolge: DIS-002 → DIS-003 → DIS-001*
| ID | Titel | Phase | Branch | Priorität |
|----|-------|-------|--------|-----------|
| [DIS-002](DIS-002.md) | `shell: false` + `cross-spawn` Windows-Fix | 0 | `phase-0/harden-spawn` | p0 |
| [DIS-003](DIS-003.md) | `sanitizedEnv()` — Secrets aus Child-Env entfernen | 0 | `phase-0/sanitize-env` | p0 |
| [DIS-001](DIS-001.md) | Workspace-Root nach `~/.disclaw/workspaces/` | 0 | `phase-0/workspace-root-home` | p0 |
| [DIS-005](DIS-005.md) | Path-Traversal-Check in `/new-agent` | 0 | `phase-0/path-traversal-check` | p0 |
| [DIS-006](DIS-006.md) | `.claude/settings.json`-Template härten + Injection-Klausel | 0 | `phase-0/harden-settings-and-claudemd` | p0 |
| — | | | | |
---
@ -61,20 +44,46 @@ Letzte Aktualisierung: 2026-04-08
---
## Done
## 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 | — |
---
## Epics (Phase 26+)
## 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 |

View file

@ -1,14 +1,14 @@
---
id: DIS-001
status: ready
status: done
phase: 0
priority: p0
labels: [phase:0, type:feat, priority:p0, security]
branch: phase-0/workspace-root-home
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-08
---
# DIS-001: Workspace-Root nach `~/.disclaw/workspaces/` verschieben

View file

@ -1,14 +1,14 @@
---
id: DIS-002
status: ready
status: done
phase: 0
priority: p0
labels: [phase:0, type:fix, priority:p0, security]
branch: phase-0/harden-spawn
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-08
---
# DIS-002: `shell: false` + `cross-spawn` Windows-Fix im Runner

View file

@ -1,14 +1,14 @@
---
id: DIS-003
status: ready
status: done
phase: 0
priority: p0
labels: [phase:0, type:fix, priority:p0, security]
branch: phase-0/sanitize-env
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-08
---
# DIS-003: `sanitizedEnv()` — Secrets aus Child-Env entfernen

View file

@ -1,14 +1,14 @@
---
id: DIS-004
status: backlog
status: done
phase: 0
priority: p0
labels: [phase:0, type:feat, priority:p0, security]
branch: phase-0/bare-and-append-identity
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-09
---
# DIS-004: Runner mit `--bare` + `--append-system-prompt-file` aufrufen

View file

@ -1,14 +1,14 @@
---
id: DIS-005
status: ready
status: done
phase: 0
priority: p0
labels: [phase:0, type:fix, priority:p0, security]
branch: phase-0/path-traversal-check
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-08
---
# DIS-005: Path-Traversal-Check in `/new-agent`

View file

@ -1,14 +1,14 @@
---
id: DIS-006
status: ready
status: done
phase: 0
priority: p0
labels: [phase:0, type:feat, priority:p0, security]
branch: phase-0/harden-settings-and-claudemd
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-08
---
# DIS-006: `.claude/settings.json`-Template härten + `CLAUDE.md`-Injection-Klausel

View file

@ -1,14 +1,14 @@
---
id: DIS-007
status: backlog
status: done
phase: 0
priority: p1
labels: [phase:0, type:feat, priority:p1]
branch: phase-0/startup-lockfile
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-08
---
# DIS-007: Lock-File gegen Doppelstart

View file

@ -1,14 +1,14 @@
---
id: DIS-008
status: backlog
status: done
phase: 0
priority: p1
labels: [phase:0, type:ci, priority:p1]
branch: phase-0/ci-pipeline
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-08
---
# DIS-008: Forgejo Actions CI (build, test, lint)

View file

@ -1,14 +1,14 @@
---
id: DIS-101
status: backlog
status: done
phase: 1
priority: p1
labels: [phase:1, type:refactor, priority:p1]
branch: phase-1/pino-logger
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-101: Pino-Logger einführen, `console.*` ersetzen

View file

@ -1,14 +1,14 @@
---
id: DIS-102
status: backlog
status: done
phase: 1
priority: p1
labels: [phase:1, type:feat, priority:p1, security]
branch: phase-1/sanitize-for-discord
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-102: `sanitizeForDiscord` — Pfade aus Agent-Output entfernen

View file

@ -1,14 +1,14 @@
---
id: DIS-103
status: backlog
status: done
phase: 1
priority: p0
labels: [phase:1, type:feat, priority:p0]
branch: phase-1/channel-queue
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-103: `ChannelQueue` — Per-Channel-FIFO

View file

@ -1,14 +1,14 @@
---
id: DIS-104
status: backlog
status: done
phase: 1
priority: p1
labels: [phase:1, type:feat, priority:p1]
branch: phase-1/concurrency-semaphore
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-104: Globaler Semaphore (`max_concurrent_agents`)

View file

@ -1,14 +1,14 @@
---
id: DIS-105
status: backlog
status: done
phase: 1
priority: p0
labels: [phase:1, type:feat, priority:p0]
branch: phase-1/split-for-discord
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-105: `splitForDiscord` — Codeblock-aware Message-Splitting

View file

@ -1,14 +1,14 @@
---
id: DIS-106
status: backlog
status: done
phase: 1
priority: p1
labels: [phase:1, type:refactor, priority:p1]
branch: phase-1/runner-api-runresult
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-106: Runner-API-Refactoring → `RunResult`-Typ

View file

@ -1,14 +1,14 @@
---
id: DIS-107
status: backlog
status: done
phase: 1
priority: p1
labels: [phase:1, type:feat, priority:p1]
branch: phase-1/zod-schemas
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-107: Zod-Schemas für Config, `agent.yaml`, CLI-JSON-Output

View file

@ -1,14 +1,14 @@
---
id: DIS-108
status: backlog
status: done
phase: 1
priority: p1
labels: [phase:1, type:refactor, priority:p1]
branch: phase-1/db-schema-ssot
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-108: DB-Schema SSOT → `src/db/schema.sql`

View file

@ -1,14 +1,14 @@
---
id: DIS-109
status: backlog
status: done
phase: 1
priority: p1
labels: [phase:1, type:chore, priority:p1]
branch: phase-1/vitest-setup
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-109: `.env.example` + Vitest-Setup + `npm test`-Skript

View file

@ -1,14 +1,14 @@
---
id: DIS-110
status: backlog
status: done
phase: 1
priority: p2
labels: [phase:1, type:docs, priority:p2]
branch: phase-1/cli-probe
assignee: null
assignee: claude-agent
started: null
pr: null
merged: null
merged: 2026-04-10
---
# DIS-110: `docs/cli-feature-probe.md` — Manuelles CLI-Regression-Script