docs: record M34 knockout view verification
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user