CLEO Logo

Guided Pathways Legal Narrative Assistant

Release notes

What’s new in the Guided Pathways Legal Narrative Assistant.

0.15.0

Added

  • A version number in the footer. It links to these release notes at /release-notes.
  • A Vitest test suite (pnpm test). It runs offline in about 2 seconds.
  • Rate limits per IP address and per session. Requests over the limit get HTTP 429 with a Retry-After header.

Enhanced

  • The default model is now gpt-6.1-sol with reasoning effort low. A Langfuse prompt config can still set the model and effort.
  • Pages render on the server, so they appear faster. Two unused providers had blocked server rendering.
  • Prompts are built on the server from the session saved in Redis. /api/chat no longer accepts prompt text from the browser.
  • The server saves drafts, suggestions and highlights itself.
  • Server actions are cut from 20 to the 12 the browser needs. Each one validates its input.

Changed

  • Moved from Vercel KV, which is discontinued, to Upstash Redis (@upstash/redis).
  • Upgraded the Langfuse SDK from v3 to v6, which sends traces through OpenTelemetry. Langfuse Cloud stops accepting v3 traces on November 16, 2026.
  • Upgraded the Vercel AI SDK 4 → 7, Next.js 15.4 → 15.5, React 19.1 → 19.3 and Zod 3 → 4. pnpm audit --prod reports no known vulnerabilities.
  • Removed unused packages, components and the no-op middleware.
  • Removed the retired quick-adjustment prompt types from the server.
  • Unknown or expired sessions return HTTP 404. Malformed requests return 400.

Fixed

  • If highlighting failed, the editor got stuck on “Highlighting changes” with every button disabled. It now unlocks.
  • If a Langfuse prompt was missing or Langfuse didn’t respond in time, the model got a placeholder prompt and returned a made-up affidavit. The request now fails with a clear error.
  • After you edited and reloaded the page, Reset brought back your edits instead of the original draft. The draft and your edits are now stored separately.
  • If the spelling check failed, the final affidavit was blank and its review link didn’t work. It now falls back to your text.
  • A failed suggestion, or Reset during one, left the spinner running and the buttons disabled.
  • After “Done with suggestions”, the previous reply could appear as the first suggestion of the next type. Reset now cancels requests in progress.
  • Dismissing the last highlight wasn’t saved, so highlights came back after a reload.
  • Amounts such as “$100” or “$1,000” garbled the prompt used for highlighting, because $1 was read as a replacement pattern. The affidavit itself wasn’t changed.
  • In rare cases, a paragraph label such as 2) crashed the editor. Highlights the model listed out of order were dropped.
  • The /start form spun forever after an error, such as a saved pathway that no longer exists. It now shows the error.
  • Expired /review/[id] links showed a blank page instead of a 404.

0.14.1

Fixed

  • Upgraded Next.js 15.4.2 → 15.4.8 to patch CVE-2025-66478, a critical vulnerability in React Server Components.

0.14.0

Added

  • Three kinds of suggestions: claim, detail and evidence. Each uses its own Langfuse prompt: Suggest/CC (claim checker), Suggest/SC (story checker) and Suggest/EC (evidence checker).
  • Evidence suggestions are shown but not available yet.

Changed

  • After a suggestion, the button reads “Make another claim suggestion” or “Make another detail suggestion”.
  • A suggestion button is disabled when the pathway has no prompt for it.

0.13.1

Changed

  • Updated the sites allowed to call /api/make-affidavit (CORS).

0.13.0

Added

  • An “Edit” button in the highlight pop-up. It opens the editor with the cursor at that part of the text.

0.12.1

Fixed

  • Highlighting failed when the answers arrived as JSON.

0.12.0

Enhanced

  • Click or tap a highlight to open its explanation. This also works on phones and tablets.

Fixed

  • The pathway list could miss pathways. Langfuse prompt pagination fetched the first page twice and stopped before the last page.

0.11.0

Added

  • Highlights show where the meaning of your affidavit may have changed. Hover over one to see why.
  • Highlights come from a second model call that compares the draft with your answers, using the Langfuse prompt Default/HighlightChanges. Positions are matched in code, and each call is traced as highlight-changes.
  • A reminder to review your whole affidavit, not just the highlights.
  • An “Edit” button. The affidavit is read-only until you choose to edit it.
  • Progress messages: “Improving affidavit” and “Highlighting changes”.

Changed

  • Removed the “Shorten”, “Simplify language” and “Reduce emotion” buttons.
  • Upgraded to Node.js 22, Next.js 15.4 and Vercel AI SDK 4.3. Hover cards use Radix UI.

Fixed

  • Dismissing a highlight could make an overlapping one appear.

0.10.0

Added

  • Choose a pathway on the start page. Each pathway is a Langfuse prompt folder holding its drafting and suggestion prompts.

Changed

  • Removed the prompt preview from the start page.
  • /api/make-affidavit accepts a pathway instead of a system prompt name.
  • The Vercel environment is logged to help troubleshooting.

0.9.3

Changed

  • Traces and sessions record the environment as a Langfuse environment instead of a tag.
  • The first system prompt’s name is saved in trace metadata as p, so it shows in Langfuse’s trace table.

0.9.2

Changed

  • More detailed Rollbar error logs. Upgraded to pnpm 10.

