Skip to content

Task: Production verification — dev-platform smoke suite + 48h soak

Description

Execute the PRD's Production Verification runbook on dev-platform (then staging/production when promoted): health checks, invoice write-back round-trip, concurrency race smoke, idempotency replay smoke, soft-delete smoke, filter/export smoke, synthetic alert triggers, then a 48-hour soak watching consumer lag, parked messages, and DLQ depth. Gate for epic close; includes the operator-applied RabbitMQ topology step and rollback rehearsal (consumer disable-by-unbinding).

Acceptance Criteria

  • [ ] Topology applied: trading queue bound to accounting exchange; consumers visible in RabbitMQ management (AC: 1)
  • [ ] Write-back smoke: a seeded source entity transitions ≤30 s after the accounting event; activity entry visible via API (AC: 2)
  • [ ] Concurrency smoke: two scripted writers claiming the same line item's remaining capacity → exactly one 201 + one 409 (AC: 3)
  • [ ] Idempotency smoke: double-POST with same key → one record, identical responses (AC: 4)
  • [ ] Soft-delete smoke: a deleted record in its initial state is absent from the list, deleted_at set in DB, activity entry present (AC: 5)
  • [ ] Filters/export smoke: the derived-status filter returns the right set; CSV export returns the filtered set (AC: 6)
  • [ ] Observability: dashboard live; one synthetic parked message fires the alert; rollback (unbind) rehearsed and documented (AC: 7)
  • [ ] 48 h soak: consumer lag ≈ 0, parked count stable, DLQ depth 0, no error-rate regression — evidence recorded in this task (AC: 8)
  • [ ] Sign-off: ADR-0066/0067/0068 reviewed and signed off by a second reviewer outside the implementing thread (AC: 9)

Technical Details

  • Environment: dev-platform via gateway (https://dev.platform.acme-example.co.uk); remember dev-platform terraform apply is operator-only — topology via k8s rabbitmq.com resources, not TF.
  • Rollback criteria per PRD §Production Verification (parked/DLQ growth, an over-allocation detected, crash-loop, p95 >2× baseline) → docs/platform/operations/rollback-runbook.md.
  • Resolved user names are null in dev until #1581 lands — not a blocker for this epic's smokes.

Dependencies

  • [ ] ALL implementation tasks (002–009) merged and deployed to dev-platform
  • [ ] Operator: RabbitMQ topology + any KV/ESO secret steps

Effort Estimate

  • Size: S (+48 h soak elapsed)
  • Hours: 8
  • Parallel: false

Definition of Done

  • [ ] Acceptance tests written (Gherkin scenarios)
  • [ ] Unit tests written and failing (red phase) — then passing after implementation
  • [ ] Integration tests written and passing
  • [ ] E2E tests pass (if UI changes involved)
  • [ ] Code implemented and makes all tests pass (green phase)
  • [ ] Code refactored for quality (refactor phase — DRY, naming, simplification)
  • [ ] Self-reviewed for bugs, edge cases, and conventions
  • [ ] Automated code review passed (/pm:epic-review)
  • [ ] PR created and CI checks pass
  • [ ] Production verification steps documented
  • [ ] Deployed and verified in production (see /pm:prod-verify)
  • [ ] Architecture decisions referenced in Dev Notes (if architecture.md exists)
  • [ ] Dev Agent Record completed (model, files, completion notes)

Dev Notes

Architecture Patterns

  • PRD §Production Verification (authoritative checklist); architecture.md §5 monitoring thresholds + rollout/rollback

Project Structure

  • Smoke scripts under the epic dir or scripts/ per repo convention; evidence recorded in this task's Dev Agent Record

References

  • docs/platform/operations/{monitoring-runbook.md,rollback-runbook.md,deployment-guide.md}

Dev Agent Record

  • Agent Model Used: [to be filled by implementing agent]
  • Completion Notes: [to be updated per subtask completion]
  • File List: [to be updated — all files created/modified/deleted]

File Modification Rules

Implementing agents may ONLY modify these sections: Task/Subtask checkboxes, Dev Agent Record, File List, Status. Do NOT modify: Description, Acceptance Criteria, Dev Notes, Dependencies, Definition of Done.