docs: close M39 party line view pilot
Co-Authored-By: Codex <noreply@anthropic.com>
This commit is contained in:
@@ -14,8 +14,11 @@
|
||||
## Current State
|
||||
|
||||
- Stage: `M39_PARTY_LINE_PAGE_VIEW_REFACTOR`
|
||||
- Active implementation step: `M39-C` (`IN_PROGRESS`) — Party Line focused
|
||||
verification, source-bound regressions and normal-capture equivalence.
|
||||
- Active implementation step: none. `M39_PARTY_LINE_PAGE_VIEW_REFACTOR` is
|
||||
complete at source `cf14bc8`: the source-bound View/controller/route
|
||||
regressions, DEV-4 candidate, MVP audit and four-fixture normal `100%`
|
||||
Party Line capture equivalence all pass with strict diagnostics `0`,
|
||||
recorded in `docs/runtime/M39_PARTY_LINE_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||||
M39-B is complete at source `0d59caa`; M39-A is complete at source
|
||||
`dfddb17`. M38 is complete at source `0fea312`;
|
||||
its source-bound contract, regressions, DEV-4 candidate, MVP audit and
|
||||
@@ -23,7 +26,6 @@
|
||||
diagnostics `0`, recorded in
|
||||
`docs/runtime/M38_RISK_BOARD_PAGE_VIEW_VISUAL_AUDIT.md`. M39 changes no
|
||||
gameplay, visual, Save or localization semantics.
|
||||
gameplay, visual, Save or localization semantics.
|
||||
The owner-requested target is a layered Passive View + Presenter/ViewData +
|
||||
Domain/Application Service architecture with an explicit Router/Context
|
||||
boundary. `entry_shell.gd` will be reduced incrementally, starting with the
|
||||
|
||||
@@ -3835,5 +3835,22 @@ they are not duplicated here.
|
||||
builders/helpers are removed, and deferred `select_member`/`undo`/`reset`/
|
||||
`save`/`back` intents preserve the existing application boundary. The
|
||||
focused View contract and DEV-4 Party regression pass with strict
|
||||
diagnostics `0`. M39-C is now the sole `IN_PROGRESS` step for source-bound
|
||||
regressions and normal-capture equivalence.
|
||||
diagnostics `0`. M39-C is complete: source-bound View/controller/route
|
||||
regressions, the DEV-4 candidate and full MVP first-cycle audit pass with
|
||||
strict diagnostics `0`, and opening/preview-swap Party Line captures are
|
||||
byte-equivalent to the M21 baseline at all four fixtures/locales. Evidence
|
||||
is recorded in `docs/runtime/M39_PARTY_LINE_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||||
M39-D closes at source `cf14bc8`; no later View migration is active.
|
||||
|
||||
### 2026-08-25 - M39 Party Line Page View Pilot Closed
|
||||
|
||||
- M39-D closes at source `cf14bc8`. Party Line is now a passive
|
||||
`ABGPartyLinePageView` with deferred five-intent wiring; FormationRiskService,
|
||||
preview-only swaps, Save/Readiness handoff, formation rules and route
|
||||
semantics remain unchanged.
|
||||
- The source-bound contract, focused regressions, DEV-4 candidate, MVP audit,
|
||||
normal capture set and eight-state/four-fixture byte-equivalence evidence
|
||||
are recorded in
|
||||
`docs/runtime/M39_PARTY_LINE_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||||
- M39 is complete. No later View migration is active; a separate durable plan
|
||||
is required for the next extraction.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## Status
|
||||
|
||||
- Plan: `M39_PARTY_LINE_PAGE_VIEW_REFACTOR`
|
||||
- Status: `IN_PROGRESS`
|
||||
- Status: `COMPLETE`
|
||||
- Activated: 2026-08-25
|
||||
- Baseline: `0fea312` (`M38_RISK_BOARD_PAGE_VIEW_REFACTOR_COMPLETE`)
|
||||
- Owner authorization: the Owner asked to continue decomposing Entry pages
|
||||
@@ -96,7 +96,7 @@ EntryShell, removes the Party Line master builders/helpers and wires deferred
|
||||
and DEV-4 Party regression pass with strict diagnostics `0`; the fixture-0
|
||||
Party Line frames are byte-equivalent to the M21 baseline.
|
||||
|
||||
### M39-C — Focused verification (`IN_PROGRESS`)
|
||||
### M39-C — Focused verification (`COMPLETE`)
|
||||
|
||||
- Run the View contract, M21 controller, DEV-4 Party/Readiness/Risk,
|
||||
Formation and downstream route regressions through the owned test-attempt
|
||||
@@ -105,7 +105,13 @@ Party Line frames are byte-equivalent to the M21 baseline.
|
||||
- Compare normal Party Line captures with the M21 baseline at all four
|
||||
required fixtures/locales.
|
||||
|
||||
### M39-D — Handoff (`PENDING`)
|
||||
Closure: source-bound attempts from source `cf14bc8` pass the View,
|
||||
controller and route regressions, DEV-4 candidate and full MVP audit with
|
||||
strict diagnostics `0`. Opening and preview-swap Party Line captures are
|
||||
byte-equivalent to the M21 baseline at all four fixtures/locales. Evidence is
|
||||
recorded in `docs/runtime/M39_PARTY_LINE_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||||
|
||||
### M39-D — Handoff (`COMPLETE`)
|
||||
|
||||
- Record source-bound evidence and visual equivalence in
|
||||
`docs/runtime/M39_PARTY_LINE_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||||
@@ -114,6 +120,10 @@ Party Line frames are byte-equivalent to the M21 baseline.
|
||||
- Update the checkpoint and development ledger, then push the focused
|
||||
closure.
|
||||
|
||||
Closure: the source-bound audit and ordered scope boundary are recorded in
|
||||
`docs/runtime/M39_PARTY_LINE_PAGE_VIEW_VISUAL_AUDIT.md`. M39 is complete; no
|
||||
later View migration is activated by this plan.
|
||||
|
||||
## Frozen scope
|
||||
|
||||
- No FormationRiskService, formation rule, Company, Contract, Risk, Battle,
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
# M39 Party Line Page View — Source-Bound Audit
|
||||
|
||||
## Scope
|
||||
|
||||
The accepted Party Line preparation page was extracted from `entry_shell.gd`
|
||||
into the passive UI-only `ABGPartyLinePageView`. The View owns the normalized
|
||||
16:9 canvas, static master, `PartyLineDiagram`, `PartyLineTrack` cord/effects
|
||||
layers, portraits, focus and local presentation. EntryShell remains the
|
||||
composition root and translates only deferred `select_member`, `undo`,
|
||||
`reset`, `save` and `back` intents. `ABGPartyLinePageController` remains the
|
||||
authority for copied Company, Contract, Formation, ordered Recruit,
|
||||
relation/coverage/threat and command facts.
|
||||
|
||||
The migration preserves the accepted M21 Party Line. It does not alter
|
||||
FormationRiskService, formation rules, Save/receipt semantics, Readiness,
|
||||
Risk, Battle, localization or input behavior. 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 immutable source
|
||||
archives, owned HOME/cache/TMP roots, strict diagnostics and complete
|
||||
process-group cleanup. The verification source was
|
||||
`cf14bc8e3de7e9c3c22a3e78b192618161d1989e`.
|
||||
|
||||
| Check | Attempt | Result |
|
||||
| --- | --- | --- |
|
||||
| View/controller/route regressions | `m39-party-line-regression-source-bound` / `20260825T173959Z-47357` | PASS; `ABG_M39_PARTY_LINE_VIEW_CONTRACT_OK`, `ABG_M21_PARTY_LINE_CONTROLLER_OK`, DEV-4 Formation/Party/Readiness/Risk, RSK-002, DEV-5 Opening/UI and M12 markers exactly once; strict diagnostics 0; workspace removed |
|
||||
| DEV-4 candidate | `m39-dev4-candidate-source-bound` / `20260825T174107Z-48417` | PASS; `ABG_DEV4_CANDIDATE_SUITE_OK` exactly once; 24 normal frames; parsed touch; strict diagnostics 0; evidence archive SHA-256 `2756f48c217c68ea431c4ef16e54a6bcaf6ac491664d9322f77f7aa667d31151` |
|
||||
| Normal Party Line capture set | `m39-party-line-capture-source-bound-100` / `20260825T174736Z-55273` | PASS; `ABG_M39_PARTY_LINE_CAPTURE_SET_OK` exactly once; 24 retained frames with four Party Line fixtures at text scale 100%; strict diagnostics 0; evidence archive SHA-256 `3815f964d6574a825e0c83322ebd656e1de59836f122255f0283f47621f76111` |
|
||||
| MVP first-cycle audit | `m39-mvp-audit` / `20260825T174325Z-50779` | PASS; `ABG_MVP_FIRST_CYCLE_AUDIT_OK` exactly once; 180 evidence files and 128 normal `100%` frames; `zh_CN`/`en`; `760x360`, `844x390`, `1280x720`; strict diagnostics 0; evidence archive SHA-256 `7f923114e1987e47d3534d2445d51f92212c08d891a510ed40d0bee05aa99853` |
|
||||
|
||||
## Visual equivalence
|
||||
|
||||
The four M39 Party Line capture fixtures were compared with the M21 baseline
|
||||
archive `m21-mvp-audit/20260825T060057Z-48953` (source `0c44800`). Both the
|
||||
opening `party_line` state and the preview `party_swapped` state are
|
||||
byte-identical and have zero decoded-pixel differences at every fixture.
|
||||
|
||||
| Fixture | State | M21 baseline SHA-256 | M39 SHA-256 | Equal |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `760x360 zh_CN` | `party_line` | `309b76a1f65d4b7ea941ae88c7d46f0d31583bcfa2945d3eca79cf0d11a252d9` | `309b76a1f65d4b7ea941ae88c7d46f0d31583bcfa2945d3eca79cf0d11a252d9` | yes |
|
||||
| `760x360 zh_CN` | `party_swapped` | `a171d00e20657f23d8592e33649e3fa56e06f09f4cc05b6c9d61e0c73164b080` | `a171d00e20657f23d8592e33649e3fa56e06f09f4cc05b6c9d61e0c73164b080` | yes |
|
||||
| `844x390 en` | `party_line` | `1c0db2a5cec21c4a84aba5d928a843c1f3c56f64a3ed0a8f0ba1d0f07286f159` | `1c0db2a5cec21c4a84aba5d928a843c1f3c56f64a3ed0a8f0ba1d0f07286f159` | yes |
|
||||
| `844x390 en` | `party_swapped` | `fe8582c5511bfda876909b35015f05bf31ac34a4da04b564c0e4894d04db39f8` | `fe8582c5511bfda876909b35015f05bf31ac34a4da04b564c0e4894d04db39f8` | yes |
|
||||
| `1280x720 zh_CN` | `party_line` | `f95f179f1d952091edfa470518c2ff1814b4a89e8bbb2b5c5b90313d608728c1` | `f95f179f1d952091edfa470518c2ff1814b4a89e8bbb2b5c5b90313d608728c1` | yes |
|
||||
| `1280x720 zh_CN` | `party_swapped` | `5f386ffaa530e3d00d755372fb8dbc216fbc231bda7dd75f7b973c0ac7d11613` | `5f386ffaa530e3d00d755372fb8dbc216fbc231bda7dd75f7b973c0ac7d11613` | yes |
|
||||
| `1280x720 en` | `party_line` | `d53a577faca993f71973d9b9a3e1afdd2a32e781caae3e1e6cb5db177afdcf9d` | `d53a577faca993f71973d9b9a3e1afdd2a32e781caae3e1e6cb5db177afdcf9d` | yes |
|
||||
| `1280x720 en` | `party_swapped` | `12c1d21a6f6345dae95339224f4b149796110f48d9ae3e3a182eb00bb5c45231` | `12c1d21a6f6345dae95339224f4b149796110f48d9ae3e3a182eb00bb5c45231` | yes |
|
||||
|
||||
This is a structural equivalence check, not a replacement for Owner visual
|
||||
acceptance.
|
||||
|
||||
## Boundary audit
|
||||
|
||||
- `ABGPartyLinePageView` imports only the passive View base, UI-only
|
||||
`InitialCompanyArt`, `PartyLineTrack`, `PartyLineDiagram` and the approved
|
||||
Party Line static master.
|
||||
- The View owns Godot nodes, normalized layout, diagram/track rendering,
|
||||
focus, local localization and formatting; it emits only the five named
|
||||
intents.
|
||||
- It has no FormationRiskService, persistence, RuntimeContentRegistry,
|
||||
compatibility-facade, `current_screen` or EntryShell-global dependency.
|
||||
- EntryShell retains FormationRiskService begin/preview/Save transactions,
|
||||
local preview selection and swap state, Readiness handoff, settings caller
|
||||
context and route semantics.
|
||||
- `PartyLineTrack` layer ordering remains cord `25`, members `30`, effects
|
||||
`35`; command rail behavior and focus order remain unchanged.
|
||||
|
||||
## Remaining scope
|
||||
|
||||
M39 closes only Party Line. Readiness, Risk Board, Risk Commitment, Market,
|
||||
Guild and Battle semantics remain outside this plan. No packaging, iOS export,
|
||||
signing, deployment, store or release work is included.
|
||||
Reference in New Issue
Block a user