Skip to content

M5 WP5.1: freeze v1 and seal AFCON 2023 + Copa America 2024 - #29

Merged
utkuvibing merged 3 commits into
mainfrom
codex/m5-1-freeze-and-seal
Aug 25, 2026
Merged

M5 WP5.1: freeze v1 and seal AFCON 2023 + Copa America 2024#29
utkuvibing merged 3 commits into
mainfrom
codex/m5-1-freeze-and-seal

Conversation

@utkuvibing

Copy link
Copy Markdown
Owner

Summary

Implements M5 phase 1 (PLAN.md Post-M4 roadmap, items 1-5):

  • v1 freeze: tag \�1-release-frozen\ at the M4-complete snapshot \2c1f43c; all 10 artifact hashes from the WP2.8 release config verified against the working tree (
    eports/wp5.1-v1-freeze-record.md)
  • Sealed sets: AFCON 2023 (1267/107) and Copa America 2024 (223/282) sealed behind a single enforcement point (\ ouchline.sealed_scope.py) with loud \SealedScopeError\ rejection at every development loader entry point: \collect, \collect_cohort,
    un_ingestion, split assignment, and the assignment-CSV parser - all before any download or database work
  • Registry: machine-readable \data/model/v2_evaluation_registry.json\ (development pool, sealed sets, reservation decision), pinned by tests against the code constants
  • Target-free structural validation: \python -m touchline.sealed_structural_check check\ - PASS for both tournaments (84 matches, ~260k locations scanned, zero schema failures, zero coordinate-bound violations); report and byte provenance committed; no outcome-bearing facts anywhere
  • Future reservation: label-free survey found no complete men's tournament after Euro 2024 at the pinned revision, so further model-selection claims freeze after M7 unless a future pinned revision adds one

Note: season id 282 belongs to both Euro 2024 (55, 282)\ and Copa America 2024 (223, 282); every guard compares the full scope pair.

Validation

  • 19 new hermetic unit tests, including regression tests that a non-zero \coordinate_violations\ count fails both the rendered overall verdict and the CLI exit status (shared \overall_verdict\ rule)
  • Full hermetic suite: 1112 passed, 304 skipped (DB-gated)
  • ruff + mypy strict clean

…2024

Seal the two M5 external qualification sets behind a single enforcement point
(touchline.sealed_scope) with loud rejection at every development loader entry
point: cohort collection, ingestion, split assignment, and the assignment-CSV
parser. Add the machine-readable evaluation registry, run target-free
structural validation over both sealed tournaments (PASS, zero schema failures
and zero coordinate-bound violations), record their byte provenance, verify
every v1 artifact hash against the WP2.8 release config, and record that no
complete men's tournament exists after Euro 2024 at the pinned revision, so
further model-selection claims freeze after M7.
Route both the rendered overall verdict and the CLI exit status through a
single overall_verdict rule so a non-zero coordinate_violations count fails
the report and the exit code together. Add regression tests for the rendered
verdict and the CLI path. Retag v1-release-frozen at the M4-complete snapshot
2c1f43c so the freeze tag points at the served v1 state, not the M5
implementation.
@vercel

vercel Bot commented Aug 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
touchline-intelligence Ready Ready Preview Aug 25, 2026 12:06pm

@utkuvibing
utkuvibing merged commit 8acf806 into main Aug 25, 2026
5 checks passed
@utkuvibing
utkuvibing deleted the codex/m5-1-freeze-and-seal branch August 25, 2026 12:13
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