5.6.1 Collaboration-heavy fixture — `db:seed:collab` loaded-issue seed through the shipped services (+ helpers, CI-lane cap)
Estimate: 28m · Depends on: 5.1.2, 5.2.2, 5.2.3, 5.3.3, 5.4.2, 5.4.3, 5.4.4
The fixture gap (the 4.7.1 precedent): no existing large seed builds collaboration data. A scripts/seed-collab.ts (+ pnpm db:seed:collab) constructing the loaded issue — and a small spread of normally-loaded ones — through the shipped services only (the seed rule: no raw inserts; this doubles as a bulk smoke test of every Epic-5 write path).
The loaded issue: 300+ comments (threads with replies, a realistic mention/author spread across the seed team, deterministic content), 60+ attachments (mixed panel/editor sources — the editor ones genuinely referenced from bodies so link-on-write produces them), all five custom-field types valued (incl. an archived-option value), 10+ labels, 3+ components (one with a default assignee), 15+ watchers, and 500+ revisions accumulated from real edits (title/status/assignee/field churn — NOT synthetic rows). Deterministic (the FNV-hash convention — no Date.now/random seeds; stable across reseeds) and parameterised by a cap so the CI lane runs reduced (the board-at-scale cap-40 precedent) while local runs go full-size. Fixture helpers (tests/e2e/_helpers/collab.ts): accessors for the loaded issue + the known mention/watcher/attachment counts the specs assert against.
Valid-data discipline: blob uploads use small real fixture files (the 5.2.8 convention); fractional positions stay valid index keys (the board-seed lesson); comment timestamps spread over a realistic range so paging/interleave specs have real boundaries.
Acceptance criteria
pnpm db:seed:collabbuilds the loaded issue + spread idempotently through the shipped services (re-run converges; any service error fails the script loudly), deterministic across runs, cap-parameterised (env var) with the CI lane reduced.- The seeded shape matches the spec sheet above (counts, mixed sources, threads, archived-option value, default-assignee component) — asserted by a fixture self-check at the end of the script.
- Helpers expose the loaded issue + expected counts; existing seeds and suites are untouched and green.
pnpm test:coverageholds on any new shared helpers.
Context refs
scripts/seed conventions:db:seed:large(2.5.16),seedLargeBoard(3.5.1), the 4.7.1 sprint-shaped seed — the fixture lineage + the cap/CI-lane pattern- The Epic-5 services (5.1.2 / 5.2.2 / 5.2.3 / 5.3.3 / 5.4.2-4) — the only write paths the seed may use
- The board-E2E memories (valid fractional keys; CI lane cap=40) + the no-raw-inserts seed rule (MOTIR.md Plan seed §)
tests/e2e/_helpers/conventions