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

3.4 KiB

M34 Knockout Review Page View — Source-Bound Audit

Scope

OUT-002 Knockout Review was extracted from entry_shell.gd into the UI-only ABGKnockoutReviewPageView. EntryShell remains the composition root and translates only deferred back and acknowledge intents. The existing ABGKnockoutReviewPageController remains the authority for copied settled facts, battle-local knockout identity, settlement receipt and the Reward-Choice/Recovery acknowledgement target.

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

Source-bound evidence

Check Attempt / source Result
View contract m34-knockout-review-view-contract-source-bound-v3 / 4c7a0ac55b2825ccf3d24ebac6ebb9e33e1267ef PASS; ABG_M34_KNOCKOUT_REVIEW_VIEW_CONTRACT_OK exactly once; strict diagnostics 0; owned workspace/process cleanup
Controller and route regressions m34-knockout-review-regression-source-bound / 4c7a0ac55b2825ccf3d24ebac6ebb9e33e1267ef PASS; M28 controller, M29 controller, M30 controller, M12 domain/runtime and DEV-5 Result/Recovery markers exactly once; strict diagnostics 0
DEV-5 candidate m34-dev5-candidate / 4c7a0ac55b2825ccf3d24ebac6ebb9e33e1267ef PASS; ABG_DEV5_CANDIDATE_SUITE_OK exactly once; 24 normal frames; parsed touch; strict diagnostics 0; archive SHA-256 7fd99ad582b3ee7661b01ba3ef467e56ddea85ae6b66dd876de7ab5df50b8768
MVP first-cycle audit m34-mvp-audit / 4c7a0ac55b2825ccf3d24ebac6ebb9e33e1267ef 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; archive SHA-256 827d54d92da832991155fa9991d2261c385f39a28dd9e3320b76fb113c6fe0eb

All formal attempts used tools/run_test_attempt.py, owned source/HOME/cache/ TMP/browser roots, and removed their complete process groups and workspaces.

Visual equivalence

The four M34 Knockout Review captures from the source-bound MVP archive were compared with the M28 baseline archive m28-mvp-audit/20260825T110840Z-18171:

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

Each comparison reported same_bytes=true, bbox=None and zero changed pixels. This is a structural equivalence check, not a replacement for Owner visual acceptance.

Boundary audit

  • ABGKnockoutReviewPageView imports only the passive View base and the UI-only InitialCompanyArt portrait mapping.
  • The View owns Godot nodes, layout, focus, local localization and copied identity formatting; it emits only back and acknowledge intents.
  • It has no BattleService, Save, compatibility-facade, RuntimeContentRegistry, current_screen or EntryShell-global dependency.
  • EntryShell enriches only changed equipment IDs with presentation-ready names; no content lookup occurs inside the View.
  • EntryShell uses a deferred intent connection, so page replacement does not free a locked Godot node.
  • BattleService, controller snapshots, settlement receipts and continuation routes remain unchanged.

Remaining scope

M34 closes only Knockout Review. Battle Result, Risk, Market, Guild, preparation and live Battle Views remain on their existing paths until separate plans are activated.