feat(queue): gedeeld adres- en statusvocabulaire van de s4m-queue #40
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/queue-identity-shared"
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?
Eerste van vijf PR's. Spec:
scrum4me-mcpdocs/superpowers/specs/2026-07-25-queue-identity-shared-module-design.md(nog op branchclaude/s4m-queue-chat-search-244a7c).Waarom
Het vocabulaire van
agent_messagestond met de hand gekopieerd ins4m-queue/src/types.tsenscrum4me-workers/lib/queue/types.ts, en het fase-2-plan vanscrum4me-mcpvoegde een derde kopie toe. De kopieen waren al gedivergeerd: beide typerensourceals'cli' | 'dashboard'terwijl de gedeployde CHECK'mcp'toestaat en fase 2 die waarde gaat schrijven.Aanleiding is Kimi als derde AI-platform: bij vier kopieen wordt handmatig bijhouden onhoudbaar.
Wat hier in zit
lib/queue-identity.ts(57 regels, nul imports) plus zes tests. Alleen de gesloten woordenlijsten en de triviale guards.validateTaskMeta,AgentMessageenCHANNELblijven bewust in de consumers.s4m-queuewordt geen consument: die repo bouwt met kaletscnaardist/en draagt geen submodule. Hij houdt een bewuste tweelingkopie, met een header die dat vastlegt (PR 5).Reviewnotities
task: 'result'eninfo: 'data'door alle tests en door de DDL glipt: detype-CHECK accepteert alle zes waarden enreply_link_matches_typevraagt alleen of het een antwoord-type is. Een reply op een task zou dan blijvend als antwoord-op-een-info worden opgeslagen. Mutatietest bevestigt:tsclaat dit schoon door, alleen de test vangt het.migration.sqltegen dit bestand toetst. Tot die tijd bewaakt geen test de overeenkomst met de DDL.Verificatie
npm run verifygroen: dep-gateOK: lib/ is dep-clean,tsc --noEmitschoon, 22 testbestanden / 237 tests.Na de merge
Drie repos pinnen op de nieuwe main-SHA: Scrum4Me (pariteitstest), scrum4me-workers (re-exports +
source-fix), scrum4me-mcp (fase-2-plan). Die volgorde staat in het plan; PR 2 gaat eerst omdat die bewijst dat het vocabulaire klopt.🤖 Generated with Claude Code
Verdict: COMMENT
Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
lib/queue-identity.ts:64— De toelichting bijQUEUE_REPLY_TYPEzegt datas const satisfiesvoorkomt dat properties schrijfbaar zijn en noemt runtime-risico in een langlopend serverproces. In de uitgevoerde JavaScript blijft het object echter gewoon muteerbaar;as constbeschermt alleen de TypeScript-typekant. Als runtime-mutatie hier echt een risico is, gebruikObject.freeze(...)of pas de comment aan zodat die geen runtime-garantie suggereert.Samenvatting
De nieuwe module is pure TypeScript, introduceert geen verboden runtime-dependencies en sluit inhoudelijk aan bij de productdocs voor
scrum4me-sharedals canonieke bron voor gedeelde status-/vocabulairelogica. De toegevoegde tests pinnen de belangrijkste mappings en guards. Geen blokkerende findings gevonden.