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