From fc2324692cdfab34990a1580825e2836c05799e9 Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 22 Jun 2026 02:20:28 +0200 Subject: [PATCH] Add coulombcore hosting expense at 13.99 EUR/mo from Jan 2025 One hosting expense record per month alongside domain rows. Update infrastructure catalog, tests, and dashboard for 20.74 EUR/mo total infrastructure. --- projects/coulomb-pricing/README.md | 6 +- .../coulomb-pricing/data/expense_records.json | 326 ++++++++++++------ .../data/infrastructure/virtual_servers.json | 12 +- .../reports/economics-2026-06.md | 58 ++-- .../coulomb-pricing/tests/test_economics.py | 28 +- 5 files changed, 273 insertions(+), 157 deletions(-) diff --git a/projects/coulomb-pricing/README.md b/projects/coulomb-pricing/README.md index ccbc064..8644f1d 100644 --- a/projects/coulomb-pricing/README.md +++ b/projects/coulomb-pricing/README.md @@ -23,9 +23,9 @@ computes all totals programmatically (`ledger.py` → `economics.py`). | Membership | `data/membership.json` | **Current reality:** infrastructure from January 2025 — domains **€6.75/mo** -(`coulomb.social` €3.75 + `coulomb.pro` €3.00, per registrar invoices). Virtual -server records pending. Sole member payments from November 2025. Customer -cost-pass-through billing is not active. +(`coulomb.social` €3.75 + `coulomb.pro` €3.00) and coulombcore hosting +**€13.99/mo** (total **€20.74/mo**). Sole member payments from November 2025. +Customer cost-pass-through billing is not active. ### Commands diff --git a/projects/coulomb-pricing/data/expense_records.json b/projects/coulomb-pricing/data/expense_records.json index f9c5746..35fd32d 100644 --- a/projects/coulomb-pricing/data/expense_records.json +++ b/projects/coulomb-pricing/data/expense_records.json @@ -9,9 +9,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-01", @@ -21,9 +19,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-01", + "period": "2025-01", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-02", @@ -33,9 +39,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-02", @@ -45,9 +49,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-02", + "period": "2025-02", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-03", @@ -57,9 +69,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-03", @@ -69,9 +79,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-03", + "period": "2025-03", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-04", @@ -81,9 +99,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-04", @@ -93,9 +109,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-04", + "period": "2025-04", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-05", @@ -105,9 +129,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-05", @@ -117,9 +139,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-05", + "period": "2025-05", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-06", @@ -129,9 +159,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-06", @@ -141,9 +169,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-06", + "period": "2025-06", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-07", @@ -153,9 +189,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-07", @@ -165,9 +199,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-07", + "period": "2025-07", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-08", @@ -177,9 +219,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-08", @@ -189,9 +229,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-08", + "period": "2025-08", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-09", @@ -201,9 +249,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-09", @@ -213,9 +259,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-09", + "period": "2025-09", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-10", @@ -225,9 +279,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-10", @@ -237,9 +289,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-10", + "period": "2025-10", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-11", @@ -249,9 +309,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-11", @@ -261,9 +319,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-11", + "period": "2025-11", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2025-12", @@ -273,9 +339,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2025-12", @@ -285,9 +349,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2025-12", + "period": "2025-12", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2026-01", @@ -297,9 +369,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2026-01", @@ -309,9 +379,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2026-01", + "period": "2026-01", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2026-02", @@ -321,9 +399,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2026-02", @@ -333,9 +409,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2026-02", + "period": "2026-02", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2026-03", @@ -345,9 +429,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2026-03", @@ -357,9 +439,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2026-03", + "period": "2026-03", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2026-04", @@ -369,9 +459,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2026-04", @@ -381,9 +469,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2026-04", + "period": "2026-04", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2026-05", @@ -393,9 +489,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2026-05", @@ -405,9 +499,17 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2026-05", + "period": "2026-05", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" }, { "id": "exp-domain-social-2026-06", @@ -417,9 +519,7 @@ "cost_class": "infrastructure", "amount": "3.75", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "45.00" + "source": "invoice" }, { "id": "exp-domain-pro-2026-06", @@ -429,10 +529,18 @@ "cost_class": "infrastructure", "amount": "3.00", "currency": "EUR", - "source": "invoice", - "billing_term": "2026-01-31/2027-01-30", - "annual_total_eur": "36.00" + "source": "invoice" + }, + { + "id": "exp-hosting-coulombcore-2026-06", + "period": "2026-06", + "vendor": "hosting.coulombcore", + "description": "coulombcore virtual server hosting", + "cost_class": "infrastructure", + "amount": "13.99", + "currency": "EUR", + "source": "invoice" } ], - "note": "Infrastructure expense ledger: domains and virtual servers. Totals computed by observatory/ledger.py. Virtual server records to be added when invoice data is available." + "note": "Infrastructure expense ledger: domains and virtual server hosting. Totals computed by observatory/ledger.py." } diff --git a/projects/coulomb-pricing/data/infrastructure/virtual_servers.json b/projects/coulomb-pricing/data/infrastructure/virtual_servers.json index 11a903a..2f3f7c7 100644 --- a/projects/coulomb-pricing/data/infrastructure/virtual_servers.json +++ b/projects/coulomb-pricing/data/infrastructure/virtual_servers.json @@ -1,6 +1,14 @@ { "version": 1, "currency": "EUR", - "servers": [], - "note": "Virtual server expense records pending actual invoice data. Add entries here and mirror monthly rows in expense_records.json when available." + "servers": [ + { + "name": "coulombcore", + "monthly_eur": "13.99", + "started": "2025-01", + "description": "Virtual server hosting for coulombcore" + } + ], + "monthly_total_eur": "13.99", + "note": "Reference catalog. Monthly expense rows live in expense_records.json." } \ No newline at end of file diff --git a/projects/coulomb-pricing/reports/economics-2026-06.md b/projects/coulomb-pricing/reports/economics-2026-06.md index 21bbe0f..ae81b90 100644 --- a/projects/coulomb-pricing/reports/economics-2026-06.md +++ b/projects/coulomb-pricing/reports/economics-2026-06.md @@ -6,7 +6,7 @@ > Platform costs accrue to the operator. Customer cost-pass-through billing is > **not active** in MVP — members pay subscription only. All totals are computed -> programmatically from expense and payment record ledgers (36 expense +> programmatically from expense and payment record ledgers (54 expense > records). ## Key Metrics (current period) @@ -15,13 +15,13 @@ |--------|------:| | Active members | 1 | | Member payments (gross) | 8.99 EUR | -| Infrastructure cost | 6.75 EUR | +| Infrastructure cost | 20.74 EUR | | Payment processing cost | 0.38 EUR | -| Total platform cost | 7.13 EUR | -| Platform cost per member | 7.13 EUR | -| Period gross margin | 1.86 EUR | -| Period gross margin % | 20.7% | -| Period net liquidity | 1.86 EUR (generating) | +| Total platform cost | 21.12 EUR | +| Platform cost per member | 21.12 EUR | +| Period gross margin | -12.13 EUR | +| Period gross margin % | -134.9% | +| Period net liquidity | -12.13 EUR (burning) | _Period net liquidity = net member payments − infrastructure cost (processing fees already netted from payments)._ _Revenue source: manual_ @@ -32,35 +32,35 @@ _Revenue source: manual_ |--------|------:| | Initial budget | 1000.00 EUR | | Cumulative member payments (net) | 68.88 EUR | -| Cumulative infrastructure cost | 121.50 EUR | +| Cumulative infrastructure cost | 373.32 EUR | | Cumulative payment processing | 3.04 EUR | -| Cumulative total platform cost | 124.54 EUR | -| Cumulative net liquidity | -52.62 EUR (burning) | -| Remaining budget | 947.38 EUR (within budget) | +| Cumulative total platform cost | 376.36 EUR | +| Cumulative net liquidity | -304.44 EUR (burning) | +| Remaining budget | 695.56 EUR (within budget) | | Months tracked | 18 | ## Monthly History | Period | Members | Gross revenue | Infrastructure | Processing | Total platform | Net liquidity | |--------|--------:|--------------:|---------------:|-----------:|---------------:|--------------:| -| 2025-01 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-02 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-03 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-04 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-05 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-06 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-07 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-08 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-09 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-10 | 0 | 0.00 | 6.75 | 0.00 | 6.75 | -6.75 | -| 2025-11 | 1 | 8.99 | 6.75 | 0.38 | 7.13 | 1.86 | -| 2025-12 | 1 | 8.99 | 6.75 | 0.38 | 7.13 | 1.86 | -| 2026-01 | 1 | 8.99 | 6.75 | 0.38 | 7.13 | 1.86 | -| 2026-02 | 1 | 8.99 | 6.75 | 0.38 | 7.13 | 1.86 | -| 2026-03 | 1 | 8.99 | 6.75 | 0.38 | 7.13 | 1.86 | -| 2026-04 | 1 | 8.99 | 6.75 | 0.38 | 7.13 | 1.86 | -| 2026-05 | 1 | 8.99 | 6.75 | 0.38 | 7.13 | 1.86 | -| 2026-06 | 1 | 8.99 | 6.75 | 0.38 | 7.13 | 1.86 | +| 2025-01 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-02 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-03 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-04 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-05 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-06 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-07 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-08 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-09 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-10 | 0 | 0.00 | 20.74 | 0.00 | 20.74 | -20.74 | +| 2025-11 | 1 | 8.99 | 20.74 | 0.38 | 21.12 | -12.13 | +| 2025-12 | 1 | 8.99 | 20.74 | 0.38 | 21.12 | -12.13 | +| 2026-01 | 1 | 8.99 | 20.74 | 0.38 | 21.12 | -12.13 | +| 2026-02 | 1 | 8.99 | 20.74 | 0.38 | 21.12 | -12.13 | +| 2026-03 | 1 | 8.99 | 20.74 | 0.38 | 21.12 | -12.13 | +| 2026-04 | 1 | 8.99 | 20.74 | 0.38 | 21.12 | -12.13 | +| 2026-05 | 1 | 8.99 | 20.74 | 0.38 | 21.12 | -12.13 | +| 2026-06 | 1 | 8.99 | 20.74 | 0.38 | 21.12 | -12.13 | ## Pricing Model Registry diff --git a/projects/coulomb-pricing/tests/test_economics.py b/projects/coulomb-pricing/tests/test_economics.py index 0d7ea94..823fa73 100644 --- a/projects/coulomb-pricing/tests/test_economics.py +++ b/projects/coulomb-pricing/tests/test_economics.py @@ -29,8 +29,8 @@ def test_infrastructure_aggregated_from_domain_expense_records() -> None: fx = load_fx_rates(DATA_DIR) totals = aggregate_infrastructure_by_period(expenses, fx) - assert totals["2025-01"] == Decimal("6.75") - assert totals["2026-06"] == Decimal("6.75") + assert totals["2025-01"] == Decimal("20.74") + assert totals["2026-06"] == Decimal("20.74") def test_monthly_ledger_starts_january_2025() -> None: @@ -41,9 +41,9 @@ def test_monthly_ledger_starts_january_2025() -> None: march = next(row for row in ledger if row.period == "2025-03") june = next(row for row in ledger if row.period == "2026-06") - assert march.infrastructure_cost == Decimal("6.75") + assert march.infrastructure_cost == Decimal("20.74") assert march.payment_processing_cost == Decimal("0.00") - assert june.infrastructure_cost == Decimal("6.75") + assert june.infrastructure_cost == Decimal("20.74") assert june.payment_processing_cost == Decimal("0.38") assert june.gross_revenue == Decimal("8.99") @@ -57,11 +57,11 @@ def test_build_snapshot_june_2026_domain_only_infrastructure() -> None: snapshot = build_snapshot("2026-06", product, models, members, payments, ledger) - assert snapshot.monthly_infrastructure_cost == Decimal("6.75") + assert snapshot.monthly_infrastructure_cost == Decimal("20.74") assert snapshot.monthly_payment_processing_cost == Decimal("0.38") - assert snapshot.monthly_total_platform_cost == Decimal("7.13") - assert snapshot.period_net_liquidity == Decimal("1.86") - assert snapshot.liquidity_status == "generating" + assert snapshot.monthly_total_platform_cost == Decimal("21.12") + assert snapshot.period_net_liquidity == Decimal("-12.13") + assert snapshot.liquidity_status == "burning" def test_liquidity_summary_with_actual_domain_costs() -> None: @@ -71,12 +71,12 @@ def test_liquidity_summary_with_actual_domain_costs() -> None: summary = build_liquidity_summary(budget, payments, ledger, "2026-06") - assert summary.cumulative_infrastructure_cost == Decimal("121.50") + assert summary.cumulative_infrastructure_cost == Decimal("373.32") assert summary.cumulative_payment_processing_cost == Decimal("3.04") - assert summary.cumulative_total_platform_cost == Decimal("124.54") + assert summary.cumulative_total_platform_cost == Decimal("376.36") assert summary.cumulative_member_payments == Decimal("68.88") - assert summary.cumulative_net_liquidity == Decimal("-52.62") - assert summary.remaining_budget == Decimal("947.38") + assert summary.cumulative_net_liquidity == Decimal("-304.44") + assert summary.remaining_budget == Decimal("695.56") assert summary.liquidity_status == "burning" assert summary.months_tracked == 18 @@ -98,6 +98,6 @@ def test_dashboard_notes_expense_record_source() -> None: report = generate_dashboard(DATA_DIR, "2026-06") assert "expense and payment record ledgers" in report - assert "121.50" in report - assert "947.38" in report + assert "373.32" in report + assert "695.56" in report assert "coulomb.social" not in report # dashboard shows aggregates, not domain names \ No newline at end of file