Files
aetherbound-guild/docs/runtime/M36_RISK_COMMITMENT_PAGE_VIEW_VISUAL_AUDIT.md
T

4.3 KiB

M36 Risk Commitment Page View — Source-Bound Audit

Scope

RSK-002 Risk Commitment was extracted from entry_shell.gd into the passive UI-only ABGRiskCommitmentPageView. The View owns the normalized 16:9 canvas, static master, semantic overlays, focus and six explicit intents. EntryShell remains the composition root and translates those intents through deferred connections. ABGRiskCommitmentPageController remains the authority for the copied Company, Contract, selected-risk, six consequence, frozen-Party, dependency, binding, confirmation and command facts.

The migration preserves the accepted M24 page. It does not alter Risk, Formation, Battle, settlement, Economy, Save, localization or input semantics. Normal 100% landscape is the visual scope; 130% text scale is not a gate.

Source-bound evidence

All formal attempts used tools/run_test_attempt.py with an immutable archive of source 26190debe41f1eab2863991807769ee779146b25, owned HOME/cache/TMP roots, strict diagnostics and complete process-group cleanup.

Check Attempt Result
View contract m36-risk-commitment-view-contract-source-bound-v2 / 20260825T154905Z-39499 PASS; ABG_M36_RISK_COMMITMENT_VIEW_CONTRACT_OK exactly once; strict diagnostics 0; workspace removed
Controller and route regressions m36-risk-commitment-regression-source-bound / 20260825T155201Z-42371 PASS; M24 controller, RSK-002 runtime, DEV-4 Risk, DEV-5 Opening/UI and M12 domain markers exactly once; strict diagnostics 0; workspace removed
DEV-4 candidate m36-dev4-candidate-source-bound / 20260825T154958Z-40309 PASS; ABG_DEV4_CANDIDATE_SUITE_OK exactly once; 24 normal frames; parsed touch; strict diagnostics 0; evidence archive SHA-256 9fece0a32bb7825a5b8e40f45d4bf2684d826ca5833a58a6ac6988904cb8ab19
MVP first-cycle audit m36-mvp-audit / 20260825T155249Z-43170 PASS; ABG_MVP_FIRST_CYCLE_AUDIT_OK exactly once; 128 normal 100% frames; zh_CN/en; 760x360, 844x390, 1280x720; strict diagnostics 0; parsed touch/restart; evidence archive SHA-256 526099a565493b81e276c3a8e7630efceca9bc2e49e34dd151774f7daed7a9d4

Visual equivalence

The four M36 Risk Commitment captures from the DEV-4 candidate archive were compared with the M24 baseline archive m24-risk-commitment-focused/20260825T091442Z-6200:

  • 760x360, zh_CN
  • 844x390, en
  • 1280x720, zh_CN
  • 1280x720, en

Each comparison reported byte equality, zero changed pixels and no diff bounding box. The compared PNG SHA-256 pairs were:

Fixture Baseline SHA-256 M36 SHA-256 Equal
760x360 zh_CN 4b85878072230c504f41fdaf237868bb3b9a7af2582e6261b9f4cca310768bbe 4b85878072230c504f41fdaf237868bb3b9a7af2582e6261b9f4cca310768bbe yes
844x390 en f28847cefd27b864af9df2c5abb9f996946e324fc74a112d91dd83eaaba02f69 f28847cefd27b864af9df2c5abb9f996946e324fc74a112d91dd83eaaba02f69 yes
1280x720 zh_CN a08829713b6c32cc0e04e4bf4e9b3b73171d6f18ded2f43af7459ff2593e66ef a08829713b6c32cc0e04e4bf4e9b3b73171d6f18ded2f43af7459ff2593e66ef yes
1280x720 en 38785763cbf374d3c83e8a18c6ba0067d638bc640336609f7c8a2060c87e056c 38785763cbf374d3c83e8a18c6ba0067d638bc640336609f7c8a2060c87e056c yes

This is a structural equivalence check, not a replacement for Owner visual acceptance.

Boundary audit

  • ABGRiskCommitmentPageView imports only the passive View base, the UI-only InitialCompanyArt portrait mapping and the approved static master image.
  • The View owns Godot nodes, normalized layout, focus, local localization and presentation formatting; it emits only settings, review_risk_details, review_consequences, acknowledge, begin_battle and back intents.
  • It has no FormationRiskService, BattleService, Save, RuntimeContentRegistry, compatibility-facade, current_screen or EntryShell-global dependency.
  • EntryShell retains risk projection validation, binding invalidation, acknowledgement state, Battle handoff, receipt and Save semantics.
  • Deferred intent wiring prevents page replacement from freeing a locked Godot node.

Remaining scope

M36 closes only Risk Commitment. Readiness, Risk Board, Market, Guild, preparation and live Battle Views remain on their existing paths until separate plans are activated.