ContractSpec docs

OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

Domain docs

GrowthOS

Referral and affiliate acquisition, deterministic attribution, governed rewards, balances, and provider-neutral payouts.

Source packages

Start with packages/modules/growth-os, then use the spec and runtime packages as compatibility boundaries.

  • packages/libs/growth-spec

  • packages/libs/growth-runtime

  • packages/integrations/growth-persistence

  • packages/integrations/growth-dub

  • packages/integrations/growth-payments

Platform stance

Define the domain once. Render web and mobile with platform-native shells after contract, role, tenant, and policy resolution.

Canonical surfaces

  • Referral and affiliate programs for identity or organization participants

  • Program-prioritized first-touch or last-touch attribution with one non-stackable winner

  • Fixed or percentage rewards with one-time or recurring accrual

  • Maturity, reversal, balance, payout destination, request, batch, and provider status contracts

  • Participant sharing, conversion, earnings, and payout views plus permission-gated administrator review controls

Implementation notes

  • Keep LSSM authoritative. Dub receives link, lead, and sale synchronization evidence but never owns attribution or balances.

  • Carry signed acquisition context through AuthOS as an opaque token and resolve it only at the GrowthOS boundary.

  • Persist every mutation transactionally with tenant, external-conversion, link-code, and idempotency constraints.

  • Reuse BillingOS commission math and the provider-neutral Stripe or PayPal payout capability instead of duplicating money logic.

  • Use compensating ledger entries for conversion and payout reversals; never rewrite financial history.

  • Keep Dub and payout execution disabled by default, then enable them explicitly per program with retry, webhook-deduplication, and reconciliation evidence.