Keep Explore useful while historical publication stays closed - #34
Merged
Conversation
The route used to collapse into a page-sized refusal whenever historical_publication_state was closed. The gate itself is untouched; what changed is what surrounds it. Ungated recorded-shot workspace (public /shots API, WC2022 only): - full-pitch map over recorded source facts, uniform markers, fill encodes the recorded outcome, nothing encodes a probability - exact-match filters for match, team, player, outcome, body part, technique, shot type - rows without coordinates stay visible in the list and detail with an explicit disclosure instead of vanishing - /baseline tournament strip with its own caveat collapsed in place - per-shot model-probability field reads "Not published", keeping the boundary visible at the row level Model playground (/model/predict, live inference only): - shot placement on an attacking-half picker plus labelled number inputs, context selects built strictly from the served input contract - the response carries artifact provenance; the page verifies the echo against /model metadata and warns instead of showing a number that has no verified home - 422 validation details map to the offending inputs; network failures surface with their machine codes and a retry path The old gate refusal is reduced to a secondary boundary note. A provenance mismatch or a published-but-refusing contract still withholds every historical probability, but recorded facts stay available in all states because they are not part of that dispute. Shared internals extracted (pitch markings, FilterBar, ShotList) so the historical and recorded workspaces cannot drift apart visually.
Cohort-integrity audit outcome: /shots and /baseline are both scoped to WC2022 (competition 43, season 106) by the same SQL predicate, verified against production (1,494 recorded rows across 64 matches and 23 dates in the tournament window; baseline 1,430/152). The one real finding was presentational: the strip labelled the baseline denominator "Recorded shots" (1,430) next to a workspace that says "1,494 recorded shots", reading as a contradiction. - BaselineStrip now labels cohort facts by their meaning, states the scope in its own fact, and discloses the two-denominator design with a data-driven difference (1,494 - 1,430 = 64 rows outside the cohort). No number is hardcoded; both totals come from the served endpoints. - Tests pin the reconciled labels against production-shaped fixtures (1,494 recorded / 1,430 eligible / 152 goals).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The Explore route no longer collapses into a publication refusal when
historical_publication_state is closed. The gate is untouched (zero backend
changes in this PR); what changed is what surrounds it.
full-pitch map, 7 exact-match filters, list/detail for rows without
coordinates, /baseline strip
pointer + keyboard placement, provenance-echo verification against /model,
field-level 422 mapping
contract mismatches still withhold every historical probability
eligible non-penalty) are labelled and reconciled on screen
Verification
matches / 23 dates in the tournament window; /baseline=1430/152 with the
(43,106) scope in its own cohort text; /model cross-check