carlos / platform Public

Merge the multi-currency price book and the retirement protocol (feat/carloku-multi-currency-20261001 at 2b0abef1): twenty-seven reviews, both reviewers accepting at rounds twenty-six and twenty-seven

USD/EUR/GBP price book with one stored currency per purchase; one billing
form with a server-signed quote; ownership on every path; the intent
retirement protocol's stage one, the structural evidence invariant, the
named-subscription rule and the account retirement's point of no return;
the review-18 P2 closed on this branch by both reviewers. Gate passed alone
on 2b0abef1 (00:51Z) and CI passed. Billing stays off; nothing here is
enabled.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

# Conflicts:
#	implementation/carloku-paid-launch/stripe-provisioning.md
claude agent, operated by paul@keymail.dev d64180a7640af7d48b7a288761ab86feaaa2c164 parent 72a0ab8parent 2b0abef
117 files changed, +24080 −643
  • cmd/console/billing.go +86 −5
  • cmd/console/billing_test.go +212 −10
  • cmd/pricebook-export/main.go +36 −0
  • docs/superpowers/specs/2026-10-01-multi-currency-price-book-design.md +224 −0
  • docs/superpowers/specs/2026-10-02-intent-retirement-protocol-design.md +135 −0
  • docs/superpowers/specs/CODEX-FINDINGS-intent-retirement-design-review1.md +122 −0
  • docs/superpowers/specs/CODEX-FINDINGS-intent-retirement-design-review2.md +144 −0
  • docs/superpowers/specs/CODEX-FINDINGS-intent-retirement-design-review3.md +117 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review1.md +96 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review10.md +94 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review11.md +74 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review12.md +110 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review13.md +141 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review14.md +136 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review15.md +114 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review16.md +123 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review17.md +169 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review18.md +191 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review19.md +175 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review2.md +120 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review20.md +222 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review21.md +236 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review22.md +243 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review23.md +170 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review24.md +183 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review25.md +181 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review26.md +262 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review27.md +152 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review3.md +133 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review4.md +168 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review5.md +188 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review6.md +147 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review7.md +130 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review8.md +123 −0
  • docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review9.md +110 −0
  • docs/superpowers/specs/DISPOSITIONS-multi-currency.md +588 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review1.md +120 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review10.md +106 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review11.md +123 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review12.md +123 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review13.md +120 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review14.md +115 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review15.md +105 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review16.md +142 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review17.md +109 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review18.md +99 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review19.md +178 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review2.md +112 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review20.md +166 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review21.md +160 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review22.md +183 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review23.md +103 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review24.md +110 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review25.md +142 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review26.md +130 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review27.md +86 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review3.md +142 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review4.md +121 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review5.md +145 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review6.md +176 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review7.md +130 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review8.md +104 −0
  • docs/superpowers/specs/OPUS-REVIEW-multi-currency-review9.md +103 −0
  • implementation/carloku-paid-launch/copy-review/billing-page/preview/index.html +363 −148
  • implementation/carloku-paid-launch/stripe-provision.sh +102 −48
  • implementation/carloku-paid-launch/stripe-provisioning.md +57 −34
  • internal/billingstripe/catalog.go +38 −9
  • internal/billingstripe/catalog_test.go +75 −0
  • internal/billingstripe/client.go +115 −9
  • internal/billingstripe/client_test.go +152 −30
  • internal/billingstripe/invoices.go +16 −3
  • internal/billingstripe/invoices_test.go +58 −2
  • internal/console/billingcalculation.go +75 −6
  • internal/console/billingcurrency.go +136 −0
  • internal/console/billingcurrency_test.go +4353 −0
  • internal/console/billingevidence_test.go +650 −0
  • internal/console/billingflow_demo_test.go +71 −27
  • internal/console/billinghandlers.go +143 −6
  • internal/console/billingholds_test.go +5 −1
  • internal/console/billinginvoice.go +73 −16
  • internal/console/billinginvoice_test.go +52 −8
  • internal/console/billinginvoicestore.go +3 −3
  • internal/console/billingmembership_test.go +12 −4
  • internal/console/billingnamed_test.go +1520 −0
  • internal/console/billingoperator.go +227 −14
  • internal/console/billingoperator_test.go +1 −1
  • internal/console/billingpage.go +239 −21
  • internal/console/billingpage_preview_test.go +1 −1
  • internal/console/billingpage_test.go +8 −8
  • internal/console/billingpass.go +94 −13
  • internal/console/billingquantity.go +9 −2
  • internal/console/billingquantity_test.go +44 −11
  • internal/console/billingquantityaudit.go +18 −4
  • internal/console/billingquantityaudit_test.go +13 −1
  • internal/console/billingrenewal_test.go +1 −1
  • internal/console/billingretirement.go +1062 −0
  • internal/console/billingretirement_export_test.go +11 −0
  • internal/console/billingretirement_test.go +1025 −0
  • internal/console/billingreview_test.go +3 −0
  • internal/console/billingservice.go +753 −55
  • internal/console/billingservice_test.go +235 −27
  • internal/console/billingstore.go +764 −50
  • internal/console/billingstore_test.go +13 −1
  • internal/console/deletion_test.go +12 −0
  • internal/console/entitlementpass_test.go +4 −4
  • internal/console/ownership.go +42 −19
  • internal/console/server.go +3 −0
  • internal/console/store.go +5 −1
  • internal/console/templates/billing.html +54 −21
  • internal/console/templates/layout.html +35 −0
  • internal/plans/lines.go +30 −19
  • internal/plans/month.go +50 −0
  • internal/plans/pricebook.go +775 −0
  • internal/plans/pricebook.json +43 −0
  • internal/plans/pricebook_test.go +628 −0
  • internal/plans/provision_test.go +87 −0
  • internal/plans/public-pricebook.json +414 −0
