feat(DIS-151): channel categorization + lifecycle management #60

Merged
dev merged 4 commits from refinement/channel-categories into main 2026-04-10 13:05:24 +00:00
Owner

Summary

  • Erstellt beim Start automatisch drei Discord-Kategorien (?? Aktive Agents, ?? Inaktive Agents, ??? Archiv)
  • Startup-Reconciliation ordnet alle vorhandenen Channels und Workspaces in die richtige Kategorie ein
  • channelDelete-Event-Handler bereinigt Workspaces/DB und stellt Management-Channel + Kategorien bei L�schung wieder her
  • Neue Agents (/new-agent) landen direkt in der aktiven Kategorie
  • Schlie�t KI-002, KI-002.1 aus docs/ideas/known-issues.md

Neue Dateien

  • src/lifecycle/categories.tsensureCategories(), moveToCategory()
  • src/lifecycle/reconcile.ts � Startup-Reconciliation
  • src/lifecycle/channel-delete-handler.tschannelDelete-Event-Logik

Ge�nderte Dateien

  • src/db/database.tsdeleteWorkspaceByChannelId()
  • src/bot.ts � State-Objekt, Lifecycle-Integration
  • src/commands/new-agent.tsactiveCategoryId als parent

Test plan

  • npm run build � fehlerfrei
  • npm test � 95/95 Tests gr�n
  • 13 neue Unit-Tests in tests/unit/reconcile.test.ts
## Summary - Erstellt beim Start automatisch drei Discord-Kategorien (`?? Aktive Agents`, `?? Inaktive Agents`, `??? Archiv`) - Startup-Reconciliation ordnet alle vorhandenen Channels und Workspaces in die richtige Kategorie ein - `channelDelete`-Event-Handler bereinigt Workspaces/DB und stellt Management-Channel + Kategorien bei L�schung wieder her - Neue Agents (`/new-agent`) landen direkt in der aktiven Kategorie - Schlie�t KI-002, KI-002.1 aus `docs/ideas/known-issues.md` ## Neue Dateien - `src/lifecycle/categories.ts` � `ensureCategories()`, `moveToCategory()` - `src/lifecycle/reconcile.ts` � Startup-Reconciliation - `src/lifecycle/channel-delete-handler.ts` � `channelDelete`-Event-Logik ## Ge�nderte Dateien - `src/db/database.ts` � `deleteWorkspaceByChannelId()` - `src/bot.ts` � State-Objekt, Lifecycle-Integration - `src/commands/new-agent.ts` � `activeCategoryId` als `parent` ## Test plan - [x] `npm run build` � fehlerfrei - [x] `npm test` � 95/95 Tests gr�n - [x] 13 neue Unit-Tests in `tests/unit/reconcile.test.ts`
dev added 2 commits 2026-04-10 12:48:28 +00:00
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat(DIS-151): channel categorization + lifecycle management
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
56b861f34c
- Add deleteWorkspaceByChannelId() to DisclawDatabase
- Add src/lifecycle/categories.ts: ensureCategories() + moveToCategory()
- Add src/lifecycle/reconcile.ts: reconcile() assigns channels to active/inactive/archive categories on startup
- Add src/lifecycle/channel-delete-handler.ts: handles channelDelete events for management, category, and agent channels
- Wire lifecycle into bot.ts: state object, ensureCategories, reconcile, channelDelete listener
- Extend handleNewAgent() with optional activeCategoryId to place new channels in the active category
- Add 13 unit tests covering all lifecycle scenarios

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
dev added 1 commit 2026-04-10 13:03:00 +00:00
tasks/DIS-151.md aktualisiert
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
e70816116d
dev added 1 commit 2026-04-10 13:05:09 +00:00
Merge remote-tracking branch 'origin/main' into refinement/channel-categories
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
d67d791782
dev merged commit 785ed7c72a into main 2026-04-10 13:05:24 +00:00
dev deleted branch refinement/channel-categories 2026-04-10 13:05:27 +00:00
Sign in to join this conversation.
No description provided.