fix(webapp): the session page says calmly when a summary was read in parts (#1187) #1188

Merged
claude-bot merged 8 commits from fix/1187-summary-limits-note into main 2026-10-14 16:55:16 +00:00
Collaborator

Closes #1187. Not to merge until the owner's wording is in (Wording Review page, part "Session page: the AI note"); the three strings are provisional constants in pages/session/ReadView.jsx (PARTS_TITLE, PARTS_BODY, TRUNCATED_WARNING).

The session page showed "Summarised with a limited setup" with a lock icon and every capability gap on the run, joined, to every member, including risks that did not happen. Now it shows only what applied to this summary:

  • Read in parts (the run used more than one window): a quiet note, no icon. Provisionally "Summarised in parts / Expected with this AI setup. An admin can see why under Bot settings."
  • Transcript cut on the way in (detected on this run): a plain warning that the summary may miss early events or name people wrongly.
  • Otherwise nothing. Latent gaps stay on Admin → Bot settings, unchanged.

Backend. Migration f1187a1b2c3d (after e1158a1b2c3d) adds summarisation_runs.windows_read (int) and prompt_truncated (bool), both nullable; existing runs read NULL. Set where the run is written: the window count from the beats and chunked prose paths; prompt_truncated from the prompt-token check, which was log-only (the existing truncated column is the output cap, a different thing). A recompose copies both from its source run. The session read field summary_limits (list of titles) becomes summary_note ({truncated, parts} or null). An old run with no window count shows the parts note only if its stored gaps include chunking.

Verified

On docker-test: 379 backend tests over session read fields, chunking, runs, usage, capability gaps, LLM transport, beats, recompose and sessions (12 new); alembic upgrade, downgrade -1, upgrade with one head; ruff; version and changelog checks; frontend lint; vitest over src/pages/session (481, 4 new). No journey pins the old text.

Not done: a render check of the two notes; the prototype page and a coverage file still carry the old wording (design records, not the app).

🤖 Generated with Claude Code

Closes #1187. **Not to merge until the owner's wording is in** (Wording Review page, part "Session page: the AI note"); the three strings are provisional constants in `pages/session/ReadView.jsx` (`PARTS_TITLE`, `PARTS_BODY`, `TRUNCATED_WARNING`). The session page showed "Summarised with a limited setup" with a lock icon and every capability gap on the run, joined, to every member, including risks that did not happen. Now it shows only what applied to this summary: - **Read in parts** (the run used more than one window): a quiet note, no icon. Provisionally "Summarised in parts / Expected with this AI setup. An admin can see why under Bot settings." - **Transcript cut on the way in** (detected on this run): a plain warning that the summary may miss early events or name people wrongly. - Otherwise nothing. Latent gaps stay on Admin → Bot settings, unchanged. **Backend.** Migration `f1187a1b2c3d` (after `e1158a1b2c3d`) adds `summarisation_runs.windows_read` (int) and `prompt_truncated` (bool), both nullable; existing runs read NULL. Set where the run is written: the window count from the beats and chunked prose paths; `prompt_truncated` from the prompt-token check, which was log-only (the existing `truncated` column is the output cap, a different thing). A recompose copies both from its source run. The session read field `summary_limits` (list of titles) becomes `summary_note` (`{truncated, parts}` or null). An old run with no window count shows the parts note only if its stored gaps include chunking. ## Verified On `docker-test`: 379 backend tests over session read fields, chunking, runs, usage, capability gaps, LLM transport, beats, recompose and sessions (12 new); alembic upgrade, downgrade -1, upgrade with one head; ruff; version and changelog checks; frontend lint; vitest over `src/pages/session` (481, 4 new). No journey pins the old text. Not done: a render check of the two notes; the prototype page and a coverage file still carry the old wording (design records, not the app). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs(webapp): migration head note (#1187)
Some checks failed
CI / Does this change touch the recording path? (pull_request) Successful in 57s
CI / Which journeys does this change need? (pull_request) Successful in 57s
CI / Bot/backend version sync (pull_request) Successful in 1m4s
CI / Docker image build (pull_request) Successful in 1m7s
CI / Feedback site tests (pull_request) Successful in 1m20s
CI / Backend lint (ruff) (pull_request) Successful in 1m37s
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 2m49s
CI / Bot tests and audit (pull_request) Successful in 4m10s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Successful in 8m35s
CI / End-to-end journeys (desktop) (desktop) (pull_request) Successful in 10m37s
CI / Frontend (shard 2/2) (pull_request) Successful in 13m40s
CI / Backend migration, tests, and audit (pull_request) Failing after 13m55s
CI / Frontend (shard 1/2) (pull_request) Successful in 16m28s
54e7599041
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tests: the one-head pin follows f1187a1b2c3d (#1187)
All checks were successful
CI / Does this change touch the recording path? (pull_request) Successful in 15s
CI / Which journeys does this change need? (pull_request) Successful in 15s
CI / Bot/backend version sync (pull_request) Successful in 27s
CI / Backend lint (ruff) (pull_request) Successful in 38s
CI / Feedback site tests (pull_request) Successful in 49s
CI / Docker image build (pull_request) Successful in 57s
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 1m2s
CI / Bot tests and audit (pull_request) Successful in 2m23s
CI / Frontend (shard 2/2) (pull_request) Successful in 7m21s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Successful in 16m23s
CI / Frontend (shard 1/2) (pull_request) Successful in 17m22s
CI / End-to-end journeys (desktop) (desktop) (pull_request) Successful in 18m47s
CI / Backend migration, tests, and audit (pull_request) Successful in 28m28s
da3588d143
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-bot deleted branch fix/1187-summary-limits-note 2026-10-14 16:55:17 +00:00
Sign in to join this conversation.
No description provided.