Add reminders & follow-ups (W1) (v0.1.0:92)
First-class reminders tied to the fundraising grid — foundation of the agreed reminders -> NL-search -> bot-mutations plan (keep LP data off third-party LLMs). - reminders table (migration 0006; logical FK to fundraising_investors.id + denormalized name), CRUD at /api/reminders (soft-delete; open/done/snoozed/ cancelled; assignee; source; source_row_id resolution) - read-only derived reminder_status grid column (overdue/due_soon/open), filterable; orphan reconciler cancels reminders when an investor leaves the grid - Reminders page, Dashboard "Reminders Due" card, daily-digest reminders section - per-investor last_activity_at recency rollup (shared block for the W2 NL query) - tests: test_reminders.py + digest reminders test (31/31 green, render-smoke green)
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import { VersionInfo } from '@start9labs/start-sdk'
|
||||
|
||||
// Reminders & follow-ups (W1). First-class tickler tied to the fundraising grid: a new
|
||||
// `reminders` table (in-app migration 0006; logical FK to fundraising_investors.id +
|
||||
// denormalized name, like the pipeline link), full CRUD at /api/reminders (soft-delete;
|
||||
// status open/done/snoozed/cancelled; assignee; source human/bot/automation), a read-only
|
||||
// derived `reminder_status` grid column (overdue/due_soon/open — injected like pipeline_stage,
|
||||
// filterable so a saved view can drive the follow-up view off real reminders), an orphan
|
||||
// reconciler (cancels reminders when their investor leaves the grid), a Reminders page, a
|
||||
// Dashboard "Reminders Due" card, and a "Reminders due" daily-digest section. Pure local CRM
|
||||
// data — no LLM path. up/down are no-ops; the real SQLite migration runs in-app at startup.
|
||||
export const v_0_1_0_92 = VersionInfo.of({
|
||||
version: '0.1.0:92',
|
||||
releaseNotes: {
|
||||
en_US: [
|
||||
'Reminders & follow-ups: set a due-dated reminder on any investor from the grid,',
|
||||
'track them on the new Reminders page + Dashboard card, and get an overdue/due-today',
|
||||
'section in the daily digest.',
|
||||
].join(' '),
|
||||
},
|
||||
migrations: { up: async () => {}, down: async () => {} },
|
||||
})
|
||||
Reference in New Issue
Block a user