Skip to content

fix(services): hide shadow scores from staff - #55

Merged
TheMeinerLP merged 2 commits into
mainfrom
fix/score-shadow-visibility
Oct 15, 2026
Merged

TheMeinerLP merged 2 commits into
mainfrom
fix/score-shadow-visibility

Conversation

@TheMeinerLP

Copy link
Copy Markdown
Contributor

Shadow models are unvalidated and must not influence staff decisions. GET /api/v1/scores/players/{pseudonym} and /history return shadow rows only to data_scientist and admin (SQL filter, applied before the history limit); staff sees canary and enforce. Job tokens stay refused. Role data_scientist may now read the endpoints.

Also renames the session label model in snapshot_data to SessionLabelOut so the OpenAPI schema has a single LabelOut (the UI no longer needs the corvus_services__api__schemas__LabelOut alias; a test asserts no schema name contains __).

Tests: authz tests for staff, viewer, data_scientist and admin on both endpoints; an integration-marked test for the new SQL (not run here). Docs: control-plane-api.md.

TheMeinerLP and others added 2 commits October 16, 2026 01:28
Shadow models are not validated. The score endpoints return their rows to data_scientist and

admin only (filtered in SQL before the history limit); staff gets canary and enforce. The data

scientist role may now read scores. The session label model in snapshot_data is renamed so the

OpenAPI schema no longer has two LabelOut components.
@TheMeinerLP
TheMeinerLP merged commit 2d17e4f into main Oct 15, 2026
12 checks passed
@TheMeinerLP
TheMeinerLP deleted the fix/score-shadow-visibility branch October 15, 2026 23:36
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.

1 participant