Retire lp_profiles + LP Tracker; repoint Dashboard committed to the grid (v0.1.0:78)

The fundraising grid + email capture is the canonical system of record. lp_profiles
was a superseded single-fund model with no reachable create/edit path, and the LP
Tracker page was already orphaned (no nav entry + a redirect bouncing it to the grid).

- Remove /api/lp-profiles* endpoints + handlers, the unused lp-breakdown report,
  the contact-dossier LP section, the demo-seed LP block, and (frontend) the
  LPTrackerPage component + its lp-tracker->fundraising-grid redirect.
- Dashboard "Total Committed" now sums fundraising_investors.total_invested
  (graveyarded investors excluded) instead of the orphaned lp_profiles table, which
  read ~$0. "Total Funded" dropped: the grid tracks commitments, not a funded amount,
  and the frontend never rendered it.
- Leave the empty lp_profiles table/index, the contact-delete soft-delete cascade,
  and the --reset-all-data clear in place (never-hard-delete).
- Tests: add test_dashboard_report.py; update test_soft_delete_reads.py. 21/21 green.
This commit is contained in:
Keysat
2026-06-16 10:48:53 -05:00
parent 5cda84a7c0
commit 108210d8e1
8 changed files with 180 additions and 486 deletions
+3 -2
View File
@@ -38,8 +38,9 @@ import { v_0_1_0_74 } from './v0.1.0.74'
import { v_0_1_0_75 } from './v0.1.0.75'
import { v_0_1_0_76 } from './v0.1.0.76'
import { v_0_1_0_77 } from './v0.1.0.77'
import { v_0_1_0_78 } from './v0.1.0.78'
export const versionGraph = VersionGraph.of({
current: v_0_1_0_77,
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43, v_0_1_0_44, v_0_1_0_45, v_0_1_0_46, v_0_1_0_47, v_0_1_0_48, v_0_1_0_49, v_0_1_0_50, v_0_1_0_51, v_0_1_0_52, v_0_1_0_53, v_0_1_0_54, v_0_1_0_55, v_0_1_0_56, v_0_1_0_57, v_0_1_0_58, v_0_1_0_59, v_0_1_0_60, v_0_1_0_61, v_0_1_0_62, v_0_1_0_63, v_0_1_0_64, v_0_1_0_65, v_0_1_0_66, v_0_1_0_67, v_0_1_0_68, v_0_1_0_69, v_0_1_0_70, v_0_1_0_71, v_0_1_0_72, v_0_1_0_73, v_0_1_0_74, v_0_1_0_75, v_0_1_0_76],
current: v_0_1_0_78,
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43, v_0_1_0_44, v_0_1_0_45, v_0_1_0_46, v_0_1_0_47, v_0_1_0_48, v_0_1_0_49, v_0_1_0_50, v_0_1_0_51, v_0_1_0_52, v_0_1_0_53, v_0_1_0_54, v_0_1_0_55, v_0_1_0_56, v_0_1_0_57, v_0_1_0_58, v_0_1_0_59, v_0_1_0_60, v_0_1_0_61, v_0_1_0_62, v_0_1_0_63, v_0_1_0_64, v_0_1_0_65, v_0_1_0_66, v_0_1_0_67, v_0_1_0_68, v_0_1_0_69, v_0_1_0_70, v_0_1_0_71, v_0_1_0_72, v_0_1_0_73, v_0_1_0_74, v_0_1_0_75, v_0_1_0_76, v_0_1_0_77],
})
+23
View File
@@ -0,0 +1,23 @@
import { VersionInfo } from '@start9labs/start-sdk'
// Retire the legacy lp_profiles table + the orphaned LP Tracker page, and repoint the
// Dashboard "Total Committed" KPI onto the canonical fundraising grid. Code-only, no
// schema change (the empty lp_profiles table is left in place; migrations are no-ops):
// * Removed /api/lp-profiles* endpoints + handlers, the unused lp-breakdown report,
// the contact-dossier LP section, the demo-seed LP block, and (frontend) the
// orphaned LPTrackerPage component + its lp-tracker->fundraising-grid redirect.
// * Dashboard "Total Committed" now sums fundraising_investors.total_invested
// (graveyarded investors excluded) instead of the orphaned lp_profiles table, which
// read ~$0. "Total Funded" dropped (the grid has no funded-vs-committed concept).
// * Tests: test_dashboard_report.py added; test_soft_delete_reads.py updated.
export const v_0_1_0_78 = VersionInfo.of({
version: '0.1.0:78',
releaseNotes: {
en_US: [
'Dashboard "Total Committed" now reflects real committed capital from the fundraising grid',
'instead of the retired LP-profile table. Removed the unused LP Tracker page and its',
'legacy data endpoints; the grid remains the single source of truth for investors.',
].join(' '),
},
migrations: { up: async () => {}, down: async () => {} },
})