generated from coulomb/repo-seed
Complete Economic Observatory MVP (ADAPTIVE-WP-0002)
Add file-based Bubble, Stripe, and OpenRouter importers; usage attribution, cost allocation, pricing simulator, credit wallets, and recommendations in the dashboard API. Document whynot-design UI workflow and archive the finished workplan with all ten tasks marked done.
This commit is contained in:
@@ -4,11 +4,13 @@ Project-specific material for the Coulomb Social Economic Observatory MVP.
|
||||
|
||||
Generic adaptive-pricing framework concepts belong in the repository root
|
||||
(`INTENT.md`, `docs/`, `research/`, `registry/`). Execution tracking:
|
||||
`workplans/ADAPTIVE-WP-0002-economic-observatory-mvp.md`.
|
||||
`workplans/archived/260622-ADAPTIVE-WP-0002-economic-observatory-mvp.md`
|
||||
(finished 2026-06-22).
|
||||
|
||||
Liquidity and cost requirements: `REQUIREMENTS.md`.
|
||||
Liquidity and cost requirements: `REQUIREMENTS.md`.
|
||||
UI workflow (whynot-design): `docs/UI-WORKFLOW.md`.
|
||||
|
||||
## Sprint 1 — Economic Foundations
|
||||
## Economic Observatory
|
||||
|
||||
The `observatory/` package reads **expense and payment record ledgers** and
|
||||
computes all totals programmatically (`ledger.py` → `economics.py`).
|
||||
@@ -21,6 +23,10 @@ computes all totals programmatically (`ledger.py` → `economics.py`).
|
||||
| Product model | `data/product.json` |
|
||||
| Pricing models | `data/pricing-models.json` |
|
||||
| Membership | `data/membership.json` |
|
||||
| AI usage | `data/usage_records.json` |
|
||||
| Credit wallets | `data/credit_wallets.json` |
|
||||
| Value range hypotheses | `data/value_range.json` |
|
||||
| Market signals | `data/market_signals.json` |
|
||||
|
||||
**Current reality:** infrastructure from January 2025 — domains **€6.75/mo**,
|
||||
coulombcore hosting **€13.99/mo** (from Jan 2025), railiance01 hosting
|
||||
@@ -42,9 +48,16 @@ make serve
|
||||
|
||||
Open **http://127.0.0.1:8765/** for the Economic Observatory UI (served from
|
||||
`ui/`, data via `/api/dashboard`). The UI consumes **whynot-design** (Layer 1 CSS
|
||||
+ Layer 2 `<wn-*>` components) from `ui/vendor/whynot-design/` — re-run the sync
|
||||
script after bumping the pinned ref in `.whynot-design-ref`. Claude atelier mock
|
||||
(reference only): https://claude.ai/design/p/fb2eef8c-c1fc-4c75-bff4-3782552e5511
|
||||
+ Layer 2 `<wn-*>` components) from `ui/vendor/whynot-design/`. See
|
||||
`docs/UI-WORKFLOW.md` for the implementation process.
|
||||
|
||||
Manual ledgers will be replaced by Bubble (Sprint 2), Stripe (Sprint 3), and
|
||||
OpenRouter (Sprint 4) importers.
|
||||
### Importers (file-based sync)
|
||||
|
||||
```bash
|
||||
python3 -m observatory.importers.bubble --input data/imports/bubble-export.sample.json
|
||||
python3 -m observatory.importers.stripe --input data/imports/stripe-export.sample.json
|
||||
python3 -m observatory.importers.openrouter --input data/imports/openrouter-export.sample.json
|
||||
```
|
||||
|
||||
Sample exports live under `data/imports/`. Live API sync can replace these
|
||||
file-based importers in a follow-on workplan.
|
||||
Reference in New Issue
Block a user