diff --git a/src/components/Findings.tsx b/src/components/Findings.tsx index e0b443f..a2b140d 100644 --- a/src/components/Findings.tsx +++ b/src/components/Findings.tsx @@ -292,11 +292,7 @@ export function Recheck({ row }: { row: Row }) { { label: 'Recovered to date', value: recovered == null ? '—' : money(recovered), tone: 'emerald' }, ]} /> - {workStatement(summary) ? ( - - ) : ( -

{summary}

- )} + ); diff --git a/src/format.ts b/src/format.ts index 1458dd7..3daa1a8 100644 --- a/src/format.ts +++ b/src/format.ts @@ -95,7 +95,25 @@ export const CARC: Record = { export function recommendations(v: unknown): string[] { const s = str(v).trim(); if (!s) return []; - const parts = s.split(/\n(?=\s*\d+\.\s)/).map((x) => x.trim()).filter(Boolean); + // Ava is asked for one numbered line each, but sometimes runs them together + // ("… recovered. 2. Billing: …"). Split at a line break OR at a sentence end + // followed by the next number in sequence — "2." after "1.", never "$1.5M". + let parts = s.split(/\n(?=\s*\d+\.\s)/).map((x) => x.trim()).filter(Boolean); + if (parts.length === 1) { + const out: string[] = []; + let rest = parts[0]; + let n = 2; + for (;;) { + const re = new RegExp(`(?<=[.;:)])\\s+(?=${n}\\.\\s+[A-Z(])`); + const m = re.exec(rest); + if (!m) break; + out.push(rest.slice(0, m.index).trim()); + rest = rest.slice(m.index).trim(); + n++; + } + out.push(rest); + parts = out.filter(Boolean); + } return parts.length ? parts : [s]; }