mustflow 2.116.4 → 2.117.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/default/i18n.toml +145 -7
- package/templates/default/locales/en/.mustflow/skills/INDEX.md +121 -11
- package/templates/default/locales/en/.mustflow/skills/agent-eval-integrity-review/SKILL.md +62 -34
- package/templates/default/locales/en/.mustflow/skills/agent-execution-control-review/SKILL.md +102 -31
- package/templates/default/locales/en/.mustflow/skills/agent-memory-context-governance-review/SKILL.md +163 -0
- package/templates/default/locales/en/.mustflow/skills/agent-planning-recovery-review/SKILL.md +180 -0
- package/templates/default/locales/en/.mustflow/skills/agent-release-bundle-rollout-review/SKILL.md +181 -0
- package/templates/default/locales/en/.mustflow/skills/agent-runtime-isolation-review/SKILL.md +196 -0
- package/templates/default/locales/en/.mustflow/skills/agent-runtime-multi-worker-review/SKILL.md +180 -0
- package/templates/default/locales/en/.mustflow/skills/automation-investment-case-review/SKILL.md +173 -0
- package/templates/default/locales/en/.mustflow/skills/client-platform-strategy-review/SKILL.md +236 -0
- package/templates/default/locales/en/.mustflow/skills/credit-ledger-integrity-review/SKILL.md +8 -4
- package/templates/default/locales/en/.mustflow/skills/credit-monetization-integrity-review/SKILL.md +283 -0
- package/templates/default/locales/en/.mustflow/skills/desktop-commercial-distribution-review/SKILL.md +225 -0
- package/templates/default/locales/en/.mustflow/skills/external-prompt-injection-defense/SKILL.md +49 -3
- package/templates/default/locales/en/.mustflow/skills/freemium-ad-monetization-review/SKILL.md +196 -0
- package/templates/default/locales/en/.mustflow/skills/game-economy-monetization-review/SKILL.md +208 -0
- package/templates/default/locales/en/.mustflow/skills/game-liveops-commerce-integrity-review/SKILL.md +237 -0
- package/templates/default/locales/en/.mustflow/skills/growth-distribution-integrity-review/SKILL.md +247 -0
- package/templates/default/locales/en/.mustflow/skills/idempotency-integrity-review/SKILL.md +20 -2
- package/templates/default/locales/en/.mustflow/skills/llm-model-routing-integrity-review/SKILL.md +183 -0
- package/templates/default/locales/en/.mustflow/skills/llm-product-monetization-review/SKILL.md +311 -0
- package/templates/default/locales/en/.mustflow/skills/llm-token-cost-control-review/SKILL.md +15 -1
- package/templates/default/locales/en/.mustflow/skills/localization-market-expansion-review/SKILL.md +224 -0
- package/templates/default/locales/en/.mustflow/skills/multi-agent-work-coordination/SKILL.md +7 -2
- package/templates/default/locales/en/.mustflow/skills/pricing-model-integrity-review/SKILL.md +288 -0
- package/templates/default/locales/en/.mustflow/skills/product-engagement-retention-review/SKILL.md +234 -0
- package/templates/default/locales/en/.mustflow/skills/product-onboarding-activation-review/SKILL.md +269 -0
- package/templates/default/locales/en/.mustflow/skills/product-portfolio-integrity-review/SKILL.md +233 -0
- package/templates/default/locales/en/.mustflow/skills/prompt-contract-quality-review/SKILL.md +1 -0
- package/templates/default/locales/en/.mustflow/skills/referral-incentive-integrity-review/SKILL.md +206 -0
- package/templates/default/locales/en/.mustflow/skills/retry-policy-integrity-review/SKILL.md +45 -2
- package/templates/default/locales/en/.mustflow/skills/routes.toml +329 -7
- package/templates/default/locales/en/.mustflow/skills/service-portfolio-capital-allocation-review/SKILL.md +245 -0
- package/templates/default/locales/en/.mustflow/skills/subscription-retention-profit-review/SKILL.md +217 -0
- package/templates/default/manifest.toml +86 -1
package/templates/default/locales/en/.mustflow/skills/client-platform-strategy-review/SKILL.md
ADDED
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
---
|
|
2
|
+
mustflow_doc: skill.client-platform-strategy-review
|
|
3
|
+
locale: en
|
|
4
|
+
canonical: true
|
|
5
|
+
revision: 1
|
|
6
|
+
lifecycle: mustflow-owned
|
|
7
|
+
authority: procedure
|
|
8
|
+
name: client-platform-strategy-review
|
|
9
|
+
description: Apply this skill when a consumer or prosumer product chooses responsive web versus mobile app first, mobile web versus PWA versus cross-platform or native clients, an app as an acquisition or retention surface, native break-even users, operating-system capability dependence, or local-first versus cloud-first desktop data ownership, offline behavior, synchronization, recovery, privacy, and client-platform investment sequencing.
|
|
10
|
+
metadata:
|
|
11
|
+
mustflow_schema: "1"
|
|
12
|
+
mustflow_kind: procedure
|
|
13
|
+
pack_id: mustflow.core
|
|
14
|
+
skill_id: mustflow.core.client-platform-strategy-review
|
|
15
|
+
command_intents:
|
|
16
|
+
- changes_status
|
|
17
|
+
- changes_diff_summary
|
|
18
|
+
- lint
|
|
19
|
+
- build
|
|
20
|
+
- test_related
|
|
21
|
+
- test
|
|
22
|
+
- docs_validate_fast
|
|
23
|
+
- test_release
|
|
24
|
+
- mustflow_check
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Client Platform Strategy Review
|
|
28
|
+
|
|
29
|
+
<!-- mustflow-section: purpose -->
|
|
30
|
+
## Purpose
|
|
31
|
+
|
|
32
|
+
Choose web, PWA, cross-platform, native, local-first, cloud-first, or hybrid client architecture
|
|
33
|
+
from the product job, operating-system capabilities, complete funnel economics, data authority, and
|
|
34
|
+
failure recovery. Prevent platform prestige, raw install retention, or storage price from replacing
|
|
35
|
+
an actual investment and usability decision.
|
|
36
|
+
|
|
37
|
+
<!-- mustflow-section: use-when -->
|
|
38
|
+
## Use When
|
|
39
|
+
|
|
40
|
+
- A new B2C or prosumer service compares responsive web-first with iOS, Android, or another native
|
|
41
|
+
app-first launch.
|
|
42
|
+
- A product compares mobile web, installable PWA, wrapped web, shared cross-platform client, or
|
|
43
|
+
separate native clients.
|
|
44
|
+
- A proposal treats an app as acquisition, retention, notification, offline, device-capability, or
|
|
45
|
+
checkout infrastructure and needs a break-even user or retained-contribution model.
|
|
46
|
+
- A desktop or mobile product compares local-only, local-first with sync, cloud-first with cache, or
|
|
47
|
+
server-only data ownership.
|
|
48
|
+
- Offline work, device files, collaboration, multi-device recovery, conflict resolution, privacy,
|
|
49
|
+
encryption, account rights, or sync engineering changes the client strategy.
|
|
50
|
+
|
|
51
|
+
<!-- mustflow-section: do-not-use-when -->
|
|
52
|
+
## Do Not Use When
|
|
53
|
+
|
|
54
|
+
- The client platform is already chosen and the task only compares website, Microsoft Store, Mac
|
|
55
|
+
App Store, or hybrid desktop sales and distribution; use
|
|
56
|
+
`desktop-commercial-distribution-review`.
|
|
57
|
+
- The task only implements one frontend framework, native bridge, service worker, cache, installer,
|
|
58
|
+
updater, mobile permission, or platform API; use the matching implementation and platform skill.
|
|
59
|
+
- The task only changes synchronization algorithms, database migrations, encryption, access
|
|
60
|
+
control, backup, or privacy behavior after the authority model is fixed; use the narrower data,
|
|
61
|
+
security, privacy, migration, or architecture skill.
|
|
62
|
+
- The task only selects a framework, vendor, database, or runtime; use `technology-stack-selection`.
|
|
63
|
+
- The task requests current platform-law, tax, app-store contract, or consumer-rights advice. Use
|
|
64
|
+
current official policy and qualified authority; this skill supplies the decision packet.
|
|
65
|
+
|
|
66
|
+
<!-- mustflow-section: required-inputs -->
|
|
67
|
+
## Required Inputs
|
|
68
|
+
|
|
69
|
+
- Product job ledger: target user, first owned value, repeat cadence, session length, acquisition
|
|
70
|
+
source, sharing, search demand, price, payer, support, accessibility, and expected retention.
|
|
71
|
+
- Capability ledger: camera, location, Bluetooth, wearable, background execution, notification,
|
|
72
|
+
widgets, low-latency media, offline duration, filesystem, plugins, secure hardware, and platform
|
|
73
|
+
restrictions.
|
|
74
|
+
- Funnel ledger by eligible user: impression, landing or listing visit, install or open, permission,
|
|
75
|
+
signup, first value, purchase, refund, retained use, support, and contribution.
|
|
76
|
+
- Client cost ledger: design, implementation, shared and platform-specific code, QA devices,
|
|
77
|
+
accessibility, analytics parity, store review, deep links, notifications, checkout restoration,
|
|
78
|
+
OS updates, support, and decommissioning.
|
|
79
|
+
- Data ledger: record and file classes, authoritative owner, size and growth, device count,
|
|
80
|
+
collaboration, offline edits, consistency, deletion, retention, export, backup, restore, audit,
|
|
81
|
+
quota, abuse, and legal authority.
|
|
82
|
+
- Sync and recovery ledger: local database, change log, outbox, server replica, versioning, conflict
|
|
83
|
+
policy, stale client, duplicate, clock, tombstone, account merge, key recovery, device loss, and
|
|
84
|
+
disaster recovery.
|
|
85
|
+
- Current platform ledger: operating-system and browser versions, install and notification behavior,
|
|
86
|
+
payment policy, fees, permitted commerce, signing, review, capability support, region, program,
|
|
87
|
+
source date, and confidence.
|
|
88
|
+
- Experiment ledger: eligible cohort, assignment before channel choice, acquisition source,
|
|
89
|
+
capability need, platform availability, self-selection, promotion, horizon, and guardrails.
|
|
90
|
+
|
|
91
|
+
<!-- mustflow-section: preconditions -->
|
|
92
|
+
## Preconditions
|
|
93
|
+
|
|
94
|
+
- Separate launch surface, installability, native capability, commerce, retention, and data authority.
|
|
95
|
+
One choice does not prove the others.
|
|
96
|
+
- Compare web and app cohorts from the same eligible population or explicitly model self-selection.
|
|
97
|
+
- Define a usable retained outcome and contribution before calculating break-even users.
|
|
98
|
+
- Treat copied development multipliers, fee percentages, conversion lifts, user thresholds, storage
|
|
99
|
+
prices, and platform features as dated assumptions, not built-in defaults.
|
|
100
|
+
- Refresh current platform behavior by OS, browser, region, app type, commerce type, and program
|
|
101
|
+
before changing live product or financial policy.
|
|
102
|
+
- This skill does not authorize developer enrollment, app submission, payment changes, production
|
|
103
|
+
experiments, data migration, cryptographic key access, release, or deployment.
|
|
104
|
+
|
|
105
|
+
<!-- mustflow-section: allowed-edits -->
|
|
106
|
+
## Allowed Edits
|
|
107
|
+
|
|
108
|
+
- Add or refine client strategy, capability matrices, funnel and contribution models, platform
|
|
109
|
+
sequencing, data-authority maps, offline and sync contracts, recovery and privacy policies,
|
|
110
|
+
experiments, events, fixtures, tests, docs, route metadata, and synchronized templates.
|
|
111
|
+
- Add explicit handoffs to frontend, mobile, desktop, payments, store distribution, accessibility,
|
|
112
|
+
sync, database, security, privacy, backup, or migration owners.
|
|
113
|
+
- Replace platform ideology, raw install comparison, gross fee arithmetic, last-write-wins data loss,
|
|
114
|
+
or local-storage marketing with explicit capabilities, economics, authority, and recovery evidence.
|
|
115
|
+
- Do not fork the domain model without evidence, hide platform limitations, weaken privacy or
|
|
116
|
+
accessibility, migrate user data silently, or promise offline, sync, recovery, or encryption that
|
|
117
|
+
the current architecture cannot provide.
|
|
118
|
+
|
|
119
|
+
<!-- mustflow-section: procedure -->
|
|
120
|
+
## Procedure
|
|
121
|
+
|
|
122
|
+
1. Split two primary decisions: client delivery surface and data authority. A web-first launch can
|
|
123
|
+
still use local data, and a native app can still be cloud-authoritative.
|
|
124
|
+
2. Classify whether the operating system is part of the product's core value. Mark required camera,
|
|
125
|
+
continuous location, Bluetooth, wearable, background, notification, widget, low-latency media,
|
|
126
|
+
filesystem, secure hardware, or offline capability and test whether the web path actually meets
|
|
127
|
+
the requirement on each target platform.
|
|
128
|
+
3. Start from the smallest surface that can deliver representative first value. Responsive web is a
|
|
129
|
+
candidate when link, search, sharing, immediate trial, and one code path dominate; native-first
|
|
130
|
+
is a candidate when a required OS capability or app-native usage loop is the product itself.
|
|
131
|
+
4. Treat the web as an acquisition candidate and an installed app as a retention candidate, not as
|
|
132
|
+
universal truths. Measure how each surface changes the complete funnel for the same eligible
|
|
133
|
+
users.
|
|
134
|
+
5. Separate PWA layers. Decide responsive fit, manifest and install, notification, service-worker
|
|
135
|
+
caching, offline reads, offline writes, background behavior, and sync independently. Do not build
|
|
136
|
+
a complex offline layer merely to earn a PWA label.
|
|
137
|
+
6. Sequence capability investment. A reversible candidate is responsive product value, then install
|
|
138
|
+
and notification for proven repeat users, then bounded offline behavior for observed need, then
|
|
139
|
+
shared or native clients when retained contribution can pay for them.
|
|
140
|
+
7. Compare client costs across the full lifecycle. Include duplicated design and implementation,
|
|
141
|
+
platform QA, devices, accessibility, analytics drift, permissions, deep links, authentication,
|
|
142
|
+
payment restoration, store review, OS changes, support, and release coordination.
|
|
143
|
+
8. Use D30-or-product-cadence qualified CAC, not click cost versus install cost. Count a user only
|
|
144
|
+
after representative value and the chosen retention horizon; an app install is not an accepted
|
|
145
|
+
product outcome.
|
|
146
|
+
9. Calculate net contribution per eligible user. Include payment and store costs, refund, variable
|
|
147
|
+
product cost, acquisition, support, platform operations, and retention value. If native contribution
|
|
148
|
+
per user is not higher after variable costs, more users cannot repay fixed native investment.
|
|
149
|
+
10. Derive break-even users from current inputs. Divide incremental fixed and step-fixed native cost
|
|
150
|
+
by incremental retained contribution per comparable active user. Include extra acquisition cost
|
|
151
|
+
and report zero, negative, or unstable denominators instead of manufacturing a threshold.
|
|
152
|
+
11. Run sensitivity around the assumptions that can reverse the result: eligible paid conversion,
|
|
153
|
+
repeat use, app retention lift, store fee, price, refund, native QA cost, new-user share, and
|
|
154
|
+
channel-specific CAC. Report a range, not one magic MAU count.
|
|
155
|
+
12. Correct self-selection. App users may have higher pre-existing intent. Use staged invitations,
|
|
156
|
+
matched cohorts, randomized prompts, or another defensible design before calling observed app
|
|
157
|
+
retention causal.
|
|
158
|
+
13. Map data authority by class. Keep identity, billing, entitlement, organization membership,
|
|
159
|
+
quota, abuse, audit, and legal deletion server-authoritative when central enforcement is required.
|
|
160
|
+
Decide user content authority separately.
|
|
161
|
+
14. Choose local-first when immediate response, offline creation, large personal files, user custody,
|
|
162
|
+
or long-lived device ownership materially creates value. Choose cloud-first when collaboration,
|
|
163
|
+
instant cross-device state, central authorization, audit, recovery, or server-side transactions
|
|
164
|
+
dominate. Treat both as candidates, not ideology.
|
|
165
|
+
15. Prefer explicit hybrids. A local-first client may use encrypted replication and backup; a
|
|
166
|
+
cloud-first client should still use a durable local cache and outbox where interrupted work must
|
|
167
|
+
survive. Name the authority and failure behavior for every data class.
|
|
168
|
+
16. Price local-first engineering honestly. Include local schema migration, corruption handling,
|
|
169
|
+
change logs, retry, deduplication, tombstones, stale clients, conflict UX, compatibility,
|
|
170
|
+
encryption, key recovery, export, and support. Avoid comparing that engineering cost with raw
|
|
171
|
+
object-storage price alone.
|
|
172
|
+
17. Define sync semantics before choosing an algorithm. Cover concurrent edits, delete-versus-edit,
|
|
173
|
+
uniqueness, ordering, access revocation while offline, quota crossing, account merge, and old
|
|
174
|
+
client reappearance. Last write wins and CRDTs do not decide product policy automatically.
|
|
175
|
+
18. Use the simplest conflict model that meets the product. Document versions, three-way merge, or
|
|
176
|
+
conflict copies can be safer than a general collaborative CRDT when simultaneous editing is not
|
|
177
|
+
a core job.
|
|
178
|
+
19. Make privacy claims reconstructable. State what remains only on device, what is replicated,
|
|
179
|
+
whether the service can decrypt it, what telemetry leaves the device, how keys are stored, and
|
|
180
|
+
how loss, export, deletion, remote wipe, and recovery work.
|
|
181
|
+
20. Separate confidentiality from recoverability. End-to-end or client-side encryption can reduce
|
|
182
|
+
provider access while making forgotten-key recovery harder; define recovery keys, trusted-device
|
|
183
|
+
transfer, or explicit irrecoverability without misleading promises.
|
|
184
|
+
21. Measure full outcomes: eligible acquisition, first value, qualified retained use, purchase,
|
|
185
|
+
refund, support, sync conflict, lost work, recovery success, privacy complaints, platform failure,
|
|
186
|
+
and retained contribution.
|
|
187
|
+
22. Promote only a reversible strategy that meets required capabilities, improves retained
|
|
188
|
+
contribution, preserves accessible and honest UX, assigns every data authority, and has a tested
|
|
189
|
+
recovery model before irreversible migration.
|
|
190
|
+
|
|
191
|
+
<!-- mustflow-section: postconditions -->
|
|
192
|
+
## Postconditions
|
|
193
|
+
|
|
194
|
+
- Launch surface, install, native capability, commerce, retention, and data authority decisions are
|
|
195
|
+
explicit rather than collapsed into web versus app ideology.
|
|
196
|
+
- Break-even uses comparable eligible users, full lifecycle costs, incremental retained contribution,
|
|
197
|
+
self-selection controls, and sensitivity ranges.
|
|
198
|
+
- Every data class has an authority, offline behavior, conflict rule, privacy statement, backup, and
|
|
199
|
+
recovery owner.
|
|
200
|
+
- Local-first and cloud-first claims include sync and failure cost rather than raw latency, storage
|
|
201
|
+
price, or marketing language alone.
|
|
202
|
+
|
|
203
|
+
<!-- mustflow-section: verification -->
|
|
204
|
+
## Verification
|
|
205
|
+
|
|
206
|
+
Use configured oneshot command intents when available: `changes_status`, `changes_diff_summary`,
|
|
207
|
+
`lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, and
|
|
208
|
+
`mustflow_check`. Do not infer live store, browser, mobile device, payment, notification, signing,
|
|
209
|
+
submission, analytics, migration, sync, encryption, backup, recovery, deployment, or production
|
|
210
|
+
commands.
|
|
211
|
+
|
|
212
|
+
<!-- mustflow-section: failure-handling -->
|
|
213
|
+
## Failure Handling
|
|
214
|
+
|
|
215
|
+
- If required capabilities cannot be verified on a target surface, mark that surface unknown or
|
|
216
|
+
infeasible instead of assuming parity.
|
|
217
|
+
- If comparable funnel cohorts or incremental per-user contribution are missing, report the native
|
|
218
|
+
break-even as non-decision-ready.
|
|
219
|
+
- If the denominator is zero or negative, report that no finite user count repays the modeled native
|
|
220
|
+
investment under those assumptions.
|
|
221
|
+
- If data authority, conflict semantics, key recovery, or lost-device recovery is undefined, do not
|
|
222
|
+
approve local-first or cloud-first migration.
|
|
223
|
+
- If current store or platform policy cannot be refreshed, keep policy-dependent economics dated and
|
|
224
|
+
unverified rather than encoding them as a default.
|
|
225
|
+
|
|
226
|
+
<!-- mustflow-section: output-format -->
|
|
227
|
+
## Output Format
|
|
228
|
+
|
|
229
|
+
- Product job, eligible user, first value, repeat cadence, platform, and required capability
|
|
230
|
+
- Responsive web, PWA, cross-platform, and native capability and lifecycle-cost matrix
|
|
231
|
+
- Comparable funnel, qualified CAC, retained contribution, break-even range, sensitivity, and
|
|
232
|
+
self-selection evidence
|
|
233
|
+
- Data classes, authority, local and server state, offline behavior, conflicts, sync, privacy,
|
|
234
|
+
encryption, backup, export, deletion, and recovery
|
|
235
|
+
- Current platform source and date, files changed, command intents run and skipped checks
|
|
236
|
+
- Remaining client-platform strategy risk
|
package/templates/default/locales/en/.mustflow/skills/credit-ledger-integrity-review/SKILL.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
mustflow_doc: skill.credit-ledger-integrity-review
|
|
3
3
|
locale: en
|
|
4
4
|
canonical: true
|
|
5
|
-
revision:
|
|
5
|
+
revision: 3
|
|
6
6
|
lifecycle: mustflow-owned
|
|
7
7
|
authority: procedure
|
|
8
8
|
name: credit-ledger-integrity-review
|
|
9
|
-
description: Apply this skill when credits, points, wallet balances, reward points, prepaid credits, usage credits, bonus credits, loyalty points, stored-value balances, balance deductions, accruals, refunds, reversals, expirations, reservations, captures, releases, admin adjustments, ledger tables, balance caches, reconciliation jobs, settlement reports, or credit-related tests need review for ledger integrity, idempotency, atomic balance changes, concurrency, ordering, ownership, amount precision, policy snapshots, expiry lots, failure recovery, audit evidence, or reconciliation risk.
|
|
9
|
+
description: Apply this skill when credits, points, wallet balances, reward points, prepaid credits, usage credits, bonus credits, loyalty points, stored-value balances, purchased versus subscription or promotional balance classes, balance deductions, accruals, refunds, reversals, expirations, rollovers, price quotes, reservations, captures, releases, admin adjustments, ledger tables, balance caches, reconciliation jobs, settlement reports, or credit-related tests need review for ledger integrity, idempotency, atomic balance changes, concurrency, ordering, ownership, amount precision, policy snapshots, expiry lots, quote binding, failure recovery, audit evidence, or reconciliation risk.
|
|
10
10
|
metadata:
|
|
11
11
|
mustflow_schema: "1"
|
|
12
12
|
mustflow_kind: procedure
|
|
@@ -60,7 +60,9 @@ Review credit, point, and wallet balance code as an accounting ledger, not a bal
|
|
|
60
60
|
- Amount and unit ledger: integer unit or decimal representation, maximum amount, rounding rules, conversion rates, bonus rules, policy version, product price snapshot, and campaign snapshot.
|
|
61
61
|
- Ownership ledger: user, tenant, wallet, account, team, family, organization, operator, source object, and current actor checks.
|
|
62
62
|
- Expiry and lot ledger: FIFO, LIFO, earliest-expiry-first, bucket allocation, expiry batch, lot-level consumption, partial use, partial refund, and lot restoration behavior.
|
|
63
|
+
- Balance-rights ledger: purchased top-up, subscription-included, promotional, referral, trial, enterprise commitment, refund, or admin-grant source; acquisition and policy version; expiry and rollover right; cancellation or downgrade behavior; legal or platform constraint; and spend priority.
|
|
63
64
|
- Reservation ledger: reserved, captured, released, failed, expired, cancelled, partially refunded, and reversed states, plus the owner of each transition.
|
|
65
|
+
- Quote and fulfillment ledger: `quote_id`, price version, input-parameter hash, exact or bounded estimate, maximum authorized amount, quote expiry, reservation identity, actual captured amount, usable-result predicate, partial-result rule, and release or refund evidence.
|
|
64
66
|
- Queue and cache ledger: producer events, consumer idempotency, partitioning, outbox or inbox records, read-replica routing, cache invalidation, and balance display semantics.
|
|
65
67
|
- Audit and reconciliation ledger: logs, metrics, support IDs, before/after values, daily balance-vs-ledger checks, settlement reports, and manual adjustment evidence.
|
|
66
68
|
|
|
@@ -97,9 +99,11 @@ Review credit, point, and wallet balance code as an accounting ledger, not a bal
|
|
|
97
99
|
14. Model refunds as reversals. Refunds, cancellations, and corrections should reference the original ledger entry or reservation, not call a generic balance increase with no causal link.
|
|
98
100
|
15. Test partial use and partial refund. Exercise cases where only part of a balance, lot, coupon, order, or mixed payment is used or refunded. Full-cancel-only assumptions are not enough.
|
|
99
101
|
16. Consume expiry lots deliberately. When credits expire, inspect FIFO, LIFO, earliest-expiry-first, or policy-specific lot allocation. Record lot-level consumption so later refund and audit can reconstruct the path.
|
|
102
|
+
- Keep purchased top-up, subscription-included, promotional, trial, enterprise, and admin-grant lots distinct when their expiry, rollover, cancellation, refund, accounting, or platform rights differ. Do not collapse them into one balance and reconstruct ownership from current plan state.
|
|
100
103
|
17. Race expiry and usage. Expiry batches must use the same ledger, lock, idempotency, and conditional update rules as user requests. Flag direct batch subtraction that bypasses wallet safeguards.
|
|
101
104
|
18. Separate reservation from capture. Model reserved, captured, released, failed, expired, cancelled, and partially refunded states when credits are held before final purchase, fulfillment, or external payment completion.
|
|
102
105
|
- This ledger owns atomic reserve, capture, and release and the balance invariant. Commands and durable workflows may consume those operations but must not redefine balance availability, ownership, or accounting transitions.
|
|
106
|
+
- Bind a reservation to an unexpired user-visible quote and immutable price snapshot. Reserve no more than the approved maximum, capture only the actual charge allowed by the quoted policy and usable-result predicate, and release the remainder on failure, cancellation, timeout recovery, or lower actual usage.
|
|
103
107
|
19. Draw allowed state transitions. Prevent arbitrary `status = REFUNDED`, `status = CAPTURED`, or `status = EXPIRED` writes. Each transition should have a guard, cause, effect, and idempotency rule.
|
|
104
108
|
20. Preserve queue ordering or tolerate reordering. If deduction, cancellation, refund, or expiry events use a queue, prove user, wallet, or transaction-level ordering, or make each consumer robust to reordered events.
|
|
105
109
|
21. Treat message redelivery as normal. Producers, queues, schedulers, and webhooks can duplicate events. Consumer-side ledger mutation must be idempotent with durable dedupe records.
|
|
@@ -116,7 +120,7 @@ Review credit, point, and wallet balance code as an accounting ledger, not a bal
|
|
|
116
120
|
<!-- mustflow-section: postconditions -->
|
|
117
121
|
## Postconditions
|
|
118
122
|
|
|
119
|
-
- The credit surface has balance, ledger-entry, source identity, atomicity, amount/unit, ownership, expiry/lot, reservation, queue/cache, audit, and reconciliation maps.
|
|
123
|
+
- The credit surface has balance, ledger-entry, source identity, atomicity, amount/unit, ownership, balance-rights, expiry/lot, quote/fulfillment, reservation, queue/cache, audit, and reconciliation maps.
|
|
120
124
|
- Any mutable-balance-only path, missing source key, weak idempotency comparison, non-atomic deduction, wrong lock target, float amount, hidden rounding policy, missing DB invariant, duplicate ledger risk, generic refund, expiry race, cache-trusted deduction, stale replica read, unaudited admin adjustment, or missing reconciliation is fixed or reported with evidence.
|
|
121
125
|
- Tests or explicit verification cover the highest-risk concurrency, failure, duplicate, expiry, reservation, refund, cache, and reconciliation paths available in the current scope.
|
|
122
126
|
- Soft operational budgets remain outside this ledger unless they represent prepaid or money-equivalent value.
|
|
@@ -152,7 +156,7 @@ Prefer focused tests for concurrent deductions, duplicate idempotency keys, affe
|
|
|
152
156
|
## Output Format
|
|
153
157
|
|
|
154
158
|
- Credit or wallet surface reviewed
|
|
155
|
-
- Balance, ledger-entry, source identity, atomicity, amount/unit, ownership, expiry/lot, reservation, queue/cache, audit, and reconciliation ledgers
|
|
159
|
+
- Balance, ledger-entry, source identity, atomicity, amount/unit, ownership, balance-rights, expiry/lot, quote/fulfillment, reservation, queue/cache, audit, and reconciliation ledgers
|
|
156
160
|
- Findings or fixes for duplicate, concurrent, wrong-owner, wrong-amount, rounding, expiry, reservation, refund, cache, replica, failure-recovery, admin, and reconciliation risks
|
|
157
161
|
- Nightmare-path tests or evidence added, run, skipped, or still missing
|
|
158
162
|
- Command intents run
|
package/templates/default/locales/en/.mustflow/skills/credit-monetization-integrity-review/SKILL.md
ADDED
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
---
|
|
2
|
+
mustflow_doc: skill.credit-monetization-integrity-review
|
|
3
|
+
locale: en
|
|
4
|
+
canonical: true
|
|
5
|
+
revision: 1
|
|
6
|
+
lifecycle: mustflow-owned
|
|
7
|
+
authority: procedure
|
|
8
|
+
name: credit-monetization-integrity-review
|
|
9
|
+
description: Apply this skill when a product changes credit-pack offers, offer timing, price-discount versus bonus-credit framing, pack count or spacing, first-purchase recommendations, purchased-credit expiry, subscription-credit rollover, promotional balances, spend order, credit price disclosure, variable-cost estimates, quote and reservation UX, breakage, repurchase, retention, or credit-monetization experiments and must optimize long-horizon contribution without deceptive equivalence, balance-rights drift, surprise deductions, or survivor-biased metrics.
|
|
10
|
+
metadata:
|
|
11
|
+
mustflow_schema: "1"
|
|
12
|
+
mustflow_kind: procedure
|
|
13
|
+
pack_id: mustflow.core
|
|
14
|
+
skill_id: mustflow.core.credit-monetization-integrity-review
|
|
15
|
+
command_intents:
|
|
16
|
+
- changes_status
|
|
17
|
+
- changes_diff_summary
|
|
18
|
+
- lint
|
|
19
|
+
- build
|
|
20
|
+
- test_related
|
|
21
|
+
- test
|
|
22
|
+
- docs_validate_fast
|
|
23
|
+
- test_release
|
|
24
|
+
- mustflow_check
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Credit Monetization Integrity Review
|
|
28
|
+
|
|
29
|
+
<!-- mustflow-section: purpose -->
|
|
30
|
+
## Purpose
|
|
31
|
+
|
|
32
|
+
Sell and spend product credits without optimizing a checkout click, early breakage, or raw execution
|
|
33
|
+
count at the expense of customer rights, useful output, repurchase, retention, or long-horizon
|
|
34
|
+
contribution. Keep offer design, balance-class policy, user-visible price authorization, technical
|
|
35
|
+
ledger integrity, payment processing, accounting, and legal or platform compliance as connected but
|
|
36
|
+
separately owned contracts.
|
|
37
|
+
|
|
38
|
+
<!-- mustflow-section: use-when -->
|
|
39
|
+
## Use When
|
|
40
|
+
|
|
41
|
+
- A credit or usage-pack offer changes timing, trigger, eligibility, discount, bonus, limit, expiry,
|
|
42
|
+
urgency, recommendation, or first-purchase treatment.
|
|
43
|
+
- A product compares price-discount and bonus-credit framing or changes how credits translate into
|
|
44
|
+
images, minutes, tasks, API calls, documents, generations, or other user-recognizable output.
|
|
45
|
+
- The first-purchase screen changes between three, five, seven, custom, tiered, decoy, anchored, or
|
|
46
|
+
recommended credit packs, or changes price and unit-price spacing.
|
|
47
|
+
- Purchased top-up, subscription-included, promotional, referral, trial, refund, or enterprise
|
|
48
|
+
credits change expiry, rollover, cancellation, downgrade, transfer, refund, or spend-order policy.
|
|
49
|
+
- A feature changes from hidden or post-execution deduction to an exact or bounded pre-execution
|
|
50
|
+
quote, maximum authorization, reservation, success-based capture, partial settlement, or release.
|
|
51
|
+
- Credit conversion, repurchase, breakage, retained use, contribution, variable cost, refund, support,
|
|
52
|
+
or experiment definitions are created, changed, reviewed, or reported.
|
|
53
|
+
|
|
54
|
+
<!-- mustflow-section: do-not-use-when -->
|
|
55
|
+
## Do Not Use When
|
|
56
|
+
|
|
57
|
+
- The main risk is atomic balance mutation, lot allocation, reservation state, idempotency,
|
|
58
|
+
concurrency, expiry races, refunds, reconciliation, or admin adjustment; use
|
|
59
|
+
`credit-ledger-integrity-review` as the technical owner.
|
|
60
|
+
- The main risk is checkout, provider payment, tax, invoice, receipt, refund, dispute, chargeback,
|
|
61
|
+
fraud, or payment webhook correctness; use `payment-integrity-review`.
|
|
62
|
+
- The main risk is cancellation, pause, downgrade, dormant-user win-back, or save-offer profit; use
|
|
63
|
+
`subscription-retention-profit-review`.
|
|
64
|
+
- The main risk is signup, pre-account activation, first-owned value, or onboarding questions without
|
|
65
|
+
a credit purchase or spend policy; use `product-onboarding-activation-review`.
|
|
66
|
+
- The task only estimates internal model or compute cost and does not change a user credit right,
|
|
67
|
+
price, purchase, or deduction; use the matching cost-control skill.
|
|
68
|
+
- The task requests jurisdiction-specific legal, tax, accounting, or unclaimed-property advice. Use
|
|
69
|
+
qualified authority and current primary rules; this skill supplies the product evidence packet but
|
|
70
|
+
does not decide legal classification.
|
|
71
|
+
|
|
72
|
+
<!-- mustflow-section: required-inputs -->
|
|
73
|
+
## Required Inputs
|
|
74
|
+
|
|
75
|
+
- Eligible-cohort ledger: eligibility, assignment unit and time, holdout, exposure, offer trigger,
|
|
76
|
+
identity joins, exclusions, prior-purchase state, product-value state, traffic, and denominator.
|
|
77
|
+
- Offer ledger: offer version, trigger, surface, interruption cost, real start and expiry, pack scope,
|
|
78
|
+
discount or bonus, cap, eligibility, cooldown, price history, and suppression.
|
|
79
|
+
- Value and usage ledger: first owned result, recognizable output units, free and paid usage, expected
|
|
80
|
+
cadence, depletion, active-user usage distribution, useful-result rate, and abandoned or failed use.
|
|
81
|
+
- Pack ledger: price, credits, unit price, output-equivalent range, variable cost, margin, recommended
|
|
82
|
+
segment, lower and upper alternatives, custom amount, refundability, and historical selection.
|
|
83
|
+
- Balance-rights ledger: acquisition class, consideration paid, policy and price version, expiry,
|
|
84
|
+
rollover, cancellation or downgrade behavior, refund, transfer, spend priority, platform rule,
|
|
85
|
+
jurisdiction review, and accounting treatment.
|
|
86
|
+
- Quote and execution ledger: input parameters, exact or estimated charge, estimate range, maximum
|
|
87
|
+
authorization, quote ID and expiry, price version, reservation, actual charge, usable-result
|
|
88
|
+
predicate, partial-result rule, release, reversal, and retry identity.
|
|
89
|
+
- Economics ledger: cash collected, payment and refund cost, variable service cost, support and
|
|
90
|
+
dispute cost, bonus liability, deferred or recognized revenue boundary, breakage, repurchase,
|
|
91
|
+
retention, and contribution per eligible unit over declared horizons.
|
|
92
|
+
- Experiment ledger: control and variants, sequencing, power assumptions, exposure integrity,
|
|
93
|
+
cannibalization, stockpiling, delayed repurchase, guardrails, segment policy, and promotion rule.
|
|
94
|
+
|
|
95
|
+
<!-- mustflow-section: preconditions -->
|
|
96
|
+
## Preconditions
|
|
97
|
+
|
|
98
|
+
- Define the user-owned value event, balance classes, and usable-result predicate before changing an
|
|
99
|
+
offer, expiry, rollover, pack, or deduction policy.
|
|
100
|
+
- Assign experiments before a behavior-dependent offer trigger. Keep assigned users who never reach
|
|
101
|
+
the trigger in the intent-to-treat denominator, while recording trigger reach and exposure
|
|
102
|
+
separately.
|
|
103
|
+
- Refresh current platform, app-store, jurisdiction, contract, accounting, and tax constraints before
|
|
104
|
+
changing purchased-value expiry, cancellation forfeiture, restore, refund, or price representation.
|
|
105
|
+
- Treat vendor policies, academic studies, benchmark rates, sample prices, pack ratios, and another
|
|
106
|
+
product's rollover cap as hypotheses or comparators, not repository defaults.
|
|
107
|
+
- Keep command execution under `.mustflow/config/commands.toml`; this skill does not authorize live
|
|
108
|
+
price changes, promotions, balance mutations, payments, messages, experiments, or legal filings.
|
|
109
|
+
|
|
110
|
+
<!-- mustflow-section: allowed-edits -->
|
|
111
|
+
## Allowed Edits
|
|
112
|
+
|
|
113
|
+
- Add or refine offer eligibility and timing, equivalent-value calculation, pack construction and
|
|
114
|
+
recommendation, output-unit translations, balance-class policy, expiry and rollover rules,
|
|
115
|
+
user-visible quote and authorization, contribution metrics, experiment assignment, guardrails,
|
|
116
|
+
fixtures, tests, docs, route metadata, and synchronized templates.
|
|
117
|
+
- Add explicit handoffs to credit-ledger, payment, accounting, tax, privacy, consumer-protection, or
|
|
118
|
+
platform review when those owners must implement or approve the policy.
|
|
119
|
+
- Remove fake urgency, economically unequal framing tests presented as copy tests, dominated decoy
|
|
120
|
+
packs, hidden deductions, unsupported exact estimates, or breakage targets that reward unused value.
|
|
121
|
+
- Do not retroactively rewrite purchased rights, expire balances contrary to an applicable platform
|
|
122
|
+
or legal rule, hide a required total price, or capture credits for an unusable result merely because
|
|
123
|
+
an internal provider incurred cost.
|
|
124
|
+
|
|
125
|
+
<!-- mustflow-section: procedure -->
|
|
126
|
+
## Procedure
|
|
127
|
+
|
|
128
|
+
1. Separate six decisions: offer timing, economic framing, pack architecture, balance rights,
|
|
129
|
+
user-visible spend authorization, and ledger settlement. Do not let one winning purchase metric
|
|
130
|
+
silently choose the other five.
|
|
131
|
+
2. Define the headline outcome per eligible assigned user. Prefer incremental contribution over a
|
|
132
|
+
declared short and long horizon, supported by paid conversion, useful paid output, depletion-
|
|
133
|
+
adjusted repurchase, retained use, refunds, disputes, support, and variable cost. Treat offer open,
|
|
134
|
+
checkout start, raw purchase rate, raw executions, and breakage as diagnostic events.
|
|
135
|
+
3. Randomize before the offer can become eligible. Compare a no-offer or business-as-usual holdout
|
|
136
|
+
with bounded timing policies such as account completion, first owned value, a declared depletion
|
|
137
|
+
state, or a time-based reminder. Do not analyze only users who reached first success or depleted a
|
|
138
|
+
free balance.
|
|
139
|
+
4. Price interruption cost. Before value, a full-screen offer can block activation; after value, an
|
|
140
|
+
offer may extend a proven job; near depletion, exposed users are fewer but intent may be stronger.
|
|
141
|
+
Preserve a nonblocking path and do not copy a universal best trigger.
|
|
142
|
+
5. Anchor any real deadline to the event that creates eligibility and disclose the exact expiry.
|
|
143
|
+
Preserve the offer after refresh and across devices when promised. Do not restart countdowns,
|
|
144
|
+
invent scarcity, or begin a value-dependent offer before the user could receive value.
|
|
145
|
+
6. Normalize economic value before testing copy. For price discount `d`, the paid unit-price factor
|
|
146
|
+
is `1 - d`. For bonus fraction `b`, it is `1 / (1 + b)` and the effective unit discount is
|
|
147
|
+
`b / (1 + b)`. An equivalent bonus for discount `d` is `d / (1 - d)`. Hold unit economics equal
|
|
148
|
+
when the question is framing, or label the test as an offer-value test.
|
|
149
|
+
7. Translate credits into user-recognizable output. Show total credits, unit price or savings, and a
|
|
150
|
+
bounded result-equivalent derived from current product prices. Use ranges when input length,
|
|
151
|
+
duration, model, quality, or external calls vary; do not promise one exact output count from an
|
|
152
|
+
unstable mix.
|
|
153
|
+
8. Measure bonus inventory correctly. Extra credits can delay the next purchase without reducing
|
|
154
|
+
satisfaction. Track consumption velocity, balance depletion, repurchase after comparable
|
|
155
|
+
depletion, cumulative cash, contribution, and retained useful output rather than declaring an
|
|
156
|
+
early repurchase decline a retention failure.
|
|
157
|
+
9. Price promotional cannibalization and stockpiling. Include buyers who would have paid full price,
|
|
158
|
+
bonus credits actually consumed, future purchases displaced, refund and support cost, and heavy
|
|
159
|
+
users who pull demand forward. Cap scope from observed economics, not a universal percentage.
|
|
160
|
+
10. Build pack candidates from usage and willingness evidence. Use the lower pack for safe entry, the
|
|
161
|
+
recommended pack for a declared typical segment or task horizon, and the upper pack for genuine
|
|
162
|
+
high usage. Price gaps, credit gaps, and unit discounts must be legible and economically viable.
|
|
163
|
+
11. Start with the smallest pack set that represents materially different jobs. Three packs are a
|
|
164
|
+
useful first-purchase hypothesis, not a law. Compare three with five when added tiers map to real
|
|
165
|
+
segments; expose more tiers or custom amounts to repeat or high-variance buyers when evidence
|
|
166
|
+
supports them. Do not add seven merely to create an anchor.
|
|
167
|
+
12. Reject fake decoys. A deliberately dominated pack can make the entire credit system look
|
|
168
|
+
manipulated. Each displayed pack needs a plausible buyer, a clear output-equivalent, and a reason
|
|
169
|
+
to exist other than making another pack look cheap.
|
|
170
|
+
13. Keep recommendation honest. Name the usage basis, avoid preselecting a pack that exceeds the
|
|
171
|
+
represented need, make every alternative and unit price visible, and measure regret, refunds,
|
|
172
|
+
support, depletion, and repeat purchase by selected pack.
|
|
173
|
+
14. Classify every balance lot by acquired right. Separate purchased top-up, subscription-included,
|
|
174
|
+
promotional or referral, trial, refund, enterprise commitment, and admin grant when consideration,
|
|
175
|
+
expiry, rollover, restore, cancellation, accounting, platform, or legal rights differ.
|
|
176
|
+
15. Do not treat purchased-credit expiry as free margin. Cash arrives at purchase; unused rights can
|
|
177
|
+
change future service cost and revenue recognition but can also reduce conversion, trust,
|
|
178
|
+
repurchase, and retained value. Compare lawful policy variants by long-horizon contribution and
|
|
179
|
+
never use breakage alone as the objective.
|
|
180
|
+
16. Gate expiry through current authority. Record platform and jurisdiction, product classification,
|
|
181
|
+
customer type, contract version, notice, restore, refund, inactivity, unclaimed-property, and
|
|
182
|
+
accounting treatment. If authority is unresolved, preserve the more durable purchased right and
|
|
183
|
+
keep promotional or subscription policy separate rather than guessing.
|
|
184
|
+
17. Derive subscription rollover from cost and retention evidence. Compare full reset, bounded
|
|
185
|
+
rollover, and other lawful policies using maximum liability, usage bursts, concurrency, capacity,
|
|
186
|
+
cancellation or downgrade behavior, and long-horizon cohort contribution. A one-cycle or
|
|
187
|
+
multiple-of-quota cap is a candidate, not a universal default.
|
|
188
|
+
18. Spend lots by explicit rights. Prefer the balance that would lawfully expire sooner when doing so
|
|
189
|
+
preserves user value, but keep refunds, tax, enterprise commitments, negative balances, plan
|
|
190
|
+
changes, and policy snapshots reconstructable. Never consume durable purchased value first merely
|
|
191
|
+
to manufacture subscription breakage.
|
|
192
|
+
19. Preserve price-version meaning. Snapshot the feature price, pack price, bonus, output-equivalent,
|
|
193
|
+
policy, and conversion rule used at purchase and execution. Review whether later feature-price
|
|
194
|
+
changes lawfully alter old credit purchasing power; do not hide retroactive devaluation behind a
|
|
195
|
+
nominally unchanged balance.
|
|
196
|
+
20. Show spend before execution. Display an exact charge when inputs fix the cost. Otherwise show a
|
|
197
|
+
defensible range and maximum authorization, the factors that can change it, remaining balance,
|
|
198
|
+
and what happens on failure or cancellation. Price visibility need not require a blocking modal
|
|
199
|
+
for every low-cost repeat action.
|
|
200
|
+
21. Use a quote-reserve-settle flow. Create an expiring `quote_id` bound to actor, product, input hash,
|
|
201
|
+
price version, policy, exact or maximum amount, and idempotency identity; reserve atomically;
|
|
202
|
+
execute once; capture the allowed actual amount for a usable result; and release the remainder on
|
|
203
|
+
lower usage, failure, cancellation, or recovered timeout. Route ledger correctness through
|
|
204
|
+
`credit-ledger-integrity-review`.
|
|
205
|
+
22. Define usable and partial results before charging. Distinguish full success, declared partial
|
|
206
|
+
value, user cancellation, safety refusal, provider failure, product defect, timeout with unknown
|
|
207
|
+
outcome, and duplicate retry. Internal compute cost does not by itself prove customer value or
|
|
208
|
+
authorize a deduction.
|
|
209
|
+
23. Add confirmation only when consequence warrants it. Consider spend share, cash top-up, unusual
|
|
210
|
+
model or quality, irreversible output, variable maximum, or first use. Let users remember a safe
|
|
211
|
+
choice with an accessible way to inspect and change it; do not copy a universal balance percentage.
|
|
212
|
+
24. Separate product, ledger, payment, and accounting evidence. A product experiment can recommend a
|
|
213
|
+
policy but cannot prove atomic balances, provider settlement, tax treatment, or revenue
|
|
214
|
+
recognition. Require the matching specialist evidence before reporting the full system ready.
|
|
215
|
+
25. Predeclare guardrails and analysis. Include activation interruption, useful-output rate, latency,
|
|
216
|
+
stockpiling, depletion, unit cost, p95 cost, refunds, support, disputes, accessibility, platform
|
|
217
|
+
rejection, legal review, accounting uncertainty, and segment heterogeneity. Correct repeated
|
|
218
|
+
peeking and do not ship a post-hoc segment as established.
|
|
219
|
+
26. Promote only a reversible policy whose eligible-cohort contribution improves without violating
|
|
220
|
+
purchased rights, transparent pricing, useful-result charging, ledger integrity, or platform and
|
|
221
|
+
legal constraints. Preserve old policy snapshots and a rollback path for future transactions.
|
|
222
|
+
|
|
223
|
+
<!-- mustflow-section: postconditions -->
|
|
224
|
+
## Postconditions
|
|
225
|
+
|
|
226
|
+
- Offer timing uses pre-trigger assignment, a holdout, an eligible-cohort denominator, and both
|
|
227
|
+
activation and long-horizon contribution guardrails.
|
|
228
|
+
- Discount and bonus framing is compared at equal unit economics or explicitly labeled unequal.
|
|
229
|
+
- Pack count and spacing follow real usage segments, legible unit economics, and non-dominated jobs
|
|
230
|
+
rather than a universal tier count or copied price ratio.
|
|
231
|
+
- Purchased, subscription, promotional, trial, enterprise, refund, and admin balances retain distinct
|
|
232
|
+
policy snapshots, expiry or rollover rights, and spend order where their contracts differ.
|
|
233
|
+
- Expiry and rollover decisions name current platform, jurisdiction, accounting, cost, capacity,
|
|
234
|
+
cancellation, and long-horizon retention evidence or remain unresolved.
|
|
235
|
+
- Every execution shows an exact or bounded price before authorization and settles a quote through
|
|
236
|
+
reserve, usable-result capture, and release or reversal.
|
|
237
|
+
- Breakage, raw execution, checkout start, and trigger-reached conversion remain diagnostics rather
|
|
238
|
+
than standalone proof of monetization success.
|
|
239
|
+
|
|
240
|
+
<!-- mustflow-section: verification -->
|
|
241
|
+
## Verification
|
|
242
|
+
|
|
243
|
+
Use configured oneshot command intents when available: `changes_status`, `changes_diff_summary`,
|
|
244
|
+
`lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, and `mustflow_check`.
|
|
245
|
+
Do not infer raw analytics, warehouse, payment-provider, balance-mutation, accounting, experiment,
|
|
246
|
+
deployment, or production commands.
|
|
247
|
+
|
|
248
|
+
<!-- mustflow-section: failure-handling -->
|
|
249
|
+
## Failure Handling
|
|
250
|
+
|
|
251
|
+
- If discount and bonus variants have different unit economics, stop calling the result a framing
|
|
252
|
+
effect and report the actual effective discount and margin difference.
|
|
253
|
+
- If assignment begins after first value or depletion, report trigger-conditioned evidence and do
|
|
254
|
+
not generalize it to the eligible signup or visitor cohort.
|
|
255
|
+
- If traffic cannot support timing, framing, and pack tests together, sequence them and keep the
|
|
256
|
+
remaining decisions as hypotheses rather than bundling mechanisms into one opaque variant.
|
|
257
|
+
- If purchased-right expiry or cancellation forfeiture lacks current platform, jurisdiction,
|
|
258
|
+
contract, and accounting evidence, preserve the existing durable right and route the decision to
|
|
259
|
+
qualified authority.
|
|
260
|
+
- If balance classes cannot be reconstructed, do not introduce a new expiry, rollover, or spend-order
|
|
261
|
+
policy until the ledger can preserve acquisition source and policy version.
|
|
262
|
+
- If a variable-cost action cannot produce a defensible estimate, set a conservative authorized
|
|
263
|
+
maximum or block the paid path; do not advertise fake precision or surprise-charge afterward.
|
|
264
|
+
- If execution outcome is unknown, keep the reservation pending or reconcile it under a bounded
|
|
265
|
+
policy; do not capture or release based only on a client timeout.
|
|
266
|
+
- If short-horizon purchase or breakage rises while useful output, contribution, repurchase,
|
|
267
|
+
retention, refunds, disputes, support, or trust guardrails worsen, reject or narrow the treatment.
|
|
268
|
+
|
|
269
|
+
<!-- mustflow-section: output-format -->
|
|
270
|
+
## Output Format
|
|
271
|
+
|
|
272
|
+
- Eligible cohort, assignment, trigger, exposure, holdout, and denominator
|
|
273
|
+
- Offer timing, interruption, urgency, eligibility, and suppression decision
|
|
274
|
+
- Discount and bonus economic-equivalence calculation and framing result
|
|
275
|
+
- Pack count, segment, output-equivalent, price spacing, recommendation, and margin decision
|
|
276
|
+
- Balance classes, purchased rights, expiry, rollover, cancellation, restore, and spend-order policy
|
|
277
|
+
- Exact or bounded quote, maximum authorization, reserve, usable-result capture, and release contract
|
|
278
|
+
- Short- and long-horizon contribution, depletion-adjusted repurchase, cost, refund, support, dispute,
|
|
279
|
+
activation, retention, platform, legal, accounting, and trust evidence
|
|
280
|
+
- Files changed
|
|
281
|
+
- Command intents run and skipped checks
|
|
282
|
+
- Remaining credit-monetization risk
|
|
283
|
+
|