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.
Review findings on the quote-to-close slice, each verified against the code: - convertDocument: ANY conversion now flips the source to 'invoiced' (previously only ->INVOICE), so a QT->PI quote leaves the daily scan's 'sent' set and the pipeline's Quoted/Waiting — the chase never resumes after convert (spec 7 stop conditions). Scan additionally excludes quotes with a live forward child (covers rows converted before this fix) and quotes of lost clients. - convertDocument rule-4 guard (spec 8 F4): a live non-cancelled forward child blocks re-convert — one sale, one legal document; cancelling the child re-opens the path. Rule-2 fix (spec 8 F3): ->INVOICE recomputes the carried lines through computeBill on the invoice's own doc_date (mirrors createCreditNote); QT->PI stays copy-only (both non-legal). - cancelDocument dismisses a cancelled quotation's open follow-up nudges in the same transaction, per-row audited — dead paper is not chased. - GET /reminders?status= no longer bypasses the owner scope and pagination: the status param narrows the same scoped listQueue view. Web badge (Layout) now uses the honest scoped total instead of an unscoped flat list length. - listQueue/queueCounts staff scope keeps doc-less reminders (renewal_due, amc_expiring, follow_up, email_bounced) visible — they have no derived owner and are shared work; previously they vanished for every staff viewer. - sendReminder resolves the recipient BEFORE minting a public share (a send that can never succeed leaves no live artifact) and refuses quote_followup sends loudly when share.base_url is unset instead of emailing a dead relative link. The scheduler auto-drain parks a hard-failing send as 'failed' with its reason instead of crashing the scan. - reminderContext takes an injectable today (threaded from deps.now in the send path) so dated schedule text resolves deterministically. - Pipeline: quote-less lost clients (client.status=lost) now appear under filter=lost (spec 9); Dashboard queue table marks first-page truncation honestly (rule 8). Typecheck clean; 270 tests green (255 before, +15 covering each fix). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
5 days ago | |
|---|---|---|
| .. | ||
| fixtures | 2 weeks ago | |
| amc.test.ts | 2 weeks ago | |
| auth.test.ts | 2 weeks ago | |
| aws-costs.test.ts | 2 weeks ago | |
| aws-pull-route.test.ts | 2 weeks ago | |
| aws-repo.test.ts | 2 weeks ago | |
| bounces.test.ts | 2 weeks ago | |
| client-modules.test.ts | 2 weeks ago | |
| client-owner.test.ts | 5 days ago | |
| clients.test.ts | 2 weeks ago | |
| dashboard.test.ts | 2 weeks ago | |
| db.test.ts | 2 weeks ago | |
| documents.test.ts | 5 days ago | |
| e2e.test.ts | 2 weeks ago | |
| employees-routes.test.ts | 5 days ago | |
| employees.test.ts | 5 days ago | |
| gmail-connect.test.ts | 2 weeks ago | |
| gmail.test.ts | 2 weeks ago | |
| health.test.ts | 2 weeks ago | |
| hq2-schema.test.ts | 2 weeks ago | |
| hq3-schema.test.ts | 2 weeks ago | |
| import.test.ts | 2 weeks ago | |
| interactions.test.ts | 2 weeks ago | |
| isolation.test.ts | 2 weeks ago | |
| modules.test.ts | 2 weeks ago | |
| payments.test.ts | 2 weeks ago | |
| pdf-download.test.ts | 1 week ago | |
| pipeline.test.ts | 5 days ago | |
| prepare-draft.test.ts | 1 week ago | |
| preview-fidelity.test.ts | 1 week ago | |
| preview-route.test.ts | 1 week ago | |
| preview-sample.test.ts | 1 week ago | |
| public-share.test.ts | 1 week ago | |
| quote-followup.test.ts | 5 days ago | |
| receipt.test.ts | 2 weeks ago | |
| recurring.test.ts | 2 weeks ago | |
| reminder-preview.test.ts | 1 week ago | |
| reminder-schedule.test.ts | 5 days ago | |
| reminders.test.ts | 5 days ago | |
| reports.test.ts | 2 weeks ago | |
| scheduler-recurring.test.ts | 2 weeks ago | |
| scheduler-scan.test.ts | 2 weeks ago | |
| send-reminder.test.ts | 2 weeks ago | |
| series.test.ts | 2 weeks ago | |
| settings-company.test.ts | 2 weeks ago | |
| settings-template.test.ts | 1 week ago | |
| shares.test.ts | 1 week ago | |
| template-accent.test.ts | 1 week ago | |
| template-render.test.ts | 1 week ago | |
| templates.test.ts | 2 weeks ago | |