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_CN844x390,en1280x720,zh_CN1280x720,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
ABGKnockoutReviewPageViewimports only the passive View base and the UI-onlyInitialCompanyArtportrait mapping.- The View owns Godot nodes, layout, focus, local localization and copied
identity formatting; it emits only
backandacknowledgeintents. - It has no BattleService, Save, compatibility-facade,
RuntimeContentRegistry,
current_screenor 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.