Skip to content

fix(result): publish snapshots only after scoring has begun - #189

Draft
cursor[bot] wants to merge 5 commits into
mainfrom
cursor/bc-0a71352a-c557-4c0c-b9a7-5985bb33e145-cdcf
Draft

fix(result): publish snapshots only after scoring has begun#189
cursor[bot] wants to merge 5 commits into
mainfrom
cursor/bc-0a71352a-c557-4c0c-b9a7-5985bb33e145-cdcf

Conversation

@cursor

@cursor cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Why

ResultSnapshot::new now binds participant, session, and instrument-version provenance to the authoritative AssessmentSession (#97). That constructor still accepted a Created session, so a personal score could be published for a session that never activated, completed, or began scoring.

Scope

  • keep the fix(result): bind immutable results to current session provenance #97 owner/session/instrument-version fail-closed constructor;
  • reject result publication unless the session is Scoring or Scored;
  • fail closed for Created, Active, Paused, Completed, Released, Expired, Cancelled, and Invalidated;
  • drive success-path fixtures through Activate → Complete → BeginScoring;
  • record the constructor change under Unreleased;
  • no persistence schema, HTTP result transport, result-reload, or psychometric arithmetic change.

Out of scope

Prefer this head over #97 for the combined owner-binding + scoring-state gate. Do not treat this as a substitute for #157 or #177.

Open in Web View Automation 

seonghobae and others added 5 commits August 16, 2026 23:44
Processing consumption rows now require claim_deadline_at after #81.
Seed the wall-clock deadline and prove binary restore preserves it.
A Created session can still receive an immutable result on the owner-binding
constructor. Prove that only Scoring or Scored sessions may publish.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
ResultSnapshot::new now fails closed unless the assessment session is
Scoring or Scored, so a Created, Active, Completed, Released, or terminal
session cannot receive a personal score. Success-path fixtures drive the
session through Activate, Complete, and BeginScoring.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants