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_CN844x390,en1280x720,zh_CN1280x720,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
ABGRiskCommitmentPageViewimports only the passive View base, the UI-onlyInitialCompanyArtportrait 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_battleandbackintents. - It has no FormationRiskService, BattleService, Save,
RuntimeContentRegistry, compatibility-facade,
current_screenor 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.