F3.2 — Endpoint Migration: QC, Exports, Monitoring (fieldwork-processing)
Move all existing WPP business logic out of dashboard-api into fieldwork-processingi with payload/file parity: the Quality Control engine (runner + ~18 methods, bucket adjust, backfill, soft-remove), the 7 file exports, and all monitoring endpoints — with one deliberate behaviour change: every file-producing endpoint becomes an async job (trigger → status → presigned download) backed by SQS + S3, replacing the Redis job store.
Signed off and JIRA-Done, but zero PRs are attached to this ticket — GitHub hasn't confirmed any of the described endpoint migration (QC engine, seven file exports, monitoring endpoints, the Redis-to-SQS/S3 async-job conversion) reached master.
- Since last activity
- 11d
- Oldest staged work
- —
- Acceptance criteria covered
- 0/4
- PRs open
- 0
Stories
- No branch or PR yet
1 tracked · 1 done, unverified
Acceptance criteria
- Old vs new endpoint outputs are identical for the same seed data, aside from the documented async envelope changeno signal
- Exactly one artifact is produced with no duplicate state transitions on a worker crash or redelivered SQS messageno signal
- A wpp:user token calling an admin-only route gets a 403no signal
- Authorization is re-checked before a presigned S3 download URL is returned; no endpoint writes to local disk or streams multi-MB buffersno signal
Gaps
- Old vs new endpoint outputs are identical for the same seed data, aside from the documented async envelope change — no ticket or code
- Exactly one artifact is produced with no duplicate state transitions on a worker crash or redelivered SQS message — no ticket or code
- A wpp:user token calling an admin-only route gets a 403 — no ticket or code
- Authorization is re-checked before a presigned S3 download URL is returned; no endpoint writes to local disk or streams multi-MB buffers — no ticket or code
Criteria are read from the ticket description on every run. A gap closes on its own once a story or PR matching it appears — nothing here is closed by hand.