feat(queue): job-adres als dashboard-bestemming + pin-bump (M30 P0.4, workers-helft) #78
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/m30-p0.4-job-destination"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
M30 P0.4, workers-helft (plan: Scrum4Us docs/plans/M30-scrum4us-review-jobs.md @ b4b3352, §Task P0.4). Basis: main @
68d5cf0(r17-herpin geverifieerd); geciteerde regelnummers herverifieerd vóór het editen.Gitlink:
vendor/scrum4me-shared→cf38b54. De shim (lib/queue/types.ts) re-exporteert het job-namespace onder lokale namen en draagt de rauwe kolomrepresentatie + het éne flatten/unflatten-paar (r3/codex-MAJOR-6: geen casts, de consumer-shapes liegen niet over de kolommen).Bestemming, action én formulier (r2/codex-MAJOR-4):
PushPayload/PushFormDatadragen een canoniek adres;pushMessageActionvalideert viaparseAddress(melding blijft'Ongeldige bestemming'); ops-db'sPushInputdraagt het gediscrimineerde adres en flattent; het formulier krijgt een vrij bestemmingsveld naast de selects (operator-tool) zodatscrum4us-job:<jobid>intypbaar is.AgentMessage/NotifyEnvelopeeerlijk verbreed;rules-syncvolgt.Tests: action-matrix (beide paden + weigering
'scrum4us-job:'/'scrum4us-job:a:b'), render-test die BEIDE bestemmingspaden daadwerkelijk verstuurt (de r1-valkuil), en de positieve realdb-test — rij én NOTIFY-envelope tegen echte Postgres (gedraaid op een wegwerp-DBqueue_test_m30: 9/9 groen). Volledige suite 802 groen; typecheck groen; lint 0 errors (1 pre-existing warning in job-card.tsx, onaangeraakt).P0.G stap 5: mergen ná stap 3/4, dan dashboard-redeploy + de live probe
scrum4us-job:probe-<datum>pushen, zien in /queue/messages, cancellen.🤖 Generated with Claude Code
vendor/scrum4me-shared -> cf38b54 (post-P0.1-merge main-head). De shim (lib/queue/types.ts) re-exporteert het job-namespace onder lokale namen (JOB_SERVER, Address, parseAddress, formatAddress, isJobId) en draagt de rauwe kolomrepresentatie plus het ene flatten/unflatten-paar. De bestemming is nu eerlijk gediscrimineerd, actie EN formulier: PushPayload/PushFormData dragen een canoniek adres ('server:model' of 'scrum4us-job:<jobid>'), pushMessageAction valideert via parseAddress ('Ongeldige bestemming' blijft de melding), ops-db's PushInput draagt het gediscrimineerde adres en flattent naar de text-kolommen, en het formulier krijgt een vrij bestemmingsveld naast de selects zodat een job-id intypbaar is. AgentMessage/NotifyEnvelope verbreed (to_model = opake tekst op het job-namespace); rules-sync volgt de nieuwe PushInput. Tests: action-matrix (acceptatie beide paden + weigering), render-test op beide bestemmingspaden, en de positieve realdb-test die rij én NOTIFY-envelope tegen echte Postgres inspecteert. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>Verdict: COMMENT
geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
vendor/scrum4me-shared:1— De PR wijzigt de shared submodule naarcf38b54..., terwijl de workers-code nu hard afhankelijk is van nieuwe exports zoalsQUEUE_JOB_SERVER,parseQueueAddress,formatQueueAddressenisQueueJobId. De aangeleverde unified diff bevat alleen de submodule-SHA en niet de inhoud van die shared-wijziging, waardoor de kern van het nieuwe adrescontract niet inhoudelijk te reviewen is. Dit blokkeert geen zichtbare workers-code, maar maaktAPPROVEDniet verantwoord.app/(app)/queue/messages/_components/messages-view.tsx:617— De UI voegt een vrije bestemming toe, maar de productdoc voor/queue/messagesbeschrijft nog uitsluitend server/model-selects. Dit is documentatie-drift voor een admin-facing operationele flow.Samenvatting
De zichtbare workers-wijzigingen volgen grotendeels het bestaande patroon: server-action validatie voor auth/type/body, één queue-DB schrijver, en gerichte tests voor action/UI/real-DB gedrag. Geen blocking finding gevonden in de zichtbare diff. Door de niet-inhoudelijk zichtbare submodulewijziging kies ik safe-default
COMMENTin plaats vanAPPROVED.Reactie op de review:
Submodule-inhoud niet in de diff: klopt — de gitlink-bump verwijst naar de shared-wijziging die zélf inhoudelijk als scrum4me-shared PR #45 is gereviewd en gemerged;
cf38b54ís die merge-head. Dit PR neemt hem alleen over, conform de M30 P0.G-volgorde (pin-bumps ná de shared-merge). Het volledige adrescontract (QUEUE_JOB_SERVER,QueueAddress,parseQueueAddress,formatQueueAddress,isQueueJobId) staat daar inlib/queue-identity.tsmet de bijbehorende testmatrix.Doc-drift
/queue/messages: overgenomen —d6d8402werktdocs/pages/queue-messages.mdbij: het vrije bestemmingsveld en hetscrum4us-job:<jobid>-adres staan nu in de Doel-paragraaf én in de componentenlijst (PushForm).Verdict: COMMENT
Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
app/(app)/queue/messages/_components/messages-view.tsx:603: na submit wordt alleenbodygeleegd;toFreeblijft staan en blijft de selects overrulen. Dat is zichtbaar, maar operationeel foutgevoelig: een volgend bericht kan onbedoeld opnieuw naar hetzelfdescrum4us-job:<jobid>-adres gaan terwijl de operator vooral de server/model-selects ziet. OverweegsetToFree('')na een succesvolle submit of een explicietere mode-keuze.Samenvatting
De wijziging gebruikt de gedeelde adresparser, centraliseert flattening naar de bestaande kolommen, werkt de dashboard-doc bij en voegt gerichte action-, UI- en realdb-tests toe. De aanpak is conform de bestaande queue/dashboard-patronen; geen blokkerende bevindingen gevonden.