feat(mvp): step 10 — moderation queue, rollups, workflow editor
4 months ago
Authored
grim- db: moderation service (create/list/decide with tx enqueue), resume-run
queue, insights (daily rollups + real ModStats home stats), getRepoById
- worker: moderation items created on pause, resume-run consumer (snapshot-
driven, outcomes derived from run_steps, decision edge walk, surface
re-emit), daily rollup job + cron
- web: /moderation (approve/deny queue), /workflows (react flow editor —
palette from RULE_CATALOG, edge conditions, schema-checked save), home stat
cards on real insights, nav entries
- contracts: DEFAULT_WORKFLOW + jsonValueSchema (JSON-typed rule config)
- round-trip proven: editor emission → validate.ts → executor (committed
artifact); integration: pause ⇒ pending item; deny ⇒ block + re-emitted
surface; test-infra retry + fixture margin fixes
Parent8464ab8
33 files changed
- DECISIONS.md+35−0
- VERIFICATION-QUEUE.md+10−0
- all-summaries.md+37−0
- apps/web/package.json+1−0
- apps/web/src/components/layouts/dashboard-topbar.tsx+4−0
- apps/web/src/components/moderation/live-queue.tsx+124−0
- apps/web/src/components/workflows/editor/canvas.tsx+189−0
- apps/web/src/components/workflows/editor/node-card.tsx
+54
−0
apps/web/src/components/workflows/workflows-page.tsx+108−0apps/web/src/lib/moderation-queue.functions.ts+53−0apps/web/src/lib/moderation.functions.ts+10−4apps/web/src/lib/workflow-editor.test.ts+49−0apps/web/src/lib/workflow-editor.ts+105−0apps/web/src/lib/workflows.functions.ts+43−0apps/web/src/routes/moderation.tsx+18−0apps/web/src/routes/workflows.tsx+18−0apps/worker/fixtures/editor-output.workflow.json+137−0apps/worker/src/default-workflow.ts+2−67apps/worker/src/editor-roundtrip.test.ts+49−0apps/worker/src/index.ts+28−1apps/worker/src/jobs/resume-run.ts+140−0apps/worker/src/jobs/rollup.ts+14−0apps/worker/src/jobs/run-workflows.ts+11−2apps/worker/src/moderation.integration.test.ts+180−0apps/worker/src/process-event.integration.test.ts+3−1bun.lock+35−0packages/contracts/src/workflow.ts+87−2packages/db/src/index.ts+4−0packages/db/src/queue.ts+10−1packages/db/src/services/insights.ts+138−0packages/db/src/services/moderation.ts+117−0packages/db/src/services/repos.ts+5−0packages/db/src/testing.ts+38−23