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.
This commit is contained in:
2026-06-22 02:20:28 +02:00
parent 86ce511764
commit fc2324692c
5 changed files with 273 additions and 157 deletions

View File

@@ -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

View File

@@ -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."
}

View File

@@ -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."
}

View File

@@ -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

View File

@@ -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