Skip to content

fix: correct league UX, showcase state, and engine safety - #73

Merged
tachyon-beep merged 5 commits into
mainfrom
codex/ux-engine-correctness
Oct 8, 2026
Merged

tachyon-beep merged 5 commits into
mainfrom
codex/ux-engine-correctness

Conversation

@tachyon-beep

@tachyon-beep tachyon-beep commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

The league dashboard could show truncated lifetime records, change the champion when a column was sorted, silently reject playback controls, and hide finished games. Engine input and adjudication paths could panic on malformed SFEN or replace checkmate with impasse. This fixes the reviewed issues and related failures at their data and state boundaries.

  • Read lifetime league records and the learner's latest ten matching epochs independently of the recent feed; preserve composite ranks, expose historical benchmarks, show completed-round telemetry truthfully, and fit navigation/content on narrow screens.
  • Correlate command acknowledgements/errors, validate identities and active queue transitions, enforce the pending limit atomically, push metadata/reset changes, and deliver final moves/results before idle or successor-game updates.
  • Generate actual KataGo features for showcase inference, refresh replaced checkpoints, retain explicit engine winners, keep heartbeats running during games, and enforce exclusive runner ownership through a persistent POSIX lock.
  • Validate structural/playable SFEN and ply limits, adjudicate loaded terminal positions, reject invalid knight encodings, and check safe move-list bounds in release builds. Existing automatic 24-point impasse policy is preserved.
  • Include the native Python wrapper/stubs in wheels and source-distribution rebuilds; CI installs the native package normally and runs frontend/native Python contracts.

Tracks Filigree task keisei-79ca3edc56 and the linked review/related correctness issues. No schema migration or data reset is required.

Validation:

  • Hosted full Python on 3.12 and 3.13: 1,752 passed, 7 skipped each; final local command/ownership/streaming/runner checks: 35 passed.
  • Rust debug and release: 445 passed, 1 ignored each; release perft(4): 719,731 nodes; fmt and strict Clippy passed.
  • Native Python bindings: 106 passed; isolated release-wheel native/showcase integration: 118 passed. Normal non-editable source install and source-distribution rebuild verified.
  • Frontend: 367 tests passed; production build passed; browser acceptance covered mobile layout, command success/rejection, and retained terminal results.
  • Ruff, strict mypy, and diff checks passed. All seven hosted CI checks passed for 1bb58a0, including Python 3.12/3.13, Rust, frontend, and normal package imports.

Screenshots (synthetic fixtures):

Mobile league layout

Completed showcase retained while offline

@tachyon-beep
tachyon-beep merged commit 8be0378 into main Oct 8, 2026
7 checks passed
@tachyon-beep
tachyon-beep deleted the codex/ux-engine-correctness branch October 8, 2026 15:45
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