Files
adaptive-pricing/projects/coulomb-pricing/data/expense_records.json
tegwick 31db9f8f31 Refactor economics to expense-record ledger with correct Bubble cost
Replace pre-aggregated costs.json with expense_records.json (48 line-item
records) and payment_records.json. All monthly and cumulative totals are
computed deterministically in observatory/ledger.py. Correct Bubble.io to
$32/mo (since Feb 2025) — infrastructure €69.44/mo not €72.20.
2026-06-22 02:03:22 +02:00

490 lines
13 KiB
JSON

{
"version": 1,
"fx_rates": {
"USD/EUR": "0.92"
},
"records": [
{
"id": "exp-bubble-2025-03",
"period": "2025-03",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-03",
"period": "2025-03",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-03",
"period": "2025-03",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2025-04",
"period": "2025-04",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-04",
"period": "2025-04",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-04",
"period": "2025-04",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2025-05",
"period": "2025-05",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-05",
"period": "2025-05",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-05",
"period": "2025-05",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2025-06",
"period": "2025-06",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-06",
"period": "2025-06",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-06",
"period": "2025-06",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2025-07",
"period": "2025-07",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-07",
"period": "2025-07",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-07",
"period": "2025-07",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2025-08",
"period": "2025-08",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-08",
"period": "2025-08",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-08",
"period": "2025-08",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2025-09",
"period": "2025-09",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-09",
"period": "2025-09",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-09",
"period": "2025-09",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2025-10",
"period": "2025-10",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-10",
"period": "2025-10",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-10",
"period": "2025-10",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2025-11",
"period": "2025-11",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-11",
"period": "2025-11",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-11",
"period": "2025-11",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2025-12",
"period": "2025-12",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2025-12",
"period": "2025-12",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2025-12",
"period": "2025-12",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2026-01",
"period": "2026-01",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2026-01",
"period": "2026-01",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2026-01",
"period": "2026-01",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2026-02",
"period": "2026-02",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2026-02",
"period": "2026-02",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2026-02",
"period": "2026-02",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2026-03",
"period": "2026-03",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2026-03",
"period": "2026-03",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2026-03",
"period": "2026-03",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2026-04",
"period": "2026-04",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2026-04",
"period": "2026-04",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2026-04",
"period": "2026-04",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2026-05",
"period": "2026-05",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2026-05",
"period": "2026-05",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2026-05",
"period": "2026-05",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-bubble-2026-06",
"period": "2026-06",
"vendor": "bubble.io",
"description": "Bubble.io Personal plan ($32/mo since Feb 2025)",
"cost_class": "infrastructure",
"amount": "32.00",
"currency": "USD",
"source": "manual"
},
{
"id": "exp-domains-2026-06",
"period": "2026-06",
"vendor": "domains",
"description": "Domain registrations",
"cost_class": "infrastructure",
"amount": "15.00",
"currency": "EUR",
"source": "manual"
},
{
"id": "exp-overhead-2026-06",
"period": "2026-06",
"vendor": "operational-overhead",
"description": "Operational overhead",
"cost_class": "infrastructure",
"amount": "25.00",
"currency": "EUR",
"source": "manual"
}
],
"note": "Source-of-truth expense ledger. Aggregations are computed by observatory/ledger.py \u2014 never hand-edited totals."
}