91361042e7
Per Grant's clarification of the real data model: - Investor entities come from the fundraising grid, one per row, all labeled "investor" (drops the confusing lp/organization split). Grid is source of truth. - People come ONLY from the contacts table. The grid's contacts (fundraising_ contacts) are matched to a contact-person and recorded as member_of links to their investor, instead of creating duplicate person entities. This fixes the ~doubled people count (people now ≈ contacts, not contacts + grid contacts). - System Status cards: Investors / People (resolved) / Contacts in CRM / Grid contacts, so resolved-vs-source is visible at a glance. Verified on synthetic: people == contacts count (no double-count); multi-contact investors preserved via member_of. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
20 lines
933 B
TypeScript
20 lines
933 B
TypeScript
import { VersionInfo } from '@start9labs/start-sdk'
|
|
|
|
// Entity-model fix. Investor entities now come from the fundraising grid (one per
|
|
// row, all labeled "investor"; the confusing organization/lp split is gone), and
|
|
// PEOPLE come only from the contacts table. The grid's contacts are recorded as
|
|
// membership links to their investor rather than as duplicate people, which fixes
|
|
// the roughly-doubled people count. Rebuild the search index after upgrading.
|
|
export const v_0_1_0_48 = VersionInfo.of({
|
|
version: '0.1.0:48',
|
|
releaseNotes: {
|
|
en_US: [
|
|
'Fixes the entity counts: investors now come from the fundraising grid and',
|
|
'people come from the contacts table, with the grid\'s contacts treated as',
|
|
'memberships instead of duplicate people. Run Rebuild search index after',
|
|
'upgrading to refresh the numbers.',
|
|
].join(' '),
|
|
},
|
|
migrations: { up: async () => {}, down: async () => {} },
|
|
})
|