Skip to content

Add verified recruiting board mutation APIs#11

Merged
eric-levinson merged 8 commits into
mainfrom
codex/board-mutation-api
Jul 16, 2026
Merged

Add verified recruiting board mutation APIs#11
eric-levinson merged 8 commits into
mainfrom
codex/board-mutation-api

Conversation

@eric-levinson

Copy link
Copy Markdown
Owner

Summary

  • add a guarded Win64 native-call primitive and bounded live research watches
  • independently capture and verify the current-build full UI add/remove pathways
  • expose typed client.addBoard({ recruitRow, teamRow }) and client.removeBoard({ recruitRow, teamRow }) APIs
  • rediscover the active recruiting controller plus generic Team and Recruit wrappers on every call
  • verify compact membership, affected references, and both freelists after every mutation

Why

Table-only board writes did not reliably materialize the runtime state used by the recruiting UI. The low-level remove routine also left stale state and later produced a membership hole. This change invokes the game's verified full recruiting routines and rejects any result whose complete table postcondition is missing.

The Team row is caller-supplied and resolved dynamically; no school is hardcoded. Calls work from supported recruiting screens without depending on the selected UI row. An already-open Recruiting Board redraws on the next recruiting screen change.

Live verification

  • captured multiple vanilla UI adds/removes on the supported build
  • verified full add routine with an unchanged no-op and a synthetic add that rendered and survived reload
  • captured the full remove chain twice from real UI events
  • verified an unchanged remove no-op with byte-identical tables
  • removed a middle board member through the full routine, verified compaction/freelists, screen-change rendering, and reload durability
  • retained the exact six-runtime-object count as unverified; the API delegates construction/teardown to the game routine

Automated checks

  • npm run check
  • npm test — 217 passing
  • complete native Release build
  • complete native smoke inventory, including board mutation and protocol smokes

Remaining draft check

Reinstall the rebuilt DLL and exercise the final packaged addBoard/removeBoard protocol surface in the disposable dynasty. The underlying routines, arguments, table postconditions, rendering behavior, and durability have already passed live verification through the native-call primitive.

@eric-levinson
eric-levinson marked this pull request as ready for review July 16, 2026 02:01
@eric-levinson
eric-levinson merged commit 16970c4 into main Jul 16, 2026
2 of 3 checks passed
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