Engineering Gap
No single integration test covers the complete claim lifecycle: campaign create → claim create → AI verification → approval → onchain disburse → archive. Tests are fragmented across unit and e2e files with mocked dependencies.
Codebase Evidence
app/backend/test/verification-lifecycle.e2e-spec.ts: Covers verification flow but not full lifecycle
app/backend/test/claims.e2e-spec.ts: Claims API tests with mocked onchain
app/backend/test/critical-flows.e2e-spec.ts: Critical flows but uncertain coverage
Risk Profile
End-to-end aid distribution regression undetected.
Remediation Strategy
Write integration test with real SQLite/PostgreSQL, mocked AI service, and mocked onchain. Create campaign, create claim, verify, approve, disburse, archive — assert each state transition.
Success Conditions
Change Surface
New test: app/backend/test/claim-lifecycle.integration-spec.ts
Security Review
No security impact.
Completion Checklist
Engineering Gap
No single integration test covers the complete claim lifecycle: campaign create → claim create → AI verification → approval → onchain disburse → archive. Tests are fragmented across unit and e2e files with mocked dependencies.
Codebase Evidence
app/backend/test/verification-lifecycle.e2e-spec.ts: Covers verification flow but not full lifecycleapp/backend/test/claims.e2e-spec.ts: Claims API tests with mocked onchainapp/backend/test/critical-flows.e2e-spec.ts: Critical flows but uncertain coverageRisk Profile
End-to-end aid distribution regression undetected.
Remediation Strategy
Write integration test with real SQLite/PostgreSQL, mocked AI service, and mocked onchain. Create campaign, create claim, verify, approve, disburse, archive — assert each state transition.
Success Conditions
Change Surface
New test:
app/backend/test/claim-lifecycle.integration-spec.tsSecurity Review
No security impact.
Completion Checklist