feat(queue): derivePresenceStatus + gedeelde berichtpresets (IDEA-212) #59
No reviewers
Labels
No labels
severity/s4
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/scrum4me-shared!59
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/idea-212-presence-presets"
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?
Wat
Twee zuivere modules voor IDEA-212 (presetknoppen, multiselect-filters en watcher-overzicht op
/queue/messages):derivePresenceStatusinlib/queue-identity.ts, metPRESENCE_STATUSES,PresenceStatusenPresenceStatusInput. Dit is dezelfde bindende regel als de twins in s4m-queue (src/presence-db.ts) en scrum4me-mcp (src/queue/presence.ts), spec IDEA-194 §6.1. Hij wordt hier gedeeld zodat scrum4me-workers (watcher-matrix) en Scrum4Me hem kunnen importeren.lib/queue-message-presets.ts: de presetsfor-me,active,doneenall, metexpandPreset()(statuses / toModels / notToModels) enmatchesPreset().fixtures/queue-message-presets.json: de uitgeklapte presets voor niet-TS-clients (latere iOS/Swift-kopie). Een test houdt de fixture gelijk aanexpandPreset.lib/queue-message-presets.tsimporteert alleen types uit./queue-identity, zodatverify-no-depsgroen blijft.Waarom
Workers (snelfilters) en Scrum4Me (Watch-snapshot, nu nog letterlijke SQL) moeten dezelfde emmers gebruiken. Straks geldt dat ook voor de iOS-app. Spec en plan (dubbel GO) staan in scrum4me-workers
docs/superpowers/op branchclaude/idea-212-presets-watchers.Tests
__tests__/queue-presence-status.test.ts: 11 tests (de negen twin-gevallen, de statusvolgorde en de drempel). Rood gezien vóór de implementatie.__tests__/queue-message-presets.test.ts: 8 tests. Dat omvat alle presets, een job-id in Active, "elke status×model valt in precies één emmer" en de fixture-pariteit. Rood gezien vóór de implementatie.npm run verify: exit 0, 28 files en 293 tests.Na merge
scrum4me-workers en Scrum4Me pinnen hun submodule op de merge-commit. Die PR's volgen.
🤖 Generated with Claude Code
Verdict: REQUEST_CHANGES
geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
lib/queue-message-presets.ts:17— De nieuwe sharedlib-module importeert relatief met./queue-identityzonder.js-extensie. De productdocProduct-doc write closure in @shared (dep-clean, ESM)legt vast dat@sharedESM TS source gebruikt met.js-extensioned relative imports, omdat directe Node/tsx consumers afhankelijk zijn van correcte ESM-resolutie. Pas dit aan naar een.js-extensioned import zodat de module dezelfde runtime-conventie volgt als de rest van shared.Opmerkingen
De toegevoegde pure functies en tests zijn verder inhoudelijk coherent met de gedeelde-library rol van
scrum4me-shared: geen framework-/Prisma-imports, duidelijke fixtures voor niet-TS consumers, en dekking voor de presence-status volgorde en presetsemantiek.