feat: change who was involved when rewording an event (#1190) #1212

Merged
claude-bot merged 7 commits from feat/1190-event-people into main 2026-10-17 11:34:08 +00:00
Collaborator

Fixes #1190: the GM can change who was involved when rewording an event.

  • Migration a1190e7e0a01 (now revises a1191b0e5701, the line of the night) adds session_pending_corrections.actors and session_beats.gm_original_actors, both nullable TEXT[].
  • Saving a reword (PUT …/pending-corrections/{beat_id}) can carry actors:
    • omitted means unchanged;
    • [] means nobody;
    • at most 12 names of 100 characters each.
  • A recompose copies the corrected people, keeps the model's list in gm_original_actors, and the next summary is composed from them.
  • The GM-only picker, GET /api/sessions/{id}/event-people?q=, lists characters, then members, then table-visible NPC pages. Free names are accepted.
  • Screen: the Reword box shows the people as chips with an "Add someone" combobox, plus "No one in particular" and free names. A changed row is marked "People changed" and shows the model's original people to the GM.

Tests:

  • backend: 493 passed across the review, corrections, recompose and event-log suites;
  • vitest: ReviewView 65 of 65 when run alone;
  • journey J5 on docker-test: 26 passed on desktop, phone and keyboard.

CATALOGUE row renumbered to SE-163 (SE-160 to SE-162 are the line of the night's).

🤖 Generated with Claude Code

Fixes #1190: the GM can change who was involved when rewording an event. - **Migration `a1190e7e0a01`** (now revises `a1191b0e5701`, the line of the night) adds `session_pending_corrections.actors` and `session_beats.gm_original_actors`, both nullable TEXT[]. - **Saving a reword** (`PUT …/pending-corrections/{beat_id}`) can carry `actors`: - omitted means unchanged; - `[]` means nobody; - at most 12 names of 100 characters each. - **A recompose copies the corrected people,** keeps the model's list in `gm_original_actors`, and the next summary is composed from them. - **The GM-only picker,** `GET /api/sessions/{id}/event-people?q=`, lists characters, then members, then table-visible NPC pages. Free names are accepted. - **Screen:** the Reword box shows the people as chips with an "Add someone" combobox, plus "No one in particular" and free names. A changed row is marked "People changed" and shows the model's original people to the GM. Tests: - backend: 493 passed across the review, corrections, recompose and event-log suites; - vitest: ReviewView 65 of 65 when run alone; - journey J5 on docker-test: 26 passed on desktop, phone and keyboard. CATALOGUE row renumbered to SE-163 (SE-160 to SE-162 are the line of the night's). 🤖 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 Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merge main into feat/1190-event-people; its migration follows a1191b0e5701
All checks were successful
CI / Does this change touch the recording path? (pull_request) Successful in 16s
CI / Which journeys does this change need? (pull_request) Successful in 11s
CI / Backend lint (ruff) (pull_request) Successful in 35s
CI / Docker image build (pull_request) Successful in 34s
CI / Bot/backend version sync (pull_request) Successful in 58s
CI / Summarisation accuracy eval harness (stub provider) (pull_request) Successful in 1m9s
CI / Feedback site tests (pull_request) Successful in 1m37s
CI / Bot tests and audit (pull_request) Successful in 2m25s
CI / Synthetic session harness (no GPU, no LLM) (pull_request) Successful in 10m54s
CI / End-to-end journeys (phone) (pull_request) Successful in 12m28s
CI / End-to-end journeys (desktop) (pull_request) Successful in 14m21s
CI / Frontend (shard 2/2) (pull_request) Successful in 15m13s
CI / Frontend (shard 1/2) (pull_request) Successful in 17m25s
CI / End-to-end journeys (keyboard) (pull_request) Successful in 18m14s
CI / Backend migration, tests, and audit (pull_request) Successful in 31m42s
96fd18489e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude-bot scheduled this pull request to auto merge when all checks succeed 2026-10-17 11:02:23 +00:00
Sign in to join this conversation.
No description provided.