fix: resolve FlowProcessor topic collisions, librarian timeout, tests

Fix critical bug where all FlowProcessor services shared the same spec
names ("request"/"response"), causing them to steal each other's NATS
topics. Now each service uses unique spec names matching the flow config
topic keys (e.g., "text-completion-request", "prompt-request",
"agent-request").

Fix librarian NATS consumer timeout (500ms → 2000ms, below NATS minimum).

Update seed-config and test-pipeline with correct flow topic mappings.
Add prompt template runner script.

Smoke test results: 11/11 passing (config CRUD, WebSocket, LLM,
librarian CRUD). Agent routing verified via manual curl test.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
elpresidank 2026-04-06 01:02:10 -05:00
parent 515fc0c264
commit 25d4227cb5
8 changed files with 147 additions and 98 deletions

View file

@ -83,14 +83,14 @@ export class LibrarianService extends AsyncProcessor {
while (this.running) {
try {
// Poll librarian requests
const libMsg = await this.libConsumer.receive(500);
const libMsg = await this.libConsumer.receive(2000);
if (libMsg) {
await this.handleLibrarianMessage(libMsg);
await this.libConsumer.acknowledge(libMsg);
}
// Poll collection management requests
const colMsg = await this.colConsumer.receive(500);
const colMsg = await this.colConsumer.receive(2000);
if (colMsg) {
await this.handleCollectionMessage(colMsg);
await this.colConsumer.acknowledge(colMsg);