Contract review shell added as a guided frontend wrapper over existing chat
foolish-bandit built a two-step contract review flow at `/review` without touching any backend routes. Upload or select a contract, see what Gary will check, kick off the review - then land in the existing chat thread. The review prompt is baked into the frontend bundle.
The new frontend/src/app/(pages)/review/page.tsx (434 lines) handles the full flow. Step 1 is document selection: the user picks from existing documents via FileDirectory or uploads a new one via uploadStandaloneDocument, which is the same endpoint the rest of the app uses. Selecting a document advances to Step 2. Uploading also advances automatically on success.
Step 2 shows a checklist of eleven review topics - parties, important dates, governing law, payment terms, termination, indemnity, confidentiality, assignment, dispute resolution, unusual or risky clauses, missing clauses - plus a citation expectation and a disclaimer that Gary's answers are not legal advice. Clicking "Start review" constructs a MikeMessage with the hardcoded REVIEW_PROMPT string and the selected document as a file attachment, passes it to handleNewChat, and redirects to /assistant/chat/{newChatId}. The review then runs as a normal chat thread.
foolish-bandit spelled out what this doesn't do: no persisted review object, single-document only, no sidebar entry, no separate failure mode beyond the existing chat error handling. The only way in is the home action card, which was repointed from the tabular review route to this shell. The tabular review remains reachable from the sidebar.
Type checking is clean. The local build's Google Fonts failure is pre-existing.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?