LearnNewsExamplesServices
Frontmatter
id11845
titleSub 9: Sub-daemon cluster co-location (bridge + kb-alerting + kb-gc + kb-reconciliation) with daemon.mjs naming
stateClosed
labels
enhancementairefactoringarchitecture
assigneesneo-opus-ada
createdAtMay 23, 2026, 3:53 PM
updatedAtJun 7, 2026, 7:14 PM
githubUrlhttps://github.com/neomjs/neo/issues/11845
authorneo-opus-ada
commentsCount0
parentIssue11831
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[x] 11844 Sub 8: Orchestrator-cluster co-location (ai/daemons/orchestrator/) + daemon.mjs naming + test mirror + package.json
blocking[x] 11847 Sub 11: ai/scripts/ thematic split (lifecycle/maintenance/migrations/diagnostics/runners/setup/lint)
closedAtMay 23, 2026, 5:26 PM

Sub 9: Sub-daemon cluster co-location (bridge + kb-alerting + kb-gc + kb-reconciliation) with daemon.mjs naming

Closed v13.0.0/archive-v13-0-0-chunk-13 enhancementairefactoringarchitecture
neo-opus-ada
neo-opus-ada commented on May 23, 2026, 3:53 PM

Parent Epic

#11831 — Sub 9 of Epic (folder-structure cleanup; sub-daemon co-location).

Scope

Move the 4 sub-daemon clusters into per-daemon folders matching Sub 8's ai/daemons/orchestrator/ pattern. Each cluster: service-logic class + daemon.mjs entry-point + any private helpers.

Source moves

From To
ai/scripts/bridge-daemon.mjs ai/daemons/bridge/daemon.mjs
ai/scripts/bridge-daemon-queries.mjs ai/daemons/bridge/queries.mjs (rename per folder-context)
ai/daemons/KbAlertingService.mjs ai/daemons/kb-alerting/KbAlertingService.mjs
ai/scripts/kb-alerting-daemon.mjs ai/daemons/kb-alerting/daemon.mjs
ai/daemons/KbGarbageCollectionService.mjs ai/daemons/kb-gc/KbGarbageCollectionService.mjs
ai/scripts/kb-gc-daemon.mjs ai/daemons/kb-gc/daemon.mjs
ai/daemons/KbReconciliationService.mjs ai/daemons/kb-reconciliation/KbReconciliationService.mjs
ai/scripts/kb-reconciliation-daemon.mjs ai/daemons/kb-reconciliation/daemon.mjs

Test moves (mirror source)

  • test/playwright/unit/ai/daemons/KbAlertingService.spec.mjstest/playwright/unit/ai/daemons/kb-alerting/KbAlertingService.spec.mjs
  • test/playwright/unit/ai/daemons/KbGarbageCollectionService.spec.mjstest/playwright/unit/ai/daemons/kb-gc/KbGarbageCollectionService.spec.mjs
  • test/playwright/unit/ai/daemons/KbReconciliationService.spec.mjstest/playwright/unit/ai/daemons/kb-reconciliation/KbReconciliationService.spec.mjs
  • (No bridge unit spec exists currently.)

package.json

  • "ai:kb-alerting" script path: ./ai/scripts/kb-alerting-daemon.mjs./ai/daemons/kb-alerting/daemon.mjs
  • "ai:kb-gc" script path: ./ai/scripts/kb-gc-daemon.mjs./ai/daemons/kb-gc/daemon.mjs
  • "ai:kb-reconciliation" script path: ./ai/scripts/kb-reconciliation-daemon.mjs./ai/daemons/kb-reconciliation/daemon.mjs

.github/workflows

(none affected — no workflows reference bridge-daemon or kb-*-daemon paths)

Integration tests

  • test/playwright/integration/ai/kb-ingestion/multi-tenant.spec.mjs:114await import('./ai/daemons/KbReconciliationService.mjs') → update path

Acceptance Criteria

  1. 8 source moves + 3 test moves completed.
  2. 3 npm scripts updated.
  3. 1 integration test import updated.
  4. All affected unit + integration specs pass.
  5. npm run ai:kb-alerting, npm run ai:kb-gc, npm run ai:kb-reconciliation all work.
  6. Bridge-daemon-queries (now bridge/queries.mjs) consumed correctly by Orchestrator (cross-cluster import).

Depends on

Sub 8 #11844 (must merge first to free Orchestrator-cluster move; otherwise Sub 9 conflicts).

Authored by: [Claude Opus 4.7] (Claude Code)

tobiu referenced in commit 6cc9179 - "refactor(agentos): orchestrator-cluster co-location ai/daemons/orchestrator/ + daemon.mjs (#11844) (#11849) on May 23, 2026, 4:57 PM
tobiu referenced in commit 91366d2 - "refactor(agentos): sub-daemon cluster co-location ai/daemons/{bridge,kb-alerting,kb-gc,kb-reconciliation}/ + daemon.mjs (#11845) (#11850) on May 23, 2026, 5:26 PM
tobiu closed this issue on May 23, 2026, 5:26 PM
tobiu referenced in commit 32893c1 - "refactor(agentos): cross-daemon services bucket ai/services/{graph,ingestion}/ (#11846) (#11851) on May 23, 2026, 5:44 PM