Review Tables: Matter Document Review template and row-to-task launch, end to end
Two merged PRs together make document triage actionable in zgbrenner/gary. The first renames Tabular Review to Review Tables and adds an eight-column U.S. legal intake template; the second wires the Suggested Saved Legal Task column to open the assistant directly from a row.
06f80d8 handles the rename and the template. User-visible "Tabular Review" strings become "Review Table" across the sidebar, tabs, modals, and empty states; internal type names and routes are left alone. The Matter Document Review template defines eight columns: Document Name, Type, Date, People/Parties, Short Summary, Key Issues, Suggested Saved Legal Task, and Needs Attorney Review. Column prompts are conservative by design - use only the uploaded document, write "Unknown" when a value is missing, never make a definitive privilege call, default the attorney-review flag to Yes whenever the document touches rights, deadlines, filings, or sensitive data. The test file matterReviewTable.test.ts (264 lines) covers workflow registration, column order, tag sets, and the absence of legacy wording.
b01092b closes the loop. The Suggested Saved Legal Task column is no longer informational only. Clicking the cell opens a detail panel; if the value matches one of the eight built-in task names (after normalization for whitespace, case, and tag-pill brackets), a Run Suggested Task button appears. The confirmation modal previews the prompt before anything opens. On confirm, Gary creates a chat in the review's matter (or standalone), stores a newChatDraft carrying the prompt text, task workflow, and document attachment, then navigates to the assistant. The draft seeds the chat input; nothing auto-sends. Raw internal IDs do not appear in the prompt text.
suggestedTask.ts (151 lines) holds the name-to-id mapping and normalization, with a 261-line test file asserting each ID resolves to a real built-in workflow. The context plumbing uses a useRef to capture the draft on mount and clears it immediately so it cannot bleed into a later chat session.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?