Implement ADAPTIVE-WP-0002 Sprint 1 economic foundations

Add Coulomb observatory package with JSON registries (product, pricing
models, costs, revenue, membership), economics snapshot engine, Economics
Dashboard v1 CLI, sample report, and pytest coverage. Complete T01 and
queue Sprint 2 Bubble.io integration.
This commit is contained in:
2026-06-22 01:32:48 +02:00
parent d648a3263d
commit a1a4aa972f
17 changed files with 709 additions and 19 deletions

View File

@@ -0,0 +1,64 @@
{
"version": 1,
"period": "2026-06",
"entries": [
{
"id": "bubble-subscription",
"name": "Bubble.io platform",
"category": "fixed",
"amount": "35.00",
"currency": "USD",
"cadence": "monthly",
"allocation": "flat"
},
{
"id": "domains",
"name": "Domains",
"category": "fixed",
"amount": "15.00",
"currency": "EUR",
"cadence": "monthly",
"allocation": "flat"
},
{
"id": "operational-overhead",
"name": "Operational overhead",
"category": "fixed",
"amount": "25.00",
"currency": "EUR",
"cadence": "monthly",
"allocation": "flat"
},
{
"id": "stripe-percentage",
"name": "Stripe percentage fee",
"category": "variable",
"amount": "0.015",
"currency": "ratio",
"cadence": "per_transaction",
"allocation": "percent_of_gross_revenue"
},
{
"id": "stripe-fixed",
"name": "Stripe fixed fee",
"category": "variable",
"amount": "0.25",
"currency": "EUR",
"cadence": "per_transaction",
"allocation": "per_active_member"
},
{
"id": "openrouter-ai",
"name": "OpenRouter AI consumption",
"category": "variable",
"amount": "0.00",
"currency": "EUR",
"cadence": "monthly",
"allocation": "flat",
"note": "Populated in Sprint 4 after usage import"
}
],
"fx_rates": {
"USD/EUR": "0.92"
}
}

View File

@@ -0,0 +1,40 @@
{
"version": 1,
"snapshot_date": "2026-06-21",
"members": [
{
"id": "member-001",
"external_id": null,
"status": "active",
"joined_at": "2025-11-03",
"plan_id": "flat-899-eur-monthly",
"source": "seed"
},
{
"id": "member-002",
"external_id": null,
"status": "active",
"joined_at": "2026-01-15",
"plan_id": "flat-899-eur-monthly",
"source": "seed"
},
{
"id": "member-003",
"external_id": null,
"status": "active",
"joined_at": "2026-03-28",
"plan_id": "flat-899-eur-monthly",
"source": "seed"
},
{
"id": "member-004",
"external_id": null,
"status": "churned",
"joined_at": "2025-08-10",
"churned_at": "2026-02-01",
"plan_id": "flat-899-eur-monthly",
"source": "seed"
}
],
"note": "Seed data for Sprint 1; replaced by Bubble importer in Sprint 2"
}

View File

@@ -0,0 +1,39 @@
{
"version": 1,
"models": [
{
"id": "flat-899-eur-monthly",
"name": "Standard Membership",
"model_type": "flat_subscription",
"lifecycle_phase": "growth",
"currency": "EUR",
"access_fee_amount": "8.99",
"access_fee_cadence": "monthly",
"included_usage": "unlimited_repository_access",
"status": "active"
},
{
"id": "membership-plus-credits",
"name": "Membership + AI Credits",
"model_type": "hybrid_subscription_usage",
"lifecycle_phase": "exploration",
"currency": "EUR",
"access_fee_amount": "8.99",
"access_fee_cadence": "monthly",
"included_usage": "monthly_ai_credit_allowance",
"status": "candidate"
},
{
"id": "membership-plus-overage",
"name": "Membership + Overage",
"model_type": "hybrid_subscription_usage",
"lifecycle_phase": "exploration",
"currency": "EUR",
"access_fee_amount": "8.99",
"access_fee_cadence": "monthly",
"included_usage": "monthly_ai_credit_allowance",
"overage_meter": "openrouter_tokens",
"status": "candidate"
}
]
}

View File

@@ -0,0 +1,12 @@
{
"id": "coulomb-social-membership",
"name": "Coulomb Social Membership",
"lifecycle_phase": "growth",
"currency": "EUR",
"description": "Repository and community access via monthly subscription.",
"active_pricing_model_id": "flat-899-eur-monthly",
"channels": {
"membership_platform": "bubble.io",
"payments": "stripe"
}
}

View File

@@ -0,0 +1,16 @@
{
"version": 1,
"entries": [
{
"id": "rev-2026-06-estimate",
"period": "2026-06",
"gross_amount": "80.91",
"fees_amount": "2.46",
"refunds_amount": "0.00",
"net_amount": "78.45",
"currency": "EUR",
"source": "manual_estimate",
"note": "Seed estimate for Sprint 1; replaced by Stripe sync in Sprint 3"
}
]
}