- TypeScript 97.2%
- Shell 2.8%
|
All checks were successful
CI / Verify (push) Successful in 36s
Merge pull request #68 (M41 increment 1) |
||
|---|---|---|
| .forgejo/workflows | ||
| __tests__ | ||
| fixtures | ||
| lib | ||
| prisma | ||
| scripts | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||
scrum4me-shared
Canonical Prisma schema + pure-TypeScript library shared between:
Scrum4Me(web/Vercel)scrum4me-workers(worker-management UI)scrum4me-mcp(MCP server)
Consumer usage
git submodule add https://git.jp-visser.nl/janpeter/scrum4me-shared.git vendor/scrum4me-shared
bash vendor/scrum4me-shared/scripts/gen-consumer-schema.sh > prisma/schema.prisma
npx prisma generate
Imports via path-alias:
import { resolveJobConfig } from '@/vendor/scrum4me-shared/lib/job-config'
Hardstop
lib/*.ts imports alleen TypeScript built-ins, zod, and other files within scrum4me-shared/lib/. No @prisma/client, next/*, react, or runtime-specifieke Node APIs (behalve crypto).
CI gate: scripts/verify-no-deps.sh.
Versioning
Consumers pinnen via submodule-SHA (geen tag-flow nodig). Bij breaking schema-changes: rollout-volgorde Scrum4Me (migrate) -> workers/mcp (generate).
See: Scrum4Me/docs/specs/2026-05-26-scrum4me-platform-split-design.md.
Review document contract
lib/queue-review-documents.ts defines versioned, defensively validated review
document references for queue review requests. lib/markdown-profile.ts defines
the stable Markdown profile identity and preview size limit; source examples
for platform clients are in fixtures/markdown-v1.json.
lib/queue-document-reader.ts leest zo'n referentie uit via injecteerbare
ports (DocumentSourcePorts) en geeft altijd een DocumentResult terug — bij
falen met een getypeerde DocumentFailureReason in plaats van een throw.
Managed dispatch contract
lib/queue-dispatch.ts definieert de dispatch-types (DispatchInput,
DispatchResult, DispatchState, PublishMode) voor managed queue dispatch;
lib/queue-dispatch-state.ts bevat de statetabel
(decideDispatchTransition) en lib/queue-dispatch-validation.ts de
zod-schema's en size-limieten. lib/queue-dispatch-start-permit.ts definieert
de getekende start-permit (claims, keyset-selectie op kid, klok-tolerantie),
lib/queue-dispatch-sources.ts de bronpinning via een getekend
prepared-sources-manifest, en lib/queue-dispatch-runtime-observation.ts de
gebonden runtime-stopobservatie. lib/queue-dispatch-projection.ts projecteert
een dispatch op queue-berichten. Adressen lopen via de
scrum4me-dispatch-server uit lib/queue-identity.ts; de bijbehorende
job-kinds zijn QUEUE_TASK en QUEUE_REVIEW. Canonieke voorbeelden staan in
__tests__/fixtures/dispatch-*.json.