docs(11): reword SC-1 for River's single-client pgx listener split

This commit is contained in:
Jakub Zych
2026-09-29 13:38:46 +02:00
parent 9dabc6c5a1
commit a1ed5b3539

View File

@@ -499,7 +499,7 @@ Plans:
**Requirements**: JOBS-01, CLI-04, CLI-06, RT-01, RT-02, RT-03, SRCH-01
**Success Criteria** (what must be TRUE):
1. River runs on the shared `*sql.DB` (`riverdatabasesql`, transactional enqueue) with a separate `riverpgxv5` client for LISTEN/NOTIFY dispatch, verified by a timed test that job pickup is not poll-interval latency; job outcomes (complete, fail, skip) are queryable through a job manager service.
1. River runs on the shared `*sql.DB` (`riverdatabasesql`, transactional enqueue) with LISTEN/NOTIFY wake-ups on a small separate pgx pool (`riverdatabasesql.NewWithPgxListener`, one River client), verified by a timed test that job pickup is not poll-interval latency; job outcomes (complete, fail, skip) are queryable through a job manager service.
2. The queue worker runs via `summer queue:work` and the scheduler runs recurring commands via `summer schedule:run`.
3. The websockets plugin issues connection and subscription JWTs and publishes to the existing Centrifugo server with the same secret, claims and channel names, served at `GET /api/realtime/token`.
4. A channel-namespace authorizer registry re-validates on every subscribe; a broadcastable model interface with bulk-write suppression emits exactly one summary event for a bulk operation.