You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sims-hq/apps/hq-web
Thomas Joise c45b5692be feat(reminders): escalating quote follow-up (Phase 6, spec §7)
- reminder.rule_kind gains 'quote_followup': SCHEMA widened + rebuild-once
  migration via the shared rebuildTable helper (UNIQUE idempotency key and
  status/policy_applied CHECKs preserved verbatim; guarded, idempotent)
- runDailyScan: new scan block over sent quotations anchored on the first
  'sent' event; dated day offsets from resolveSchedule; catch-up guard fires
  only the single highest crossed milestone; policy from setting
  quote.followup.policy (default manual); auto sends drain strictly after
  the scan writes commit, at-most-once via the unique key
- reminderContext resolves (never mints) a live share and dated subject/body;
  graceful wording when the quote has no docNo; minting happens ONLY in the
  send path with a ~60-day expiry, reusing a live share
- STOP cleanup: markStatus(accepted|lost) and convertDocument dismiss open
  quote_followup rows per-row (each audited) in the same transaction
- listQueue: paginated with honest total, owner-scoped via
  doc_id -> document.created_by, labelled rows; dashboard + /reminders wired

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5 days ago
..
src feat(reminders): escalating quote follow-up (Phase 6, spec §7) 5 days ago
test feat(hq-web): relationship-pulse ribbon on Client 360 overview 5 days ago
index.html feat(hq-web): react shell with login and email-status banner (HQ-1 task 15) 2 weeks ago
package.json feat(hq-web): grouped sidebar shell, top bar, Ctrl+K palette, responsive-lite 5 days ago
tsconfig.json feat(hq-web): react shell with login and email-status banner (HQ-1 task 15) 2 weeks ago
vite.config.ts Split: make this the standalone HQ project (remove Store) 5 days ago