-
Notifications
You must be signed in to change notification settings - Fork 0
[Commercial Gap] Build monotonic, auditable Stripe subscription lifecycle #488
Copy link
Copy link
Open
Labels
area: apiAPI, protocol, event, or external contractAPI, protocol, event, or external contractarea: authAuthentication, authorization, identity, or tenant isolationAuthentication, authorization, identity, or tenant isolationarea: ci-cdCI, GitHub Actions, checks, release, or supply chainCI, GitHub Actions, checks, release, or supply chainarea: securitySecurity boundary, hardening, or vulnerability preventionSecurity boundary, hardening, or vulnerability preventionmaintenancepriority: mediumNormal-priority or P2 workNormal-priority or P2 workscope: commercial-readinessProduction, enterprise, release, or commercial readinessProduction, enterprise, release, or commercial readinessstatus: triagedOpen issue has an organization taxonomy assignmentOpen issue has an organization taxonomy assignmenttype: featureNew or expanded product capabilityNew or expanded product capability
Description
Activity
Metadata
Metadata
Assignees
Labels
area: apiAPI, protocol, event, or external contractAPI, protocol, event, or external contractarea: authAuthentication, authorization, identity, or tenant isolationAuthentication, authorization, identity, or tenant isolationarea: ci-cdCI, GitHub Actions, checks, release, or supply chainCI, GitHub Actions, checks, release, or supply chainarea: securitySecurity boundary, hardening, or vulnerability preventionSecurity boundary, hardening, or vulnerability preventionmaintenancepriority: mediumNormal-priority or P2 workNormal-priority or P2 workscope: commercial-readinessProduction, enterprise, release, or commercial readinessProduction, enterprise, release, or commercial readinessstatus: triagedOpen issue has an organization taxonomy assignmentOpen issue has an organization taxonomy assignmenttype: featureNew or expanded product capabilityNew or expanded product capability
Buyer problem
ScopeWeave exposes billing and entitlement concepts but does not yet have a release-safe Stripe subscription lifecycle. A production integration must not upgrade or downgrade an organization from a replayed, out-of-order, oversized, host-header-influenced, or incompletely mapped provider event.
Required vertical slice
Trusted configuration and Checkout
URL, not string-prefix logic;Webhook trust boundary
Content-Lengthwhere present and a streaming hard limit before buffering beyond the cap;Stripe-Signatureover exact raw bytes with a bounded timestamp tolerance and constant-time digest comparison;Entitlement state machine
trialing,active,past_due,unpaid,paused,canceled, and incomplete-state policy explicitly;Verification
NVIDIA_NIM_API_KEY-independent CI secrets only when explicitly configured;Authoritative baseline
Use Stripe's current Checkout Sessions, subscription webhook, webhook-signature, idempotency, API-version, and event-ordering documentation. Preserve useful raw-body HMAC and constant-time verification work from closed PR #456, but do not copy its request-time DDL, request-derived origin, unbounded body/provider transport, random per-call idempotency, or arrival-order entitlement overwrite.