Add QA pass I — money flowing backwards (only where money moves) #3

Closed
opened 2026-08-17 22:51:04 -05:00 by null · 0 comments
Owner

Builds implement the checkout-success webhook and leave the reverse paths unhandled, so access is granted once and never revoked. Refund, chargeback, cancellation and failed renewal each need to take away what the purchase gave.

Externally evidenced, not learned here: an auditor of AI-built apps calls it the single thing they most often fix, and one report puts a refund bug at $600K a month at a financial institution. Mark it precautionary for this portfolio and conditional in scope.

Pass I is deleted outright from projects that take no money. ClaudeQAPlan.md's own rule: a pass that never applies is noise, a pass that is always skipped is a lie.

Verify: docs/qa/ClaudeQAPlan.md lists pass I marked (only where money moves), naming refund, chargeback, cancellation and failed renewal, and docs/qa/ClaudeQACoverage.md has a row for it.

Builds implement the checkout-success webhook and leave the reverse paths unhandled, so access is granted once and never revoked. Refund, chargeback, cancellation and failed renewal each need to take away what the purchase gave. Externally evidenced, not learned here: an auditor of AI-built apps calls it the single thing they most often fix, and one report puts a refund bug at $600K a month at a financial institution. Mark it precautionary for this portfolio and conditional in scope. Pass I is deleted outright from projects that take no money. ClaudeQAPlan.md's own rule: a pass that never applies is noise, a pass that is always skipped is a lie. Verify: docs/qa/ClaudeQAPlan.md lists pass I marked *(only where money moves)*, naming refund, chargeback, cancellation and failed renewal, and docs/qa/ClaudeQACoverage.md has a row for it.
null added this to the Batch 01 — Production-readiness controls milestone 2026-08-17 22:51:04 -05:00
null added the
P2
label 2026-08-17 22:51:04 -05:00
null closed this issue 2026-08-17 22:54:13 -05:00
Sign in to join this conversation.
No Label
P0
P1
P2
release-blocker
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: null/Project-Template#3
No description provided.