M3 Completion Summary — Issuing Functionality¶
What's done (from POC)¶
- Manual credential issuance, live Velocity Credential Agent integration, QR/link claim journey, candidate search, CSV export, and reminder emails were all demonstrated today and matched well against the client's expectations.
- CSV batch credential issuance (M3-03) — gap identified 2026-08-16, closed 2026-08-17: a dedicated
BulkIssuanceService/processor pipeline now queues each uploaded employee via BullMQ and issues through the sameManualCredentialService.createManualCredential()logic the manual form uses, so bulk-issued credentials get identical CIH calls, validation, and claim-email delivery. Frontend (BulkIssueCredentialsForm.tsx) covers upload → confirm → issue → poll status → retry failed rows end to end. See M3-03 for the verified detail.
What's outstanding¶
- Scheduled (as opposed to on-demand) compliance/audit reports.
- Authentication success/fail-rate reporting — was explicitly deferred during the POC; needs an in/out decision for this milestone.
- CI/CD pipeline builds and tests automatically, but the actual deployment step to a live environment is still a placeholder pending an AWS hosting decision.
- A general security-hardening pass (beyond the encryption already in place).
Recommendation¶
Given today's demo went well specifically on this feature set, M3 is the lowest-risk milestone in the whole plan. Use it as the reference "definition of done" bar for M5 and M7, which are starting from nothing.