diff --git a/docs/prospector.md b/docs/prospector.md index 83184b6b..1ac00a6c 100644 --- a/docs/prospector.md +++ b/docs/prospector.md @@ -30,4 +30,6 @@ Work in this area must read/use the plans/handoffs above. Update them + this doc as status changes. -See root CLAUDE.md for broader protocols (use plans, collective voice, scoped commits, etc.). \ No newline at end of file +See root CLAUDE.md for broader protocols (use plans, collective voice, scoped commits, etc.). + +**Extraction pattern precedent (2026-06-29)**: Prospector monolith->dedicated extraction (to @applications/prospector) now extended to marketing (outreach batches) and finances. Dedicated homes: @applications/marketing/ and @applications/finances/ . Their docs/MIGRATION_FROM_LP.md + definition docs capture the targets in LP (api/entities/outreach-*, surfaces/my/outreach + financials/*, my/frontend pages, mcp). LP provides compat proxies while new apps take over. Update quinn-my/ docs and platform references as phases progress. diff --git a/docs/quinn-my/financials.md b/docs/quinn-my/financials.md index 1348a955..b4fc7a91 100644 --- a/docs/quinn-my/financials.md +++ b/docs/quinn-my/financials.md @@ -144,3 +144,6 @@ Week boundaries: Monday–Sunday UTC. Month prefix: `YYYY-MM`. - `income_meta` uses an upsert on `id = 1` — only one row ever exists. `PUT /api/financials/roi/meta` and `PUT /api/financials/savings` both upsert the same row but update different columns; partial updates preserve the other columns via the `ON CONFLICT DO UPDATE SET` pattern. - Purchases have a nullable `status` field (no enforced enum); subscriptions have a freeform `type` field (also no enum). Only income sessions have a strict type enum. - Session update uses `null` sentinel correctly: if `projectId` or `clientId` is explicitly passed as `null` in the body, it is stored as NULL (nulling out the FK). If the key is absent from the body, the existing value is preserved. + +**Extraction in progress (2026-06-29)**: The financials domain is being extracted to a dedicated `@applications/finances` app (Nest + PWA + MCP + own DB) following the prospector pattern. See `@applications/finances/docs/MIGRATION_FROM_LP.md` + `docs/FINANCES.md`. During transition, LP surfaces remain; new dedicated app at its own origin (linkable as /finances/app or proxied). Update this doc + my/ pages as cutover advances. LP code locations for port: api/entities/financials/*, surfaces/my/{financials,pending-income,...}, my/backend-api schema-financials, my/frontend financials pages/tabs. +