disclaw/tasks/DIS-103.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

1.3 KiB

id status phase priority labels branch assignee started pr merged
DIS-103 done 1 p0
phase:1
type:feat
priority:p0
phase-1/channel-queue claude-agent null null 2026-04-10

DIS-103: ChannelQueue — Per-Channel-FIFO

Ziel

Mehrere Nachrichten im selben Channel werden strikt seriell abgearbeitet. Parallele Channels bleiben parallel. Keine Race Conditions auf Workspace-Dateien.

Kontext

docs/development-plan.md §2.3, Phase 1 Task 3.

Scope

  • In: src/runtime/channel-queue.ts mit ChannelQueue-Klasse · Integration in router.ts: messageCreate läuft durch channelQueue.enqueue(channelId, () => runAgent(...))
  • Out: Persistente Queue über Prozessneustart

Definition of Done

  • Unit-Test tests/unit/channel-queue.test.ts: FIFO-Ordnung, Error-Recovery (fehlgeschlagene Task blockiert Queue nicht), Map-Cleanup nach leerer Queue
  • Integration-Test tests/integration/channel-queue-router.test.ts: drei schnell enqueued Messages werden in Reihenfolge abgearbeitet
  • npm run build && npm test grün

Dateien (erwartet)

  • src/runtime/channel-queue.ts
  • src/router.ts
  • tests/unit/channel-queue.test.ts
  • tests/integration/channel-queue-router.test.ts

Abhängigkeiten

Blockiert durch: DIS-101.

Spec

docs/backlog.md #DIS-103