githubnext/chopinPublic

Let's compose rich plans together

Accept browser-placed research references with UUID ids

The research service mints UUID request ids, but the room's projection
authorizer rejected any id that was not a ULID before consulting storage.
Every /research submission was therefore rejected as a protected
projection, the room rebuilt, and the card vanished while the request ran.

Drop the ULID shape gate; the stored workspace, its initial turn, and its
linked job remain the authority. Test fixtures now mint UUID ids like
production so this mismatch cannot hide again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
C5MAMaggie Appleton and Claude Opus 5.5 authored
d3686bfPatch
Parent38ec7b5
5 files changed+54-4
StackedSplit
apps/server/src/plan/research-placement.test-fixtures.ts+1 โˆ’1
apps/server/src/plan/research-projection-authority.test.ts+25 โˆ’0
apps/server/src/plan/service.ts+1 โˆ’2
e2e/research-child-recovery.e2e.ts+25 โˆ’0
e2e/research-recovery-database.ts+2 โˆ’1