Fixed

  • “Maximum update depth exceeded” when you switched tabs while the affidavit was being written. Streaming updates now wait while the tab is hidden.
  • Only the first quick adjustment worked.
  • The message above the “Keep” and “Discard” buttons didn’t appear.
  • Reset didn’t work if you edited before making any adjustments.
  • Clicking “Done with suggestions” while the next suggestion was preloading reopened suggestions.

0.9.1

Added

  • Rollbar error reporting in the browser and on the server, with error pages that offer a refresh.

Fixed

  • The page could freeze with a “Maximum update depth exceeded” error.
  • Reset sometimes didn’t work.
  • Your edits were lost if you discarded a quick adjustment.

0.9.0

Added

  • Choose a system prompt from Langfuse on the start page, and preview it.
  • Optional name and batch number fields on the start page. The batch number is added to Langfuse traces as a tag.
  • The start page remembers your last choices in the browser’s local storage.
  • /api/make-affidavit accepts an optional system prompt name, name and batch number.
  • A “Make another suggestion” button.

Enhanced

  • Suggestions come one at a time, with arrows to step back through them. The model sees its earlier suggestions, so it doesn’t repeat itself.
  • The next suggestion is prepared in the background, so it appears faster.
  • The default model is now gpt-4.1 in production and gpt-4.1-mini elsewhere.

Changed

  • The name field replaces the email field.
  • Removed the survey from the final page.
  • Updated colours and wording.

0.8.3

Fixed

  • Long affidavits could time out. The /api/chat time limit is now 300 seconds.

0.8.2

Fixed

  • Errors in /api/chat now return a clear HTTP 500 response instead of failing midway.
  • Raised the /api/chat time limit from 30 to 90 seconds.

0.8.1

Changed

  • AI responses are capped at 15,000 output tokens.

0.8.0

Enhanced

  • The default model is now gpt-4o in production and gpt-4o-mini elsewhere.
  • Langfuse traces link to the prompt version that produced them.

Fixed

  • Answers sent as JSON caused a server error (HTTP 500). They’re now converted to text.

0.7.0

Added

  • Langfuse prompt management. Prompts are fetched from Langfuse at runtime, so the research team can change them without a release. Each environment picks a prompt label, and a prompt’s config can set the model.
  • Langfuse tracing for every AI call, grouped by session.
  • An optional email field on the start page. It’s remembered in the browser and sent to Langfuse as the user ID.

Changed

  • Upgraded Next.js 14 → 15, React 18 → 19, the Vercel AI SDK 2 → 4 (with @ai-sdk/openai) and @vercel/kv 1 → 3.
  • The prototype’s configuration is no longer shown on the page.

Fixed

  • “Make suggestions” now always starts at the first suggestion.

0.6.2

Changed

  • One more site can call /api/make-affidavit (CORS update).

0.6.1

Changed

  • A partner app can now call /api/make-affidavit (CORS update).

0.6.0

Added

  • A new home page that explains the research project and how to take part.

Changed

  • The site moved to www.cleoresearch-ai.com.
  • The form for pasting answers moved to /start.
  • New name: Guided Pathways Legal Narrative Assistant.
  • New logo, page title and wording.

0.5.0

Added

  • A review page for finished affidavits at /review/[id]. It shows when the affidavit will be deleted, based on its Vercel KV expiry time.
  • A spinner while the spelling check runs.

Enhanced

  • Quick adjustment buttons can be used more than once.

0.4.0

Added

  • A spelling and grammar check when you finish your affidavit. If the model finds no errors, your text is kept as it is.
  • The copy button shows “Copied!”.
  • A “Configuration” panel at the bottom of each page shows the app’s settings, including the model and prompts.

Changed

  • Saved affidavits expire sooner in Vercel KV.

Fixed

  • On phones, the page now scrolls to the top after you click “Finish affidavit”.
  • The text box was hard to read in dark mode on iPhone Safari.
  • Small styling inconsistencies, now using Tailwind colours.

0.3.1

Fixed

  • The survey on the finish page was cut off. The embedded form is now taller.
  • Submitting your answers could send you to a branch preview URL instead of the main site.

0.3.0

Added

  • Guided Pathways can send your answers straight to the assistant through POST /api/make-affidavit.
  • Each affidavit has its own link: /affidavit/[id] and /final/[id].

Changed

  • Affidavits are saved in Vercel KV (Redis) instead of the browser’s session storage.

0.2.0

Added

  • “Make suggestions”: step through ideas for improving your affidavit.
  • A “Finish affidavit” page with a short survey (an embedded Google Form).
  • A confirmation before Reset.

Enhanced

  • Quick adjustments take your own edits into account.
  • Better layout on phones.
  • Prompts reworded so gpt-3.5-turbo output stays readable.

Changed

  • Non-production environments use gpt-3.5-turbo to save cost. Production stays on gpt-4-turbo-preview.
  • New icons. System fonts replace the Geist font.

0.1.0

Added

  • Paste your Guided Pathway answers and the assistant drafts an affidavit. The draft streams in as it’s written.
  • Edit the draft once it’s finished.
  • Quick adjustments: “Shorten”, “Simplify language” and “Reduce emotion”. Keep or discard each change.
  • A Reset button to go back to the original draft.
  • Built with Next.js 14 (App Router), the Vercel AI SDK 2 and OpenAI gpt-4-turbo-preview. Drafts are kept in the browser’s session storage.