cmd/console/billing.go

Loading diff…

cmd/console/billing_test.go

Loading diff…

cmd/pricebook-export/main.go

Loading diff…

docs/superpowers/specs/2026-10-01-multi-currency-price-book-design.md

Loading diff…

docs/superpowers/specs/2026-10-02-intent-retirement-protocol-design.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-intent-retirement-design-review1.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-intent-retirement-design-review2.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-intent-retirement-design-review3.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review1.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review10.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review11.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review12.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review13.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review14.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review15.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review16.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review17.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review18.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review19.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review2.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review20.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review21.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review22.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review23.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review24.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review25.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review26.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review27.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review3.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review4.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review5.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review6.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review7.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review8.md

Loading diff…

docs/superpowers/specs/CODEX-FINDINGS-multi-currency-review9.md

Loading diff…

docs/superpowers/specs/DISPOSITIONS-multi-currency.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review1.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review10.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review11.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review12.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review13.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review14.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review15.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review16.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review17.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review18.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review19.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review2.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review20.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review21.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review22.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review23.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review24.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review25.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review26.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review27.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review3.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review4.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review5.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review6.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review7.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review8.md

Loading diff…

docs/superpowers/specs/OPUS-REVIEW-multi-currency-review9.md

Loading diff…

implementation/carloku-paid-launch/copy-review/billing-page/preview/index.html

Loading diff…

implementation/carloku-paid-launch/stripe-provision.sh

Loading diff…

implementation/carloku-paid-launch/stripe-provisioning.md

Loading diff…

internal/billingstripe/catalog.go

Loading diff…

internal/billingstripe/catalog_test.go

Loading diff…

internal/billingstripe/client.go

Loading diff…

internal/billingstripe/client_test.go

Loading diff…

internal/billingstripe/invoices.go

Loading diff…

internal/billingstripe/invoices_test.go

Loading diff…

internal/console/billingcalculation.go

Loading diff…

internal/console/billingcurrency.go

Loading diff…

internal/console/billingcurrency_test.go

Loading diff…

internal/console/billingevidence_test.go

Loading diff…

internal/console/billingflow_demo_test.go

Loading diff…

internal/console/billinghandlers.go

Loading diff…

internal/console/billingholds_test.go

Loading diff…

internal/console/billinginvoice.go

Loading diff…

internal/console/billinginvoice_test.go

Loading diff…

internal/console/billinginvoicestore.go

Loading diff…

internal/console/billingmembership_test.go

Loading diff…

internal/console/billingnamed_test.go

Loading diff…

internal/console/billingoperator.go

Loading diff…

internal/console/billingoperator_test.go

Loading diff…

internal/console/billingpage.go

Loading diff…

internal/console/billingpage_preview_test.go

Loading diff…

internal/console/billingpage_test.go

Loading diff…

internal/console/billingpass.go

Loading diff…

internal/console/billingquantity.go

Loading diff…

internal/console/billingquantity_test.go

Loading diff…

internal/console/billingquantityaudit.go

Loading diff…

internal/console/billingquantityaudit_test.go

Loading diff…

internal/console/billingrenewal_test.go

Loading diff…

internal/console/billingretirement.go

Loading diff…

internal/console/billingretirement_export_test.go

Loading diff…

internal/console/billingretirement_test.go

Loading diff…

internal/console/billingreview_test.go

Loading diff…

internal/console/billingservice.go

Loading diff…

internal/console/billingservice_test.go

Loading diff…

internal/console/billingstore.go

Loading diff…

internal/console/billingstore_test.go

Loading diff…

internal/console/deletion_test.go

Loading diff…

internal/console/entitlementpass_test.go

Loading diff…

internal/console/ownership.go

Loading diff…

internal/console/server.go

Loading diff…

internal/console/store.go

Loading diff…

internal/console/templates/billing.html

Loading diff…

internal/console/templates/layout.html

Loading diff…

internal/plans/lines.go

Loading diff…

internal/plans/month.go

Loading diff…

internal/plans/pricebook.go

Loading diff…

internal/plans/pricebook.json

Loading diff…

internal/plans/pricebook_test.go

Loading diff…

internal/plans/provision_test.go

Loading diff…

internal/plans/public-pricebook.json

Loading diff…