Skip to content

CI: add model_update_points to Perl test workflow#36

Merged
mateu merged 1 commit intomasterfrom
koan/ci-add-model-update-points
Mar 27, 2026
Merged

CI: add model_update_points to Perl test workflow#36
mateu merged 1 commit intomasterfrom
koan/ci-add-model-update-points

Conversation

@mateu
Copy link
Copy Markdown
Owner

@mateu mateu commented Mar 27, 2026

What

Add \ to the existing Perl CI test command.

Why

Issue #35 asks for incremental medium-risk CI expansion while keeping the packaged-stack setup stable. This adds one shortlist candidate in a small, reversible step.

How

Kept the current apt-first workflow and safe core list unchanged, then appended a single candidate test to the same \ invocation so attribution stays straightforward.

Testing

  • \
  • \t/bracket_validator.t .....
    ok 1 - valid region payload passes
    ok 2 - invalid region payload fails
    ok 3 - invalid region failure is continuity-related
    ok 4 - stale downstream inconsistency fails
    ok 5 - stale downstream error points to affected descendant game
    ok 6 - coherent region update passes
    ok 7 - derived region-winner games cover all regions
    ok 8 - derived final4 game structure has exactly 3 games
    ok 9 - valid final4 payload passes
    ok 10 - stale downstream final4 inconsistency fails
    ok 11 - stale downstream final4 error points to affected descendant game
    ok 12 - coherent final4 update passes
    ok 13 - invalid final4 payload fails
    ok 14 - invalid final4 failure is continuity-related
    ok 15 - non-numeric team id is rejected
    1..15
    ok
    t/continuity_audit.t ......
    ok 1 - healthy picks report no continuity issues
    ok 2 - invalid downstream pick is reported
    ok 3 - issue includes player/game/invalid pick details
    ok 4 - issue includes allowed parent-derived picks
    1..4
    ok
    t/bracket_structure.t .....
    ok 1 - championship game is derived from graph roots
    ok 2 - semifinals are derived from championship parents
    ok 3 - final4 games are derived from graph topology
    ok 4 - region-winner games are derived from graph topology
    ok 5 - round map includes championship round
    ok 6 - region helper matches described structure
    ok 7 - final4 helper matches described structure
    1..7
    ok
    t/controller_Admin.t ......
    ok 1 - non-admin is denied in auto
    ok 2 - non-admin is redirected to 404
    ok 3 - admin passes auto gate
    ok 4 - audit action sets template
    ok 5 - audit action stashes issue list
    ok 6 - audit action exposes continuity issues
    ok 7 - incomplete submissions action sets template
    ok 8 - incomplete submissions are stashed as an array
    ok 9 - only incomplete active players are included
    ok 10 - incomplete player id is reported
    ok 11 - total picks count is reported
    ok 12 - missing pick count is reported
    ok 13 - final4 picks count is reported
    1..13
    ok

Quality Report

Changes: 1 file changed, 2 insertions(+), 1 deletion(-)

Code scan: clean

Tests: skipped

Branch hygiene: clean

Generated by Kōan post-mission quality pipeline

@mateu mateu marked this pull request as ready for review March 27, 2026 03:51
@mateu mateu requested a review from Copilot March 27, 2026 03:51
@mateu
Copy link
Copy Markdown
Owner Author

mateu commented Mar 27, 2026

[bot:copilot-review-request]
mode: review-request

@copilot Please review this PR for correctness, regressions, edge cases, and any focused fixes needed before human handoff. Keep feedback scoped to the current PR.

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 27, 2026

[bot:copilot-review-request]
mode: review-request
...

Reviewed. Everything checks out — no issues found.

CI: The workflow run for bc18da6 completed with conclusion: success.

Workflow change (perl-tests.yml): The \ continuation syntax is correct, and libdbd-sqlite3-perl is already in the apt install list, so the SQLite-backed test runs cleanly in the packaged stack.

Test correctness (t/model_update_points.t): I traced through the full _update_points_portable execution path manually:

  • current_round = 2 (max round across perfect-bracket picks for games 1, 2, 9) ✓
  • Only game 9 (round = 2) has winner/lower_seed updated; games 1 and 2 are skipped ✓
  • lower_seed for game 9 = 1 because team 2 (seed 16) > team 3 (seed 8) ✓
  • round_out = 2 applied to team 3 (loser from game 9's parents); teams 1 and 4 stay at default 7 ✓
  • Points: game 1 match → 1 × (5 + 0×16) = 5; game 9 match → 2 × (5 + 1×16) = 42; total = 47
  • All 4 RegionScore rows created per player (regions 2–4 at 0) ✓

No regressions, edge-case issues, or correctness problems found. Ready for human handoff.

@mateu mateu merged commit 9658780 into master Mar 27, 2026
7 checks passed
@mateu mateu deleted the koan/ci-add-model-update-points branch March 27, 2026 04:42
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the existing “safe core” Perl CI workflow by adding one medium-risk candidate test (t/model_update_points.t) to the same prove invocation, aligning with Issue #35’s incremental CI expansion goal.

Changes:

  • Append t/model_update_points.t to the Perl CI prove command.
  • Update line-continuation (\) to keep the multi-line prove invocation syntactically correct.

Comment on lines +69 to +70
t/controller_Admin.t \
t/model_update_points.t
Copy link

Copilot AI Mar 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description’s test output only shows the existing safe-core tests and does not include t/model_update_points.t, so it’s unclear whether the updated workflow command has been exercised. Please run the updated prove invocation (including this test) or link to a green GitHub Actions run that includes it, and update the PR description accordingly.

Copilot uses AI. Check for mistakes.
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.

3 participants