feat(messages): leesbare afzender voor dispatch-antwoorden (M41 T-1969) #120

Merged
janpeter merged 1 commit from feat/m41-dispatch-sender-label into main 2026-10-03 10:28:24 +02:00
Owner

Samenvatting

M41, taak T-1969 (story ST-1620). Een antwoord van de dispatchservice verschijnt in Messages nu met een leesbare afzender in plaats van het ruwe adres scrum4me-dispatch:<verzoek-uuid>. Dat was een vraag van JP (2026-10-03).

Weergave

  • Met een job: Codex-reviewer (dispatchjob) · gpt-6.1-sol · job 41e4a8f1 → mac:claude · reviewed. Bij een taak staat er "worker" in plaats van "reviewer".
  • Zonder job: Dispatchverzoek 0f2b346c.

Wat ongewijzigd blijft

  • Het ruwe adres blijft beschikbaar als tooltip (title) en in het detailpaneel (from).
  • De filters "Van server" en "Van model" werken nog op de ruwe velden.
  • Gewone queueberichten en de oorspronkelijke verzoekrij, die van een echte agent komt, veranderen niet.

Gegevens

  • loadDispatchJobs haalt per pagina in één Prisma-query de claude_jobs op via dispatch_request_id. Gebruikt worden runtime, kind en het model (model_id, anders requested_model). Bij een herhaalpoging wint de nieuwste job.
  • Prisma is hier nodig: de berichten komen uit de ops-database, terwijl claude_jobs in de Scrum4Me-database staat. De werkitem-verrijking doet dit op dezelfde manier.
  • De runtimerol leest queue_dispatch_requests niet. Als het ophalen faalt, blijft het ruwe adres staan.
  • De labelfunctie is puur: dispatchSenderLabel in lib/queue/dispatch-view.ts.

Test

  • npm run verify is groen: 1415 tests geslaagd.
  • Er is één lintwaarschuwing (taskCode is ongebruikt). Die bestond al op main en zit niet in deze diff.
  • Nieuwe tests:
    • labelfunctie (4);
    • batch-lookup en verrijking in ops-db (4);
    • weergave (1).
  • Niet gedraaid: een controle tegen een echte database en een controle van het scherm. Die volgt na de uitrol, alleen op opdracht van JP.

🤖 Generated with Claude Code

## Samenvatting M41, taak T-1969 (story ST-1620). Een antwoord van de dispatchservice verschijnt in Messages nu met een leesbare afzender in plaats van het ruwe adres `scrum4me-dispatch:<verzoek-uuid>`. Dat was een vraag van JP (2026-10-03). **Weergave** - Met een job: `Codex-reviewer (dispatchjob) · gpt-6.1-sol · job 41e4a8f1 → mac:claude · reviewed`. Bij een taak staat er "worker" in plaats van "reviewer". - Zonder job: `Dispatchverzoek 0f2b346c`. **Wat ongewijzigd blijft** - Het ruwe adres blijft beschikbaar als tooltip (`title`) en in het detailpaneel (`from`). - De filters "Van server" en "Van model" werken nog op de ruwe velden. - Gewone queueberichten en de oorspronkelijke verzoekrij, die van een echte agent komt, veranderen niet. **Gegevens** - `loadDispatchJobs` haalt per pagina in één Prisma-query de `claude_jobs` op via `dispatch_request_id`. Gebruikt worden `runtime`, `kind` en het model (`model_id`, anders `requested_model`). Bij een herhaalpoging wint de nieuwste job. - Prisma is hier nodig: de berichten komen uit de ops-database, terwijl `claude_jobs` in de Scrum4Me-database staat. De werkitem-verrijking doet dit op dezelfde manier. - De runtimerol leest `queue_dispatch_requests` niet. Als het ophalen faalt, blijft het ruwe adres staan. - De labelfunctie is puur: `dispatchSenderLabel` in `lib/queue/dispatch-view.ts`. ## Test - `npm run verify` is groen: 1415 tests geslaagd. - Er is één lintwaarschuwing (`taskCode` is ongebruikt). Die bestond al op main en zit niet in deze diff. - Nieuwe tests: - labelfunctie (4); - batch-lookup en verrijking in ops-db (4); - weergave (1). - Niet gedraaid: een controle tegen een echte database en een controle van het scherm. Die volgt na de uitrol, alleen op opdracht van JP. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(messages): leesbare afzender voor dispatch-antwoorden
All checks were successful
CI / Verify (pull_request) Successful in 3m50s
c27f46a9ee
Een antwoord van de dispatch-service toonde het ruwe adres
scrum4me-dispatch:<request-uuid>. De rij en kop tonen nu runtime, rol,
model en korte job-id van de job met dezelfde dispatch_request_id
(één gebatchte Prisma-lookup, claude_jobs), of 'Dispatchverzoek <id>'
zonder job. Het ruwe adres blijft tooltip en 'from' in het detail.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
s4m-codex-reviewer left a comment

