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
Updated 2026-05-20 -- broaden tracking to Kilo Pass SALE conversions and rename the affiliate spec.
21
21
Updated 2026-05-20 -- tighten attribution boundaries, SALE uniqueness, Kilo Pass eligibility, reversal scope, and
22
22
provider-contract ownership after audit.
23
+
Updated 2026-05-28 -- allow full SALE reversal for enforced Stripe EFW refunds.
23
24
24
25
## Conventions
25
26
@@ -57,9 +58,9 @@ BCP 14 [RFC 2119] [RFC 8174] keywords apply only when they appear in all capital
57
58
-**Kilo Pass cadence**: Eligible billing cadence `monthly` or `yearly`.
58
59
-**Promo code**: Provider- or checkout-applied purchase code that is available as a discrete reportable value for an
59
60
eligible SALE.
60
-
-**Disputed eligible sale**: Eligible payment-provider-backed SALE whose underlying payment later receives a provider
61
-
dispute notification.
62
-
-**Commission reversal**: Provider-facing rejection of an affiliate SALE commission for a disputed eligible sale.
61
+
-**Adverse eligible sale**: Eligible payment-provider-backed SALE whose underlying payment later receives a provider
62
+
dispute notification or is refunded under enforced Stripe Early Fraud Warning handling.
63
+
-**Commission reversal**: Provider-facing rejection of an affiliate SALE commission for an adverse eligible sale.
63
64
-**Reversal identity**: Provider-retained reference needed to reverse a prior SALE without guessing which reported
64
65
action to reject.
65
66
-**Primary operation**: User creation, authentication, subscription settlement, billing progression, or another
@@ -193,26 +194,28 @@ after the winning attribution is established.
193
194
27. Admin-only subscription interventions, such as admin trial resets, admin cancellations, or manual trial-date edits,
194
195
MUST NOT emit affiliate conversion events.
195
196
196
-
### Dispute Reversals
197
+
### Adverse Payment Reversals
197
198
198
-
28. When the payment provider reports creation of a dispute for a disputed eligible sale, the system MUST submit a full
199
-
commission reversal. This covers payment-provider-backed personal KiloClaw SALE events and eligible Kilo Pass SALE
200
-
events.
199
+
28. When the payment provider reports creation of a dispute for an adverse eligible sale, or Kilo refunds that sale under
200
+
enforced Stripe Early Fraud Warning handling, the system MUST submit a full commission reversal. This covers
201
+
payment-provider-backed personal KiloClaw SALE events and eligible Kilo Pass SALE events.
201
202
202
-
29. Partial payment disputes MUST still reverse the full associated affiliate commission.
203
+
29. Partial payment disputes and an enforced EFW refund of only the remaining refundable amount MUST still reverse the
204
+
full associated affiliate commission.
203
205
204
-
30. The system MUST NOT automatically restore reversed commission if the dispute is later resolved in the brand's favor.
206
+
30. The system MUST NOT automatically restore reversed commission if the dispute is later resolved in the brand's favor
207
+
or an EFW-enforced account later receives legitimate-user remediation.
205
208
206
-
31. Reversal handling MUST preserve intent when a dispute arrives before the corresponding SALE is reversal-ready. Once
207
-
the relevant SALE and reversal identity become resolvable, the pending dispute MUST be eligible for reversal
208
-
submission.
209
+
31. Reversal handling MUST preserve intent when a dispute or enforced EFW refund arrives before the corresponding SALE is
210
+
reversal-ready. Once the relevant SALE and reversal identity become resolvable, the pending adverse payment MUST be
211
+
eligible for reversal submission.
209
212
210
213
32. Automatic reversal is REQUIRED only when a reversal identity exists or can be recovered without guessing. If an
211
214
earlier eligible sale lacks recoverable reversal identity, the system MUST make that gap operationally observable for
212
215
non-automated follow-up.
213
216
214
-
33. Reversal processing MUST be idempotent. Duplicate dispute notifications for the same disputed eligible sale MUST NOT
215
-
produce multiple commission reversals.
217
+
33. Reversal processing MUST be idempotent. Duplicate dispute notifications, duplicate EFW processing, or a later
218
+
dispute for an already EFW-reversed eligible sale MUST NOT produce multiple commission reversals.
216
219
217
220
### Client-Side Identity Bridging
218
221
@@ -249,6 +252,10 @@ after the winning attribution is established.
249
252
250
253
## Changelog
251
254
255
+
### 2026-05-28 -- Enforced EFW refund reversals
256
+
257
+
Expanded adverse SALE reversal to enforced Stripe Early Fraud Warning refunds so proactive refunds can reverse a full eligible affiliate commission without waiting for a dispute, while preserving reversal identity and deduplication requirements.
258
+
252
259
### 2026-05-20 -- Audit clarifications after Kilo Pass expansion
253
260
254
261
Removed VISIT reporting from this spec, clarified that Kilo Pass affiliate SALE requires a positive paid invoice amount,
@@ -73,6 +74,9 @@ BCP 14 [RFC 2119] [RFC 8174] keywords apply only when they appear in all capital
73
74
-**Chargeback**: Stripe dispute event for the qualifying Stripe payment.
74
75
-**Fraud-marked payment**: Qualifying payment marked fraudulent by Stripe, an internal fraud process, or an authorized
75
76
operator.
77
+
-**Enforced EFW refund**: Refund of a qualifying personal Stripe payment performed under
78
+
`.specs/stripe-early-fraud-warnings.md` after a new Stripe Early Fraud Warning; it is an adverse payment even when no
79
+
later chargeback is created.
76
80
-**Support review**: Durable `review_required` reward state with triggering reason, affected billing period, and source
77
81
payment or dispute recorded. Kilo team review is required before an already-applied reward can be canceled, clawed
78
82
back, or otherwise adjusted.
@@ -625,18 +629,22 @@ conversion, local referral rewards are authoritative and affiliate SALE reportin
625
629
626
630
### Refunds, Reversals, and Fraud
627
631
628
-
159. Rewards from a qualifying Stripe payment MUST be canceled if Stripe reports a chargeback for that payment.
632
+
159. Rewards from a qualifying Stripe payment MUST be treated as adverse when Stripe reports a chargeback or when
633
+
Kilo enforces an EFW refund for that payment.
629
634
630
635
160. Pending or earned-but-unapplied rewards MUST be canceled when the qualifying Stripe payment is charged back,
631
-
refunded, or fraud-marked.
636
+
refunded, fraud-marked, or refunded as part of enforced EFW handling. This rule applies to both KiloClaw and Kilo
637
+
Pass qualifying payments.
632
638
633
-
161. Already-applied rewards from a charged-back, refunded, or fraud-markedpayment MUST be marked for support review
634
-
and MUST NOT be automatically canceled or clawed back.
639
+
161. Already-applied rewards from a charged-back, refunded, fraud-marked, or EFW-refunded payment MUST be marked for
640
+
support review and MUST NOT be automatically canceled or clawed back.
635
641
636
-
162. If a qualifying Impact action must be reversed, the system SHOULD use Impact's reverse-action mechanism instead of
637
-
creating an unrelated negative conversion.
642
+
162. If a qualifying Impact action must be reversed, including after an enforced EFW refund that prevents a later
643
+
chargeback event, the system SHOULD use Impact's reverse-action mechanism instead of creating an unrelated negative
644
+
conversion.
638
645
639
-
163. Reversal and reward-cancellation handling MUST be idempotent.
646
+
163. Reversal and reward-cancellation handling MUST be idempotent across EFW refund, ordinary refund, fraud marking, and
647
+
later chargeback delivery for the same qualifying payment.
640
648
641
649
### GDPR and PII
642
650
@@ -715,6 +723,10 @@ conversion, local referral rewards are authoritative and affiliate SALE reportin
715
723
716
724
## Changelog
717
725
726
+
### 2026-05-28 -- Enforced EFW refunds are adverse payments
727
+
728
+
Classified an enforced Stripe Early Fraud Warning refund as an adverse qualifying payment for both covered products. Pending or earned-but-unapplied rewards cancel, already-applied rewards require support review, and later refund or chargeback delivery must remain idempotent.
729
+
718
730
### 2026-05-22 -- Rename and expand to Kilo Pass
719
731
720
732
Renamed `.specs/kiloclaw-referrals.md` to `.specs/impact-referrals.md`. Generalized shared Impact Advocate referral
Copy file name to clipboardExpand all lines: .specs/kiloclaw-billing.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,7 @@ Updated 2026-04-16 -- successor subscription rows on personal reprovision.
30
30
Updated 2026-05-10 -- price-versioned legacy and current pricing.
31
31
Updated 2026-05-12 -- retired current Standard first-month discount.
32
32
Updated 2026-05-18 -- organization hard-expiry suspension and recovery contract.
33
+
Updated 2026-05-28 -- exceptional personal Stripe EFW cancellation and suspension contract.
33
34
34
35
## Conventions
35
36
@@ -91,6 +92,10 @@ capitals, as shown here.
91
92
the pre-increase KiloClaw prices.
92
93
-**Current pricing**: The default price version for fresh subscription
93
94
rows created after the price-increase rollout.
95
+
-**Fraud-enforcement cancellation**: Exceptional immediate personal
96
+
subscription cancellation and suspension required when a personal
97
+
Stripe payment is enforced under `.specs/stripe-early-fraud-warnings.md`.
98
+
It is not a user cancellation or ordinary payment-dunning transition.
94
99
95
100
## Overview
96
101
@@ -831,6 +836,15 @@ rows renew.
831
836
price version. Re-enrollment after final cancellation MUST follow
832
837
Pricing Versions and Legacy Lineages rule 9.
833
838
839
+
### Fraud-Enforcement Cancellation Exception
840
+
841
+
1. The ordinary period-end continuation rule in Cancellation and Reactivation rule 4 MUST NOT apply when a canonical personal Stripe payment is enforced under `.specs/stripe-early-fraud-warnings.md`.
842
+
2. Fraud enforcement MUST immediately cancel renewal for every current personal KiloClaw subscription belonging to the contained user, including Stripe-funded, hybrid, and pure-credit renewal state. Any Stripe-backed cancellation MUST leave local billing state reconciled with the provider outcome.
843
+
3. Fraud enforcement MUST stop or suspend affected personal compute promptly, transition the affected subscription into non-access-granting canceled/suspended state, and assign a fresh destruction deadline 7 days after suspension.
844
+
4. Fraud enforcement MUST preserve the seven-day destruction grace and MUST NOT destroy instance data immediately. Remediation during that interval is an audited admin/support path, not automatic payment recovery.
845
+
5. Every fraud-enforcement mutation MUST be captured in append-only subscription change history with a non-sensitive fraud-enforcement reason and a system actor.
846
+
6. This exception MUST NOT apply to organization-managed KiloClaw subscriptions or instances based solely on an organization-owned EFW; organization warnings remain review-only under the EFW spec.
847
+
834
848
### Billing Lifecycle Background Job
835
849
836
850
1. The background job MUST be protected by an authorization secret;
@@ -1325,6 +1339,11 @@ rows renew.
1325
1339
1326
1340
### Changelog
1327
1341
1342
+
#### 2026-05-28 -- Personal Stripe EFW fraud-enforcement exception
1343
+
1344
+
- Defined fraud enforcement as an exceptional immediate cancellation/suspension path for personal KiloClaw subscriptions rather than ordinary period-end cancellation.
1345
+
- Preserved append-only change history and the fresh seven-day destruction grace while excluding organization-owned EFWs from automatic KiloClaw action.
-**Actor**: The entity responsible for a subscription mutation.
58
59
An actor is either a user (identified by user ID) or the system
59
60
(identified by a service or process name).
60
-
-**Context**: The ownership scope of an instance — either
61
+
-**Context**: The ownership scope of an instance -- either
61
62
_personal_ (not associated with any organization) or
62
63
_organizational_ (associated with a specific organization). A user
63
64
has one personal context and one organizational context per
64
65
organization they belong to.
66
+
-**Fraud-enforcement mutation**: Exceptional personal subscription
67
+
cancellation or suspension required by an enforced Stripe Early
68
+
Fraud Warning under `.specs/stripe-early-fraud-warnings.md`.
65
69
-**Active instance**: An instance record that has not been marked
66
70
as destroyed.
67
71
-**Mutation**: Any database write (INSERT or UPDATE) to a
@@ -269,6 +273,13 @@ and serves as the authoritative audit trail for subscription state.
269
273
identifiers (e.g., Stripe subscription ID, invoice ID) MAY be
270
274
included as context.
271
275
276
+
### Fraud-Enforcement Mutations
277
+
278
+
- An enforced personal Stripe Early Fraud Warning is an exceptional immediate mutation path. It MUST cancel or suspend affected personal subscription state without relying on ordinary paid-period continuation.
279
+
- A fraud-enforcement cancellation or suspension MUST write subscription change log entries with a system actor, consistent action labels, and a non-sensitive fraud-enforcement reason.
280
+
- A fraud-enforcement suspension MUST retain the associated instance and subscription records and MUST assign the seven-day destruction grace defined by KiloClaw billing rather than destroying data immediately.
281
+
- Organization-managed subscription and instance rows MUST NOT be mutated automatically for an organization-owned Early Fraud Warning in the initial rollout.
282
+
272
283
### Record Creation Order
273
284
274
285
The creation order below reflects the target lifecycle. This order
@@ -342,6 +353,11 @@ not yet enforced in the current codebase:
- Defined enforced personal Stripe Early Fraud Warnings as exceptional immediate cancellation/suspension mutations that retain instance history, write system-attributed change logs, and preserve the seven-day destruction grace.
359
+
- Excluded organization-owned warnings from automatic organization-managed instance or subscription mutation.
0 commit comments