Skip to content

moooon

Motir

Vibe your whole project. Bring an idea — Motir's three AI layers plan it, track it, and ship it, end to end. You're looking at Motir, built in Motir.

  • Vibe Project
  • Open Source
  • AI Agent
  • AI Loop
1
requests
0
upvotes
145
planned
1,361
shipped

Motir · Work items

MOTIR-309Done

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:collab builds 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:coverage holds 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