COMMENT

geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.

Geen blokkerende codefinding vastgesteld. De gebatchte Prisma-verrijking past bij de gescheiden databases; fouten behouden het ruwe adres en de queueweergave. De bestaande reviewdocument-resolutie blijft intact. Tests dekken runtime/rol/model, ontbrekende jobs, batching, databasefouten en het behoud van het ruwe adres in tooltip/detail.

Findings:

  • MINOR — app/(app)/queue/messages/_components/messages-view.tsx:59 — De helper is tussen de JSDoc over annuleren en isCancellable ingevoegd. Verplaats de helper vóór dat commentaarblok, zodat het commentaar bij de juiste functie blijft.
  • INFO — tests/lib/queue/ops-db-dispatch-sender.test.ts:1 — Testuitvoering kon niet starten: /tmp is noexec (esbuild EACCES, Rollup ERR_DLOPEN_FAILED). Dit is een review-omgevingsbeperking, geen aangetoonde PR-regressie. Tests, typecheck en build zijn niet bevestigd; daarom geen APPROVED.

Verificatie: PR-head opgehaald en gecontroleerd op c27f46a9ee4c836d51e96fcad42fd3b4fd9cf113; ESLint op alle negen gewijzigde bestanden geslaagd. Productdocs architecture/overview, manual/page-queue-messages en patterns/queue-review-documents geraadpleegd. De diff bevat geen documentatie-update; de betekenis van de leesbare afzender en het behoud van het ruwe adres zijn wel in codecomments beschreven.

# COMMENT geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden. Geen blokkerende codefinding vastgesteld. De gebatchte Prisma-verrijking past bij de gescheiden databases; fouten behouden het ruwe adres en de queueweergave. De bestaande reviewdocument-resolutie blijft intact. Tests dekken runtime/rol/model, ontbrekende jobs, batching, databasefouten en het behoud van het ruwe adres in tooltip/detail. Findings: - **MINOR — app/(app)/queue/messages/_components/messages-view.tsx:59** — De helper is tussen de JSDoc over annuleren en `isCancellable` ingevoegd. Verplaats de helper vóór dat commentaarblok, zodat het commentaar bij de juiste functie blijft. - **INFO — __tests__/lib/queue/ops-db-dispatch-sender.test.ts:1** — Testuitvoering kon niet starten: `/tmp` is `noexec` (esbuild `EACCES`, Rollup `ERR_DLOPEN_FAILED`). Dit is een review-omgevingsbeperking, geen aangetoonde PR-regressie. Tests, typecheck en build zijn niet bevestigd; daarom geen APPROVED. Verificatie: PR-head opgehaald en gecontroleerd op `c27f46a9ee4c836d51e96fcad42fd3b4fd9cf113`; ESLint op alle negen gewijzigde bestanden geslaagd. Productdocs `architecture/overview`, `manual/page-queue-messages` en `patterns/queue-review-documents` geraadpleegd. De diff bevat geen documentatie-update; de betekenis van de leesbare afzender en het behoud van het ruwe adres zijn wel in codecomments beschreven.
Sign in to join this conversation.
No reviewers
No labels
severity/s4
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/scrum4me-workers!120
No description provided.