You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Conformance coverage: loose billing_cycle_anchor allowance, and test-clock cassettes for renewal and discount-window behaviour #22
The anchor allowance is too loose. The **.billing_cycle_anchor allowed difference in tests/conformance/allowed_differences.py (~1493) accepts any pair of integers. That is why replay never caught the stale anchor after trial_end: "now" (cassette 12 seq 29 and seq 39, fixed in Fix renewal periods, pending-item sweep, repeating coupons and canceled_at (#12–#15) #17), and it would hide a regression of that fix. Other blanket timestamp allowances may have the same problem.
Some behaviour has no recording. Behaviour that only happens when time passes isn't covered by any cassette:
whether an invoice minted exactly at a discount's end is discounted (the world says no);
renewal line periods and the invoice's look-back period;
the day clamp on a repeating coupon's end;
day 29–31 renewals;
Stripe's 1-hour draft before a renewal finalizes.
Why it matters
These rulings rest on documentation and probes, not recordings. The Stripe MCP can't advance test clocks, so they can't be checked live.
Suggested next steps
Change the anchor allowance to "equal, or equal to the replayed call's clock". This needs a comparator that knows the request time, or a per-step predicate.
Add a tools_dev.record scenario that uses test clocks: subscribe with a 3-month repeating coupon, advance through four renewals, and record the invoices. A test-mode key is required.
Activity