2124 lines
139 KiB
Markdown
2124 lines
139 KiB
Markdown
# Current Checkpoint
|
||
|
||
## Authority
|
||
|
||
- Product and player contract: `docs/01_GAME_DESIGN.md`
|
||
- Gameplay, balance, failure and Save authority:
|
||
`docs/02_GAMEPLAY_AND_BALANCE.md`
|
||
- Page plan and complete state map: `docs/03_PAGES_AND_UX.md`
|
||
- Visual, animation and audio authority: `docs/04_ART_ANIMATION_AUDIO.md`
|
||
- Complete content authority: `docs/05_CONTENT_CATALOG.md`
|
||
- Program Goal, active repair contract, implementation plan and ledger:
|
||
`docs/06_DEVELOPMENT_AND_REVIEW.md`
|
||
|
||
## Current State
|
||
|
||
- **Active Goal: `ABG MVP 质量达标`**(`GOAL_ABG_MVP_QUALITY.md`, activated
|
||
2026-09-13 by the owner's instruction to generate a Goal and keep running it).
|
||
The Goal's execution loop drives one bounded work package at a time from
|
||
`docs/EVIDENCE_LEDGER.md` (append-only ledger). Order: W4 cleanup inventory
|
||
(owner sign-off before deletion) → W5 page migrations DEV-1R..DEV-6R → smoke
|
||
→ owner playthrough and comprehension/fun record. Terminal states:
|
||
`ABG MVP QUALITY READY` or `ABG MVP QUALITY BLOCKED: <boundary>`.
|
||
A HAPI command skill `abg-mvp-goal` (`~/.agents/skills/abg-mvp-goal/SKILL.md`)
|
||
re-invokes this loop; the Goal's Decisions Log records the Title visual
|
||
authority (current M52 chibi background + shared-family chrome; the 8/19 v002
|
||
candidate becomes history) and that `M60-I03`/`M60-I04` are handled inside
|
||
the DEV-1R/DEV-3R packages.
|
||
- Stage: `M63_DEV1R_ENTRY_MIGRATION` (`COMPLETE` 2026-09-13, DEV-1R four entry pages migrated); `M64` DEV-2R COMPLETE (opening flow migrated, single 1280x720); next plan: `docs/plans/M65_DEV3R_GUILD_CONTRACT_MIGRATION.md` (MVP 迁移系列 (M63–M68) COMPLETE: all player-facing pages on the shared 1280x720 family, all strict ink gates green (mvp-panorama 20260914T043127Z-94972). M69 character unification COMPLETE (owner-approved soft Q style, 12 portraits + character-free contract master, all gates green); owner looked at the M69 panorama and replied "可以的" (style accepted); open: DEV-6 receipts (M65-I04/M68-I02) RESOLVED via M71 (specs green), dormant test geometry (M68-I03 RESOLVED via M70), M75 dock-row boundary alignment COMPLETE (market grid-aligned + bounds assertion). M74 command-size normalization COMPLETE (M52-era pages now on the 48–59px token scale). M73 130% text accessibility COMPLETE (dual-scale probes green); legacy P9.x sweep (M64-I05: registered as historical — docs/runtime/LEGACY_TEST_REGISTRY.md), M60-I03 RESOLVED via option A (hired cards declare their state, m72-hired attempt green)), the first W5
|
||
package of the active Goal `ABG MVP 质量达标`; the durable plan is
|
||
`docs/plans/M63_DEV1R_ENTRY_MIGRATION.md` (A Boot → B first-launch setup →
|
||
C Title incl. `M60-I04` → D Settings, one page per commit and review).
|
||
- Stage: `M62_COMPONENT_UNIFICATION` (`COMPLETE`, 2026-09-13), activated by the owner's
|
||
"OK 继续吧" on 2026-09-13 as workstream W3 of the approved W1-W5 order; the
|
||
durable plan is `docs/plans/M62_COMPONENT_UNIFICATION.md`. W3 freezes the
|
||
single shared component library (`docs/runtime/M62_SHARED_COMPONENT_LIBRARY.md`),
|
||
records the page-by-page chrome generation matrix
|
||
(`docs/runtime/M62_PAGE_CONSISTENCY_MATRIX.md`; only 2 of 14 page views are on
|
||
the current hand-drawn family) and wired the M59 ink checker into the Guild,
|
||
Contract and Readiness/Result probes (source-bound `m62-ink-baselines`
|
||
`20260913T164335Z-38711`: Guild 0, Contract 1, Readiness+Result 6, Market
|
||
strict 0). The checker now measures glyph ink boxes and flags an icon only
|
||
when its centre sits under the ink (`M62-I05` fixed two false-positive
|
||
classes). Residual defects on accepted pages are registered as `M62-I02`
|
||
(Market legacy overlay StyleBoxFlat), `M62-I03` (Readiness summary title
|
||
overflow) and `M62-I04` (Contract facts 3px vertical overflow). No page
|
||
visuals changed. The next owner-approved workstream is W4 (unused-artifact
|
||
cleanup list), then W5 (page migrations, DEV-1R first).
|
||
- Superseded: `M61_DESIGN_TRUTH_AND_DENSITY` (`COMPLETE`, 2026-09-13), activated by the owner's
|
||
"你看着办吧" on 2026-09-13 as workstream W2 of the approved W1-W5 order; the
|
||
durable plan is `docs/plans/M61_DESIGN_TRUTH_AND_DENSITY.md`. W2 is complete:
|
||
the player-experience digest (`docs/runtime/ABG_PLAYER_EXPERIENCE_DIGEST.md`)
|
||
summarises the authoritative product contract with citations, and the
|
||
five-profile simulation (`m61-five-profile` `20260913T162625Z-2172`,
|
||
decisions=330, max_gap=31.3s, risks 0/1/2, anti-dominance, save reload,
|
||
content reachability) confirms the built slice's numeric skeleton; the
|
||
full-campaign and wall-clock density stay open as `M61-I03`/`M61-I04` in
|
||
`docs/runtime/M61_DESIGN_AND_DENSITY_REVIEW.md`. No product code changed.
|
||
The next owner-approved workstream is W3 (component unification), then W4
|
||
(unused-artifact cleanup list) and W5 (page migrations, DEV-1R first). The M60 findings
|
||
`M60-I03` (hired offers stay on the Market board) and `M60-I04` (a recoverable
|
||
Company or leftover `.bak` disables New Game on the Title) are deferred to
|
||
W5/DEV-1R rather than changed silently.
|
||
- Superseded: `M60_PLAYABILITY_TRUTH_PASS` (`COMPLETE`, 2026-09-13), activated by the
|
||
owner on 2026-09-13 as workstream W1 of the approved W1-W5 order; the durable
|
||
plan is `docs/plans/M60_PLAYABILITY_TRUTH_PASS.md`. W1 answers "can the current build
|
||
be played from boot through one complete first cycle", refreshes the drifted
|
||
tests it finds, records a real driven playthrough with a video, and lists the
|
||
breakages; W2 (design/retention digest), W3 (component unification),
|
||
W4 (unused-artifact cleanup list) and W5 (page migrations, DEV-1R first)
|
||
follow. The active step is M60-A (drifted-test alignment). Page visuals,
|
||
content, economy, Save and routing stay frozen; only the earliest-failed
|
||
boundary repair needed to finish the run is allowed, one focused commit each.
|
||
- Stage: `M59_PROBE_INK_CHECKS` (`COMPLETE`, 2026-09-13), authorized by the owner
|
||
on 2026-09-13 as the first of the two recommended next steps; the durable plan
|
||
is `docs/plans/M59_PROBE_INK_CHECKS.md`. It adds the machine ink checks
|
||
(label ink vs sibling icon, vs owner module, vs slot width) and the
|
||
longest-shipped-string fixture to the Market visual probe so the M58-C defect
|
||
class fails the gate instead of reaching the owner. Test infrastructure only:
|
||
no page, gameplay, economy, Save, content, audio or route scope is opened.
|
||
M59-A and M59-B are complete: the checker (`ui_ink_check.gd`, with a negative
|
||
self-test), the longest-shipped-string fixture and the six residual defects it
|
||
found are all fixed and source-bound (`m59-ink-checks` attempt
|
||
`20260913T130719Z-53678`, `ABG_M59_INK_CHECK_OK scanned=12 violations=0`,
|
||
strict diagnostics 0, 36 captures). M58 remains accepted. The owner-authorized
|
||
next step is `DEV-1R` (Boot / first-launch setup / Title / essential Settings);
|
||
it needs its own durable plan and an owner decision on the Title direction
|
||
before any product code changes. No other page, economy, Save, content or
|
||
route scope is opened.
|
||
- Stage: `M58_MARKET_READ_SURFACE_REPAIR` (`COMPLETE`, owner accepted 2026-09-13).
|
||
Owner authorized this bounded repair on 2026-09-13 when M57 closed; the
|
||
durable plan is `docs/plans/M58_MARKET_READ_SURFACE_REPAIR.md`. It repaired
|
||
the carried-over `M57-I05` legibility defect on Market plus the same
|
||
fixture-honesty failure M57-A had to fix, on the existing Market composition.
|
||
M58-A/B/C/D are complete: the probe fixture carries three real professions,
|
||
the Market modules render at the view's canvas type scale, the card band,
|
||
trait chip, cost strip, board heading, title plaque, footer commands,
|
||
settings and resource badges all use shared hand-drawn proportional chrome
|
||
with one owner per command, and every label was measured against its owner
|
||
surface. The owner accepted the source-bound composite at play size with
|
||
`这个 OK 了` on 2026-09-13 after rejecting two title-plaque placements and one
|
||
badge icon/text overlap; those repairs and the measured contracts are in
|
||
`M52_SHARED_UI_RULES.md`. Latest evidence: `m58-market-probe` attempt
|
||
`20260913T114947Z-91894`, 18 images (3 fixtures x 2 locales x
|
||
static/dynamic/final), strict diagnostics 0. No successor milestone is
|
||
active. The machine-check follow-up (`M58-I11`: ink-box vs sibling icon,
|
||
owner surface and slot width in the probe) and the two pre-existing dev6
|
||
failures (`M58-I09`, one on the Guild page) need separate owner
|
||
authorization; no other page, economy, Save, content or route scope is
|
||
opened.
|
||
- Superseded: `M57_READINESS_VISUAL_REBUILD` (`COMPLETE`, owner accepted 2026-09-13).
|
||
Owner authorized this bounded single-page repair on 2026-09-13 after M56-D
|
||
kept returning Readiness to `OPEN`; the durable plan is
|
||
`docs/plans/M57_READINESS_VISUAL_REBUILD.md`, and its issue register is
|
||
empty. M56 is frozen at its written stopping point and no longer owns new
|
||
product code. No successor milestone is active: the next bounded repair
|
||
(Market's recorded contrast defect `M57-I05`) needs an owner-authorized plan
|
||
before any product code changes.
|
||
- Implementation steps: M57-A/B/C/D are complete. The visual probe uses real per-position data, the
|
||
shared `asset_chrome.gd` nine-patch factory is recorded in
|
||
`M52_SHARED_UI_RULES.md`, all twelve base professions now share one
|
||
identity-locked Q-style sprite set, and each Readiness region now owns its
|
||
own structure through `page_chrome.gd` (compartmented header band, carved
|
||
dock with independent command plates, warning cards, parchment summary with
|
||
shape markers and pips) instead of one reused plaque. Every surface is now
|
||
hand-drawn material: carved wood-and-gold command plates, a painted dock rail,
|
||
a parchment panel for the header, warning rows, status and summary cards, and
|
||
enamel severity badges, with the material split fixed as carved wood =
|
||
interactive and parchment = informational. The fresh-archive
|
||
`m57-readiness-probe` attempt passes with strict diagnostics zero and emits
|
||
static-only, dynamic-only on a neutral field and the final composite at all
|
||
three fixtures in both locales (18 readiness images plus six result
|
||
composites per run). The owner accepted the composite and the copy at play
|
||
size on 2026-09-13, so the M57 visual gate is `ACCEPTED`, M57 is complete at
|
||
its written stopping point, and the issue register is empty.
|
||
- Superseded: `M56_FIXED_CANVAS_UI_REPAIR` (`FROZEN`). Its fixed-canvas and
|
||
ownership-cleanup work (`M56-A..C`) remains valid implementation history.
|
||
M52-M55 remain implementation history; their first-play visual path is
|
||
superseded by this owner-authorized fixed-canvas repair. M52-A closes
|
||
at source `e600d6f` plus owner approval on 2026-09-09: the Q-style direction
|
||
board is now the visual baseline. Owner revised the visual direction after reviewing the supplied
|
||
reference: M51 remains implementation evidence, but its world-first style
|
||
is superseded by the new chibi hand-drawn mobile RPG direction. M51-A closes
|
||
at source `e863673`; M51-B remains preserved as a partial implementation
|
||
record rather than the current visual authority.
|
||
|
||
- 2026-09-10: Market `CandidateLedger` was split into measured child modules
|
||
(`ProfessionModule`, `DetailCopy`, `TraitModule`, `CostModule` and
|
||
`ActionDock`) in source `3808f3b`. Focused structure/View contracts pass;
|
||
the normal visual probe now exercises localized sample copy at 760x360,
|
||
844x390 and 1280x720 in Chinese and English. This is an implementation gate,
|
||
not owner visual approval; the page remains OPEN for review.
|
||
|
||
- 2026-09-10: `RecruitCard` compact slots now separate portrait, identity,
|
||
trait and cost surfaces, with shared compact paper chrome for narrow cards.
|
||
The focused card/View contracts and localized visual probe pass; overall
|
||
Market visual review remains OPEN.
|
||
|
||
### 2026-09-09 - M52 Title Runtime Slice
|
||
|
||
- M52-A remains complete at source `e600d6f` with owner approval of the
|
||
chibi hand-drawn direction board. M52-B is still the sole active step.
|
||
- Source `6763631` adds the generated, original `m52_title_background.png`
|
||
and wires it into Title as a full-viewport aspect-cover background. The
|
||
named 16:9 safe coordinate master and all Title route callbacks remain
|
||
intact. Primary, disabled and utility Title actions now use shared token
|
||
surfaces, so they read as buttons rather than bare text.
|
||
- The source-bound `m52-title-runtime` attempt passes
|
||
`ABG_DEV1_ENTRY_CAPTURE_OK` with strict diagnostics `0`, normal Metal
|
||
rendering, 20 frames across the existing 760x360, 844x390 and 1280x720
|
||
fixtures and complete owned workspace cleanup. Manual review evidence is in
|
||
`build/reviews/2026-09-09/m52-title-runtime-3/evidence/`.
|
||
- Push is currently blocked by the configured remote closing SSH on port
|
||
`5029`; the commit is present locally and ready to push when the remote is
|
||
reachable. Guild, Contract and Market remain the next implementation scope.
|
||
|
||
- The next Guild slice is prepared locally: `m52_guild_background.png` is
|
||
wired into the existing Guild View as the full-viewport world layer, while
|
||
the generated board remains the authored surface for runtime copy. The
|
||
focused Guild View contract passes; the broader legacy DEV-3 capture still
|
||
reports its pre-existing “Market starts unselected” assertion and is not
|
||
counted as a regression verdict for this visual change.
|
||
- Contract Choice is also wired locally to `m52_contract_background.png`, an
|
||
original windglass route with a blank parchment board. Its focused View
|
||
contract and normal four-fixture capture pass; difficulty selection,
|
||
confirmation, back routing and Save semantics remain unchanged. Market is
|
||
the next page to migrate.
|
||
- Source `fcb2eb3` completes the next Title affordance slice: the four Title
|
||
actions use shared `confirm`/`inspect`/`settings`/`help` icon slots with
|
||
reserved label bounds. The responsive check and clean normal-render entry
|
||
capture pass. Remote push is still blocked by SSH port `5029`.
|
||
- Source `3f09545` turns the Title identity into an authored plaque lockup:
|
||
localized main name, English submark, chapter line, outline and shadow are
|
||
engine-rendered inside the existing identity plaque. Chinese and English
|
||
target-size captures pass without clipping; this is the first Title logo
|
||
treatment, not a final brand-art acceptance.
|
||
- Source `5579e4e` corrects a style mismatch found in review: the old ornate
|
||
identity plaque is replaced by a restrained rounded paper surface with ink
|
||
border, teal ribbon and gold accent, matching the approved Q-style runtime
|
||
direction. The clean normal Title capture still passes; owner review of the
|
||
complete flow remains open.
|
||
- Source `484d068` softens the Title plaque after owner review flagged hard,
|
||
pixel-like edges: larger anti-aliased rounding, lighter border, softer
|
||
shadow and a compact rounded cloth badge now match the Q-style direction.
|
||
The clean normal Title capture passes; this remains an MVP treatment pending
|
||
review in the complete flow.
|
||
- Owner approved `docs/runtime/m52_qstyle_calibration.png` as the stronger
|
||
Q-style baseline. The prior M52 generated backgrounds remain rejected
|
||
interim candidates: their environments and task boards were too realistic
|
||
relative to the Q/chibi characters. New runtime scenes will be regenerated
|
||
from the calibration board, with engine-rendered text and controls preserved.
|
||
|
||
- The approved calibration direction is now wired locally across the first
|
||
player-order scenes: Q-style Title, Guild, Contract and Market backgrounds
|
||
use full-viewport aspect-cover rendering. Contract keeps its parchment route
|
||
board visible under engine text; Guild keeps the stable layered-world node but
|
||
avoids drawing a duplicate crop; Market's recruit hit areas no longer paint a
|
||
second opaque card wall and its world veil is intentionally light. Focused
|
||
Contract and Market normal-render captures pass with strict diagnostics `0`.
|
||
Agent visual review finds the environment family coherent at 760x360; the
|
||
remaining load-bearing mismatch is the old-proportion runtime recruit art in
|
||
Guild, Contract and Market, which is the next bounded character-asset task.
|
||
|
||
- The latest composition correction narrows Guild's two member slots onto one
|
||
shared floor baseline, keeps Contract's stable member nodes without drawing
|
||
the superseded portrait stickers over the authored Q figures, and gives
|
||
Market's `返回公会` command an explicit angular destination plate. Current
|
||
worktree-focused Contract, Guild and Market attempts pass with strict
|
||
diagnostics `0`; the interactive Market portraits remain the next character
|
||
identity migration.
|
||
|
||
M50 is superseded by owner review: its normal-render audit exposed hard
|
||
presentation failures (clipping, chroma fringe and private page styling), so
|
||
it is retained as evidence rather than treated as a passing UI slice. M49 is
|
||
deferred by owner until this UI slice is reviewed. M49-A closes at source
|
||
`c6cd45b`. M48-D
|
||
(verification and owner handoff)
|
||
closes at source `0eec3ed`. M48-A
|
||
closes at source `4be06de`; M48-B closes at source `4782c13`; M48-C closes at
|
||
source `e920200`. M47-D (playable verification and handoff)
|
||
closes at source `1a08127`.
|
||
M45-A (contract/baseline/failure
|
||
reproduction) closed at source `a22c211`; M45-B (Market command and review
|
||
guard) closed at source `23c9bc5`; M45-C (receipt safety and focused
|
||
regressions) closed at source `ecf0b8a`; M45-D closes at source `0b607d6`;
|
||
M44-D closed at source `8ce939d`; M43-D
|
||
closed at source `710dc6b`; M43-A
|
||
activation, M43-B passive View extraction and M43-C source-bound verification
|
||
all pass. The Guild View contract, M20 controller/runtime, DEV-3 regressions,
|
||
HUB-001 candidate, full MVP first-cycle audit and four-fixture capture
|
||
equivalence are recorded in
|
||
`docs/runtime/M43_GUILD_PAGE_VIEW_VISUAL_AUDIT.md`, with strict diagnostics
|
||
`0`, exact-once required markers, parsed touch and owned workspace/process
|
||
cleanup. The durable plan
|
||
`docs/plans/M43_GUILD_PAGE_VIEW_REFACTOR.md` is complete. M44 is the new
|
||
Owner-authorized bounded extraction of the existing DEV-6 Roster and
|
||
Recruit Detail surfaces. M44-A is complete: the source-bound immutable
|
||
baseline `m44-company-baseline/20260826T032132Z-32104` at source
|
||
`93164c87b845d3f0d6f1b64b6d1b06e7c4b8d66d` passed the M16/DEV-6 controller,
|
||
roster/detail and capture checks with strict diagnostics `0`, exact-once
|
||
markers, eight normal `100%` captures, parsed touch and owned cleanup; its
|
||
archive SHA-256 is
|
||
`43028f703434b5fe59a97153635b4a4500623ce7ee317c550c08b74699bcb86d`.
|
||
M44-B is complete at source `19bf1392ce72f744e0fc9de79ef6393d5f165b9b`:
|
||
passive Company Roster and Recruit Detail Views are mounted from EntryShell,
|
||
their isolated contract and focused M16/DEV-6/equipment/recovery checks pass
|
||
with strict diagnostics `0`, and only explicit deferred intents cross the
|
||
boundary. A baseline-known Contract Return test failure remains outside this
|
||
bounded extraction. M44-C is complete at source
|
||
`687160dd17c1af8b40163af9a060d7792a0d52a2`: the source-bound focused
|
||
verification and full MVP first-cycle audit pass; the DEV-6 candidate's
|
||
Contract Return failure is recorded as `M44-I01`; and eight Company captures
|
||
are byte/pixel-equivalent to the immutable baseline. M44-D closes the pilot
|
||
with evidence in `docs/runtime/M44_COMPANY_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||
The durable M44 plan is `docs/plans/M44_COMPANY_PAGE_VIEW_REFACTOR.md` and is
|
||
complete. M45 is the new bounded repair of the known Market -> Contract
|
||
Return boundary: its plan is `docs/plans/M45_CONTRACT_RETURN_REPAIR.md`,
|
||
and M45-D (candidate, visual/runtime verification and handoff) is complete.
|
||
M45-B restored the Market command and review guard at source `23c9bc5`;
|
||
M45-C receipt safety closes at source `ecf0b8a`; the source-bound candidate,
|
||
MVP audit and normal `100%` Market/Review/Guild capture inspection pass at
|
||
source `0b607d6`. M45 is complete. M46 is the new Owner-authorized bounded
|
||
presentation/component consistency pass, recorded in
|
||
`docs/plans/M46_MVP_UI_CONSISTENCY_PASS.md`; M46-A closes at source
|
||
`a10b3d2` with the baseline inventory in
|
||
`docs/runtime/M46_UI_CONSISTENCY_BASELINE.md`. M46-B closes at source
|
||
`f736d7a`; M46-C closes at source `ebc0c8f` after migrating the repeated
|
||
command/icon/notice controls across the MVP Views. M46-D closes at the same
|
||
source after the source-bound View contracts, DEV-3/4/5/6 candidates, full
|
||
MVP first-cycle audit and current-source Company/Contract Return captures
|
||
pass with strict diagnostics `0`, exact-once markers, parsed touch/restart
|
||
and owned cleanup. The final visual audit is recorded in
|
||
`docs/runtime/M46_UI_CONSISTENCY_VISUAL_AUDIT.md`. M46 is complete at its
|
||
written stopping point; no gameplay, economy, Save, content, packaging or
|
||
release scope is opened. M48 is the new Owner-requested bounded repair of
|
||
stacked UI layers and weak button affordances; its active plan is
|
||
`docs/plans/M48_UI_LAYER_CLEANUP.md`. M48 is complete at its written stopping point;
|
||
its visual audit is `docs/runtime/M48_UI_LAYER_CLEANUP_VISUAL_AUDIT.md`.
|
||
M49 is the owner-requested local iOS device validation path; its plan is
|
||
`docs/plans/M49_IOS_DEVICE_VALIDATION.md`. M49-A preflight and M49-B export
|
||
preset are complete. The local Team ID is `X75CUV458P`, a valid development
|
||
identity/profile are present, and the proposed Bundle ID is
|
||
`com.wusu.aetherboundguild`. The arm64 signed Xcode build succeeds with
|
||
landscape orientation; known iPhone entries are currently `unavailable`, so
|
||
install/launch remains open. Evidence is recorded in
|
||
`docs/runtime/M49_IOS_EXPORT_PREFLIGHT.md`.
|
||
M47 remains complete; its plan is
|
||
`docs/plans/M47_UNIFIED_UI_MVP.md`. M47-A closes at
|
||
source `1d3a526`; M47-B closes at source `57fbd67`; M47-C now owns the three
|
||
target page migrations. M47-C closes at source `f911095`; M47-D closes at
|
||
source `1a08127` with the full first-cycle audit pass and Owner tryout
|
||
handoff.
|
||
|
||
`M40_RECRUIT_REVIEW_PAGE_VIEW_REFACTOR` is complete. It froze the SHP-002
|
||
Recruit Review stopping point, Controller/ViewData boundary, static master,
|
||
exact fact and command nodes, approved invisible Settings hit area,
|
||
three-intent boundary and M18 normal `100%` capture-equivalence target
|
||
before product code. M40-A is complete at source `24579e6`; M40-B is
|
||
complete at source `0cf4ffb`: `ABGRecruitReviewPageView` is mounted from
|
||
EntryShell, the former Recruit Review builder is removed, and deferred
|
||
`cancel`/`hire`/`settings` intents are wired. M40-C is complete at source
|
||
`4f995d2`; the View contract, M18/SHP-002/Market/Hire regressions, DEV-3
|
||
candidate and full MVP audit pass with strict diagnostics `0`, and all four
|
||
normal Recruit Review captures are byte-equivalent to the M18 baseline.
|
||
Evidence is recorded in
|
||
`docs/runtime/M40_RECRUIT_REVIEW_PAGE_VIEW_VISUAL_AUDIT.md`. M40-D closes at
|
||
source `9da7cac`; M40 is complete. The M41 durable plan is
|
||
`docs/plans/M41_MARKET_PAGE_VIEW_REFACTOR.md`.
|
||
`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`.
|
||
M40 changes no gameplay, economy, Save, localization or visible visual
|
||
semantics. The owner-requested target remains a layered Passive View +
|
||
Presenter/ViewData + Domain/Application Service architecture with an
|
||
explicit Router/Context boundary; `entry_shell.gd` continues to be reduced
|
||
incrementally and no mass rewrite is authorized.
|
||
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
|
||
four-fixture normal `100%` capture equivalence all pass with strict
|
||
diagnostics `0`, recorded in
|
||
`docs/runtime/M38_RISK_BOARD_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||
M31-D remains complete at source `1455ad5` and records the source-bound local
|
||
candidate before any device, package, signing, store or release work.
|
||
M31-A activation is complete at source `da3b323`; M31-B automated
|
||
verification and M31-C normal-render inspection are complete with retained
|
||
source-bound attempts and `docs/runtime/M31_MVP_RELEASE_READINESS_VISUAL_AUDIT.md`.
|
||
M30-D is complete — Recovery,
|
||
Result/Knockout/Reward regressions and MVP handoff. M30-A is complete at
|
||
source `6efd4ba`: the
|
||
settled-result, reward-completion, stable-identity and one-recovery-receipt
|
||
boundary is frozen before OUT-004 product code. M30-B is complete at source
|
||
`79cb098`: the additive controller and focused `ABG_M30_RECOVERY_CONTROLLER_OK`
|
||
test validate stable return identity and Commit/Market eligibility with
|
||
strict diagnostics `0`. M30-C is complete at source `621cad0`: the accepted
|
||
OUT-004 View now consumes controller-owned recovery identities, receipt state
|
||
and Commit/Market facts. M30-D closes at source `4b69d81` with the focused
|
||
controller, final candidate suite and full MVP first-cycle audit all green.
|
||
M29-D is complete at source
|
||
`f4df105`: the Reward Choice Controller,
|
||
accepted OUT-003 View integration, focused candidate and full MVP first-cycle
|
||
audit all pass. M29-A is complete at source `50fd902`: the
|
||
settled-result, open-draft, option identity and claim/skip boundary is frozen
|
||
before OUT-003 product code. M29-B is complete at source `98b3111`: the
|
||
additive controller and focused `ABG_M29_REWARD_CHOICE_CONTROLLER_OK` test
|
||
validate the open draft, selected option and Claim/Skip eligibility with
|
||
strict diagnostics `0`. M29-C is complete at source `73217b4`: the accepted
|
||
OUT-003 View now consumes controller-owned draft, selection and Claim/Skip
|
||
facts. M29-D closes at source `25d66cb` with the focused controller, final
|
||
candidate suite and full MVP first-cycle audit all green. M28-D is complete
|
||
at source `755da46`: the
|
||
Knockout Review
|
||
Controller, accepted OUT-002 View integration, focused candidate and full
|
||
MVP first-cycle audit all pass. M28-A is complete at source `8b81de7`:
|
||
the settled-result, knockout identity, battle-local return and
|
||
reward/recovery continuation boundary is frozen before OUT-002 product code.
|
||
M28-B is complete at source `a7d7d05`: the additive controller and focused
|
||
`ABG_M28_KNOCKOUT_REVIEW_CONTROLLER_OK` test validate stable knockout
|
||
identity, battle-local return and acknowledgement targets with strict
|
||
diagnostics `0`. M28-C is complete at source `0171a7f`: the accepted
|
||
OUT-002 View now consumes controller-owned knockout facts and acknowledgement
|
||
target data. M28-D closes at source `755da46` with the focused controller,
|
||
final candidate suite and full MVP first-cycle audit all green.
|
||
M27-D is complete at source `aa8d63b`: the Result Controller,
|
||
accepted OUT-001 View integration, focused candidate and full MVP first-cycle
|
||
audit all pass. M27-A is complete at source `26fa8b7`: the
|
||
settled-result, diagnosis, knockout, reward-draft, recovery and
|
||
duplicate-safe receipt boundary is frozen before OUT-001 product code.
|
||
M27-B is complete at source `d26a03e`: the additive controller and focused
|
||
`ABG_M27_BATTLE_RESULT_CONTROLLER_OK` test validate the settled-result and
|
||
receipt boundary with strict diagnostics `0`. M27-C is complete at source
|
||
`a3f31e2`: the accepted OUT-001 View now consumes controller-owned result
|
||
facts and its source-bound DEV-5 candidate suite passes. M27-D closes at
|
||
source `aa8d63b` with the focused controller, final candidate suite and
|
||
full MVP first-cycle audit all green. M26-D is complete at source
|
||
`2c872f9`: the focused controller/View
|
||
boundaries and the full source-bound MVP first-cycle audit pass with
|
||
exact-once markers, strict diagnostics `0`, 128 normal `100%` frames and
|
||
owned workspace/process cleanup. M25-D is
|
||
complete at source `3a0c066`: the focused controller/View
|
||
boundaries and the full source-bound MVP first-cycle audit pass with
|
||
exact-once markers, strict diagnostics `0`, 128 normal `100%` frames and
|
||
owned workspace/process cleanup. M25-A is
|
||
complete at source `c3ae95c`; M25-B is complete at source `7b084d5`; M25-C
|
||
is complete at source `eb74d76` with the compatibility/touch repair at
|
||
`402145e`. M24-D is
|
||
complete at source `9518e2e`: focused Risk Commitment/controller
|
||
verification, normal captures and the full MVP handoff pass with exact-once
|
||
markers, strict diagnostics `0` and owned workspace/process cleanup. M24-A
|
||
is complete at source `e8825f7`; M24-B is complete at source `3e80083`; M24-C
|
||
is complete at source `9518e2e`. M23-D is complete at source `8ac91f2`.
|
||
(M14 repository cleanup and M15 Runtime Foundation remain complete.)
|
||
- Historical completed plan:
|
||
`docs/plans/M32_PAGE_VIEW_ARCHITECTURE_REFACTOR.md` (`COMPLETE`)
|
||
- M32-A is complete at source `9bde014`, freezing the dependency direction,
|
||
forbidden imports, pilot stopping point and ordered migration boundary.
|
||
M32-B is complete at source `23924a2`: the UI-only PageView/PageContext
|
||
contract and OUT-004 Recovery extraction preserve the accepted page exactly.
|
||
M32-C is complete at source `088f46b`: the source-bound View contract,
|
||
DEV-5 candidate and full MVP audit pass with strict diagnostics `0`, exact
|
||
markers and 128 normal frames. Recovery captures are byte-equivalent to the
|
||
M30 baseline. M32-D closes at source `088f46b` with the evidence and ordered
|
||
next-extraction map in `docs/runtime/M32_PAGE_VIEW_ARCHITECTURE_VISUAL_AUDIT.md`.
|
||
No later page migration is active.
|
||
- Historical completed plan:
|
||
`docs/plans/M33_REWARD_CHOICE_PAGE_VIEW_REFACTOR.md` (`COMPLETE`)
|
||
- M32 is complete at source `30e162d`; its Recovery View contract, candidate,
|
||
MVP audit and visual equivalence evidence remain the baseline for M33. M33-A
|
||
is complete at source `331db7d`, freezing the Reward Choice boundary before
|
||
product code changes. M33-B is complete at source `3d477ef`: the Reward
|
||
Choice Passive View is integrated with explicit intents and byte-equivalent
|
||
normal captures. M33-C is complete at source `f609464`: source-bound View
|
||
contract, controller/runtime regressions, DEV-5 candidate and MVP audit all
|
||
pass with strict diagnostics `0`; M33-D closes at source `f609464` with the
|
||
evidence report and next extraction map.
|
||
- Historical completed plan:
|
||
`docs/plans/M34_KNOCKOUT_REVIEW_PAGE_VIEW_REFACTOR.md` (`COMPLETE`)
|
||
- M34-A is complete at source `9bbdbb9`, freezing the OUT-002 Knockout Review
|
||
stopping point, `_readiness_member()` portrait/identity presentation,
|
||
exact node names, forbidden imports and M28 normal-capture equivalence target.
|
||
M34-B is complete at source `7a4c1ca` (product integration; docs recorded at
|
||
`d6208d8`): the passive View and deferred EntryShell intent wiring preserve
|
||
the accepted Knockout Review page. M34-C is complete at source `4c7a0ac`;
|
||
M34-D closes at source `5b811fb` with the source-bound audit and final
|
||
handoff. M33 remains complete and no later page migration is active.
|
||
- Historical completed plan:
|
||
`docs/plans/M35_BATTLE_RESULT_PAGE_VIEW_REFACTOR.md` (`COMPLETE`)
|
||
- M35-A is complete at source `37d1731`, freezing the OUT-001 Result stopping
|
||
point, exact node names, UI-only formatting helpers, diagnosis/Continue intent
|
||
boundary and M27 normal-capture equivalence target. M35-B is complete at
|
||
source `7ba4326`; M35-C is complete at source `7ba4326` with the source-bound
|
||
audit and byte-equivalence evidence. M35-D closes at source `4a2bb82` with
|
||
the final handoff. M34 remains complete and no later page migration is
|
||
active.
|
||
- M31-A activation is complete, M31-B is green and M31-C is
|
||
`agent_visual_reviewed`. The first-cycle MVP is functionally complete at
|
||
source `2556be9`; M31-D is complete at source `1455ad5` and records the
|
||
source-bound local
|
||
candidate before any separately authorized device, package, signing, store or
|
||
release work. Normal `100%` landscape is the automated visual scope and
|
||
`130%` text scale is not a blocker. No accepted page, Battle, Economy, Save,
|
||
Recovery or localization semantics are being redesigned.
|
||
- M15 scope was limited to an additive shared service/UI foundation and a
|
||
Settings integration pilot. No mass page rewrite, gameplay change, asset
|
||
generation, cleanup, packaging or release work was authorized by this plan.
|
||
- M15-B is complete at source `6061414`: the explicit AppServices,
|
||
ScreenContext, ScreenStack, UI tokens and shared semantic button primitives
|
||
compile and pass `ABG_M15_FOUNDATION_OK` with strict diagnostics `0`.
|
||
- M15-C is complete at source `8a8fb33`: Settings now crosses the explicit
|
||
`ABGSettingsService`/`ABGAppServices` boundary, Settings entry/return carries
|
||
caller, return route and focus context, and the focused
|
||
`ABG_M15_SETTINGS_OK` plus existing `ABG_DEV1_SETTINGS_OK` regressions pass.
|
||
The validated JSON schema, v1 migration, atomic save and corrupt-file
|
||
behavior are unchanged.
|
||
- M15-D is complete at source `b5c78fd`: the source-bound focused Foundation /
|
||
Settings attempt and the full first-cycle audit pass exactly-once markers,
|
||
strict diagnostics `0`, normal `100%` evidence and runner cleanup. The
|
||
retained MVP audit is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m15-mvp-audit/20260825T022152Z-90588`.
|
||
- M17 was the bounded architecture migration. It touched only the Market page
|
||
controller seam and focused tests; accepted MVP page semantics and visuals
|
||
remain frozen.
|
||
- M18 is the bounded Recruit Review architecture migration. Source `4a8a004`
|
||
routes copied Recruit Review facts and Hire eligibility through the explicit
|
||
Controller/View seam while leaving GuildContractService as the transaction
|
||
authority. The focused controller, Recruit Review, Market and Hire
|
||
regressions, normal `100%` captures and full MVP first-cycle audit pass with
|
||
strict diagnostics `0`; retained evidence is under
|
||
`/private/tmp/aetherbound-guild-test-evidence/m18-recruit-review-source-bound-v2/20260825T042444Z-79110`,
|
||
`/private/tmp/aetherbound-guild-test-evidence/m18-recruit-review-capture/20260825T042712Z-80995`
|
||
and
|
||
`/private/tmp/aetherbound-guild-test-evidence/m18-mvp-audit/20260825T042737Z-81242`.
|
||
- M19 is the bounded Contract Choice architecture migration. Its scope was
|
||
limited to copied Contract Choice view data and the selection/Confirm guard;
|
||
`GuildContractService.create_contract` remains the transaction authority and
|
||
accepted page semantics, visuals and Save behavior are frozen. The activation
|
||
boundary is pushed at source `29319d5`; M19-B is complete at source
|
||
`5758272`; M19-C is complete at source `43ab397`; and M19-D closes at source
|
||
`deac574`. The focused source-bound regressions, four-fixture normal `100%`
|
||
Contract Choice captures and full MVP first-cycle audit pass with exact-once
|
||
markers, strict diagnostics `0`, 128 normal frames and owned workspace
|
||
cleanup. Retained evidence is under
|
||
`/private/tmp/aetherbound-guild-test-evidence/m19-contract-choice-source-bound/20260825T050013Z-4766`,
|
||
`/private/tmp/aetherbound-guild-test-evidence/m19-contract-choice-capture-source-bound/20260825T050241Z-6553`
|
||
and
|
||
`/private/tmp/aetherbound-guild-test-evidence/m19-mvp-audit/20260825T050357Z-7383`.
|
||
- M20 is the bounded Guild architecture migration. Its activation plan is
|
||
`docs/plans/M20_GUILD_CONTROLLER_PILOT.md`. It is complete at source
|
||
`1323f23` (product integration source `8570378`): the scope stayed limited
|
||
to copied Guild view data, Contract state classification and destination
|
||
eligibility; accepted Guild composition, routes, callbacks, visuals and
|
||
downstream service semantics remain frozen. The focused source-bound
|
||
controller/runtime/Guild regression and capture archive is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m20-guild-controller-focused-v2/20260825T053841Z-32421`,
|
||
and the MVP audit archive is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m20-mvp-audit/20260825T054042Z-34080`.
|
||
- M21 is the bounded Party Line architecture migration. Its activation plan is
|
||
`docs/plans/M21_PARTY_LINE_CONTROLLER_PILOT.md`. It is complete at source
|
||
`0c44800` (product integration source `199997e`): the scope stayed limited
|
||
to copied Party Line view data, selection normalization and preview command
|
||
eligibility; accepted formation visuals, input, Save receipts and readiness
|
||
semantics remain frozen. The focused source-bound archive is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m21-party-line-focused/20260825T055933Z-47838`
|
||
(49 evidence files, source revision
|
||
`0c44800efd7714308589cf01d9d49ff100056c02`, marker
|
||
`ABG_M21_PARTY_LINE_CONTROLLER_OK` exactly once, strict diagnostics `0`,
|
||
archive SHA-256
|
||
`259a3db341488fed3ec9b4f6d26b719a4bdffec5cc8cb925f155c92c288bacf3`).
|
||
The full source-bound MVP first-cycle audit archive is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m21-mvp-audit/20260825T060057Z-48953`
|
||
(180 evidence files, marker `ABG_MVP_FIRST_CYCLE_AUDIT_OK` exactly once,
|
||
128 normal `100%` frames, `zh_CN`/`en`, `760x360`, `844x390`, `1280x720`,
|
||
strict diagnostics `0`, archive SHA-256
|
||
`3f67b8e3864dc3e5b39e0ac3b38f0dcf19c069289325325a472cd3d5d37189a8`).
|
||
- M22 is the bounded Readiness Controller migration. Its activation plan is
|
||
`docs/plans/M22_READINESS_CONTROLLER_PILOT.md`; it is complete at source
|
||
`ab83290` (controller source `6647b05`). The scope stayed limited to copied
|
||
Readiness view data, saved-order validation, warning/receipt facts and
|
||
command eligibility; accepted PTY-002 composition, input, focus, Readiness
|
||
receipt semantics and downstream Risk behavior remain frozen. The focused
|
||
source-bound archive is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m22-readiness-controller-focused/20260825T062201Z-64223`
|
||
(49 evidence files, 24 normal `100%` DEV-4 frames, exact-once controller
|
||
and candidate-suite markers, strict diagnostics `0`, archive SHA-256
|
||
`e291052f30d8aeb79e5abfbb1e5d64362fc14c42a1becc73ca4507e4cffbd1d8`).
|
||
The full source-bound MVP first-cycle audit is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m22-mvp-audit/20260825T062330Z-65410`
|
||
(180 evidence files, exact-once `ABG_MVP_FIRST_CYCLE_AUDIT_OK`, 128 normal
|
||
`100%` frames, `zh_CN`/`en`, `760x360`, `844x390`, `1280x720`, strict
|
||
diagnostics `0`, archive SHA-256
|
||
`7693816157e45f7c09eea8e5fe2609c4b3a9a9843eb98de0767ea8f5f5abfca2`).
|
||
- M23 is the bounded Risk Board Controller migration. Its activation plan is
|
||
`docs/plans/M23_RISK_BOARD_CONTROLLER_PILOT.md`; it is complete at source
|
||
`8ac91f2` (controller source `b37f60c`). The scope stayed limited to copied
|
||
frozen Party/option view data, selection normalization and Review
|
||
eligibility; accepted RSK-001 composition, input, focus, Risk Commitment
|
||
navigation and persistence semantics remain frozen. The focused source-bound
|
||
archive is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m23-risk-board-focused/20260825T064823Z-83199`
|
||
(49 evidence files, 24 normal `100%` DEV-4 frames, exact-once controller
|
||
and candidate-suite markers, strict diagnostics `0`, archive SHA-256
|
||
`3b208a92c605cc200917b48ea4ddffcc9ddd008ee99e7af2fb4f0a6040657032`).
|
||
The full source-bound MVP first-cycle audit is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m23-mvp-audit/20260825T064958Z-84412`
|
||
(180 evidence files, exact-once `ABG_MVP_FIRST_CYCLE_AUDIT_OK`, 128 normal
|
||
`100%` frames, `zh_CN`/`en`, `760x360`, `844x390`, `1280x720`, strict
|
||
diagnostics `0`, archive SHA-256
|
||
`8d5a7849a791fb2232be1831e09be54a3d2464e5984a96dd2d620d60f712e8c1`).
|
||
- M24 is the bounded Risk Commitment Controller migration. Its activation plan
|
||
is `docs/plans/M24_RISK_COMMITMENT_CONTROLLER_PILOT.md`; it is complete at
|
||
source `9518e2e` (controller source `3e80083`). The scope stayed limited to
|
||
copied selected-risk, consequence, frozen-party and dependency view data,
|
||
acknowledgement normalization and Begin eligibility; accepted RSK-002
|
||
composition, input, focus, Battle handoff and receipt semantics remain
|
||
frozen. The focused source-bound archive is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m24-risk-commitment-focused/20260825T091442Z-6200`
|
||
(49 evidence files, exact-once controller, RSK-002 and DEV-4 candidate
|
||
markers, strict diagnostics `0`, archive SHA-256
|
||
`db1f31869c4504d1272e6d136f664d318286d3043d843e57475486732d2f6de4`).
|
||
The full source-bound MVP first-cycle audit is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m24-mvp-audit/20260825T091613Z-7776`
|
||
(180 evidence files, exact-once `ABG_MVP_FIRST_CYCLE_AUDIT_OK`, 128 normal
|
||
`100%` frames, `zh_CN`/`en`, `760x360`, `844x390`, `1280x720`, strict
|
||
diagnostics `0`, archive SHA-256
|
||
`8129815eef0e8dfe57a117d70dadc15c52a3fac376ec28a559a4df32d0a7182e`).
|
||
- M25 is the bounded Battle Opening Controller migration. Its activation plan
|
||
is `docs/plans/M25_BATTLE_OPENING_CONTROLLER_PILOT.md`; `M25-A` is complete
|
||
at source `c3ae95c`, `M25-B` at `7b084d5`, `M25-C` at `eb74d76` with the
|
||
pushed repair source `402145e`, and `M25-D` closes at `3a0c066`. The focused
|
||
source-bound attempt
|
||
`/private/tmp/aetherbound-guild-test-evidence/m25-battle-opening-focused/20260825T095412Z-44836`
|
||
passes exact-once `ABG_M25_BATTLE_OPENING_CONTROLLER_OK`,
|
||
`ABG_DEV5_BATTLE_OPENING_OK` and `ABG_DEV5_CANDIDATE_SUITE_OK`, strict
|
||
diagnostics `0`, 24 normal Battle-cycle frames and owned workspace/process
|
||
cleanup (archive SHA-256
|
||
`a921699aa0aa8b64db3e68173decf26854f1704c464cc6d8b5b5e21c623ecaa5`). The
|
||
full source-bound MVP first-cycle audit
|
||
`/private/tmp/aetherbound-guild-test-evidence/m25-mvp-audit/20260825T100014Z-50845`
|
||
passes exact-once `ABG_MVP_FIRST_CYCLE_AUDIT_OK` with 180 evidence files,
|
||
128 normal `100%` frames across `zh_CN`/`en` and `760x360`, `844x390`,
|
||
`1280x720`, strict diagnostics `0`, parsed touch coverage, restart-to-Market
|
||
and owned workspace/process cleanup (archive SHA-256
|
||
`8ceb63b04bc2e5b11b297b31d72d92b8a880f45564e7db13c83bdf524cea70b1`). The
|
||
accepted BAT-001 composition, phase-zero semantics, BAT-002 handoff and
|
||
persistence remain frozen. M26 is the explicitly activated next architecture
|
||
seam under its own durable plan.
|
||
- M16-B is complete at source `c8af889`: `ABGCompanyPageController` and
|
||
`ABG_M16_COMPANY_PAGES_OK` centralize copied roster/detail facts and
|
||
dismissal eligibility without Godot-node or persistence dependencies.
|
||
- M16-C is complete at source `14b0461`: Entry Shell Roster and Recruit Detail
|
||
rendering consumes the controller output; existing DEV-6 roster behavior and
|
||
normal four-fixture captures remain green. No accepted MVP page was changed.
|
||
- M16-D is complete at source `fa525e6`: source-bound controller, DEV-6 Roster,
|
||
normal Company-page captures and the full MVP first-cycle audit pass with
|
||
exact-once markers, strict diagnostics `0`, and owned workspace cleanup.
|
||
The focused evidence archive is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m16-company-pages-focused/20260825T023547Z-1112`;
|
||
the MVP audit archive is
|
||
`/private/tmp/aetherbound-guild-test-evidence/m16-mvp-audit/20260825T023618Z-1488`.
|
||
- Repository cleanup baseline and first two safe deletion batches are complete
|
||
at `f848e20` and `e8d7a95`; M14 is closed at
|
||
`docs/plans/M14_REPOSITORY_CLEANUP.md`.
|
||
- Previous product steps: `SYS-005 Initial Company`, `HUB-001 Guild desk`,
|
||
`PTY-001 Party Line / Formation`, `PTY-002 Readiness Review`, `RSK-001 Risk
|
||
Board` and `RSK-002 Risk Commitment` are complete after Owner runtime
|
||
acceptance. BAT-001 Battle Opening is also complete after Owner acceptance
|
||
of its source-bound Runtime on 2026-08-24. The independent v001 draft was
|
||
rejected because it contradicted the previously Owner-approved battle page
|
||
and scale reference; that output is preserved as rejected provenance only.
|
||
The accepted battle direction remains
|
||
`prototype/generation/phase6_ui_direction_01/outputs/05_battle_ui_japanese_scale.png`,
|
||
with the full-party scale proof under `phase6_battle_scale_04`. The pushed M07
|
||
closure at `155d775` activated the M08 BAT-002 boundary. The specification
|
||
package is remote-visible at `7ededea`, authority reconciliation is
|
||
remote-visible at `1ef7a5f`, and the BAT2-3 package is remote-visible at
|
||
`f9f50cd`. The Owner accepted the final deconstruction board and asset contact
|
||
sheet on 2026-08-24, so BAT-002 reached `COMPLETE`. The
|
||
receipt-bound observation service is remote-visible at `2d4d5a7`, the
|
||
contained live battlefield is remote-visible at `950b32e`, and the timeline
|
||
and diagnostic boundary implementation is remote-visible at `0de6c7a`;
|
||
BAT2-4D functional closure is recorded in the BAT-002 page package. BAT2-5
|
||
source-bound candidate verification passed at source `fea2ae9`, but the Owner
|
||
rejected its visual presentation on 2026-08-24 as substantially different
|
||
from the approved battle master. BAT2-4E visual reconstruction is now
|
||
implemented and pushed at `189c20b`: beveled faction rails, centered ivory
|
||
controls, portrait-led actor-state cards and actor-attached event paths are
|
||
recorded in `verification/visual-repair.json`. A fresh source-bound import,
|
||
Field, Timeline and four normal `100%` capture fixtures from `189c20b` pass
|
||
with strict diagnostics 0; the candidate archive and markers are recorded in
|
||
`verification/source-bound.json`. The Owner confirmed the repaired actual-size
|
||
Runtime with `这个OK啊` on 2026-08-24; BAT2-6 and the M08 BAT-002 Runtime
|
||
milestone are complete. Result/recovery and all later pages remain frozen.
|
||
- M12 `OUT-001..004` is complete under the Owner's August 24, 2026 delegation
|
||
that intermediate pages may be inspected and closed by the agent. Source
|
||
`f6320026cfa6b64cd2cf9a1841e2679eef826b3b` passes the domain, Runtime route
|
||
and candidate capture boundaries: `ABG_M12_OUTCOME_RECOVERY_DOMAIN_OK`,
|
||
`ABG_M12_RUNTIME_OK` and `ABG_M12_CAPTURE_OK`. The candidate archive records
|
||
four normal `100%` fixtures × eight states (32 frames), strict diagnostics 0,
|
||
and restart -> next-stage Market with the same Recruit identities. All four
|
||
OUT packages now carry implementation, behavior/input/responsive/capture,
|
||
source-bound and delegated acceptance records. The MVP first-cycle route is
|
||
complete; second-cycle systems/content, broader region/endgame production,
|
||
device/package/store/release and human comprehension/fun gates remain outside
|
||
this MVP checkpoint and require a new durable plan.
|
||
- M13 MVP first-cycle audit is complete. The final source-bound attempt from
|
||
revision `e68f888` is
|
||
`/private/tmp/aetherbound-guild-test-evidence/mvp-first-cycle-audit-v9/20260824T234547Z-76868`;
|
||
marker `ABG_MVP_FIRST_CYCLE_AUDIT_OK` appears exactly once, strict diagnostics
|
||
are `0`, the owned workspace/process group is removed, and 128 normal `100%`
|
||
frames pass across `760x360`, `844x390` and `1280x720` in `zh_CN`/`en`.
|
||
The audit reconciles the historical MarketTitle/MarketFormation assumptions,
|
||
explicit BAT-001 -> BAT-002 handoff, current live control names and the
|
||
waiting/outcome-lock states without changing product semantics. 130% remains
|
||
non-blocking.
|
||
- M09 `SHP-001 Market` is complete under the Owner's August 24, 2026 delegation that
|
||
intermediate pages may be inspected and closed by the agent. Its contract,
|
||
state matrix, Owner-approved direction and reconstruction package are under
|
||
`docs/design-authority/pages/SHP-001-market/`. The previous DEV-3 Market and
|
||
hire receipts remain behavior provenance only; v001's card-heavy draft is
|
||
rejected provenance. v002 is `COMPLETE`; the clean static master,
|
||
runtime asset manifest, hit areas and engine-owned text slots are now the
|
||
implementation boundary. Source-bound behavior, input, responsive and
|
||
normal-render evidence pass at the four required normal `100%` fixtures;
|
||
130% evidence is outside this active scope. The agent's actual-size review
|
||
found no blocking overlap, clipped text or false recommendation state; the
|
||
acceptance record is under the page verification package. SHP-002 and all
|
||
later first-cycle pages are now closed under the same MVP audit.
|
||
- M10 `SHP-002 Recruit Review` is complete under the same delegated intermediate
|
||
review. Its original portrait-led review master, engine-owned decision facts,
|
||
one-receipt Hire boundary and same-offer Cancel focus are recorded under
|
||
`docs/design-authority/pages/SHP-002-recruit-review/`. Source-bound behavior
|
||
and four normal `100%` captures pass from `d24b4dd`; BAT-003/BAT-004 and the
|
||
M12 outcome/recovery pages are also closed in the current first-cycle audit.
|
||
- Planning baseline: `d59555c5a3cf95fc44de79ba06c02e650eb3df3b`
|
||
- Documentation consolidation baseline:
|
||
`53824d2394e7facdc8dca19aa20a690a5c960aca`
|
||
- Current review set: exactly six validated Markdown files under `docs/`.
|
||
- Cleanup baseline: `docs/design-authority/repository-cleanup-manifest.json`.
|
||
- Cleanup closure: M14 removed only the stale taskgraph metadata and
|
||
superseded prototype validators/build helper. Godot `.uid`/`.import` and
|
||
`prototype_incremental/` were explicitly retained.
|
||
- Page production contract:
|
||
`docs/design-authority/page-production-contract.json`.
|
||
- HUB-001 Guild desk was accepted by the Owner on 2026-08-20 after the final
|
||
continuous-rail, compact identity, semantic resource-slot and four-destination
|
||
repair. Its page package, runtime evidence and owner-acceptance record are
|
||
`COMPLETE`; the final source-bound attempt is
|
||
`/private/tmp/aetherbound-guild-test-evidence/hub001-rail-language-source-candidate/20260820T103441Z-72079`.
|
||
- DEV-4 Party Line / Formation is `COMPLETE` after Owner acceptance of source
|
||
`94a2356` on 2026-08-21. Schema-v2 measures actual Runtime pixels against the
|
||
hashed clean static master, masks dynamic regions out of static comparison,
|
||
and rejects copied bounds. The accepted repair separates cord/actor/effect
|
||
layers, restores Save emphasis, fits localized text in authored slots and
|
||
enforces 48px targets. PTY-002 is `COMPLETE` after Owner runtime acceptance;
|
||
later pages and Runtime code remain frozen until BAT2-2 is pushed and BAT2-3
|
||
is separately activated.
|
||
- Reusable `tools/run_page_restore_preflight.py` now validates each page package
|
||
before Runtime work and can run the schema-v2 pixel gate for exact/minimum
|
||
captures. PTY-001 target capture passes; the minimum 760x360 cord-size finding
|
||
is retained as evidence rather than hidden by a threshold change.
|
||
- PTY-002 now has a complete page contract and state matrix. The second 2K
|
||
16:9 AI candidate preserves four complete actors, a frozen readiness band,
|
||
grouped warning notices and a dominant Accept boundary with blank engine-text
|
||
slots. The first candidate is retained as rejected provenance because it
|
||
baked position numbers and label-like markers. Owner approval and runtime
|
||
acceptance are recorded; the page is complete.
|
||
- PTY-002 Runtime implementation is complete after Owner Runtime Review.
|
||
The imported clean master,
|
||
four accepted command icons, four Recruit bindings, readiness summary,
|
||
grouped warnings and disabled-before-accept Risk boundary are rendered on a
|
||
contained 16:9 canvas. Focused readiness, DEV-4 foundation/Party/Risk
|
||
regressions and four real responsive captures pass with strict diagnostics;
|
||
schema-v2 fidelity passes 32/32 package checks. Its owner gate is closed.
|
||
- RSK-001 Risk Board now has a complete deconstruction/reconstruction package
|
||
and Godot Runtime implementation. The contained 16:9 page renders the
|
||
frozen four-member snapshot, three equal sourced options, threat,
|
||
uncertainty, cost, reward, recovery and coverage facts, local selection and
|
||
the disabled-until-selected Review boundary. The copy-density repair in
|
||
`d0dea5b` keeps all six facts while shortening repeated labels. Fresh
|
||
source-bound `ABG_DEV4_RISK_OK` and normal 100% captures at 760x360,
|
||
844x390 and 1280x720 pass with strict diagnostics 0. The behavior attempt
|
||
is `/private/tmp/aetherbound-guild-test-evidence/rsk001-copy-density-final-behavior/20260823T014204Z-60739`;
|
||
the three capture attempts are recorded in the RSK-001 package, and page
|
||
preflight passes 24/24. Owner accepted the page at actual size on
|
||
2026-08-23; the next boundary is the separate RSK-002 commitment page.
|
||
- RSK-002 Risk Commitment v001 is `COMPLETE` after Owner runtime acceptance on
|
||
2026-08-23. Its singular selected-risk relic, connected six-fact consequence
|
||
band, frozen four-member Party staging and bottom commitment rail are visual
|
||
authority. The accepted Godot Runtime binds the cleaned static master,
|
||
engine-owned facts and independent hit areas; focused behavior/input, normal
|
||
`100%` captures, strict diagnostics and the exact-once BAT-001 handoff pass.
|
||
Battle simulation, result/recovery and later pages remain frozen.
|
||
- BAT-001 Battle Opening v001 is `COMPLETE` after Owner Runtime acceptance on
|
||
2026-08-24.
|
||
The rejected GPT-Image-2 output is archived under
|
||
`pages/BAT-001-battle-opening/rejected/v001/` with its prompt, task, cost and
|
||
hashes; it is not a page reference. The Godot candidate adapts the accepted
|
||
full-party battle composition and compact top/bottom HUD hierarchy to the
|
||
static pre-observation handoff. The reconstruction package passed 26/26
|
||
preflight checks in source `7fccbbc`; Runtime and four source-bound normal
|
||
`100%` capture attempts pass in source `f892bb6`. The Owner accepted the
|
||
complete Party/enemy scale, compact field-attached HUD and truthful BAT-002
|
||
stopping boundary; the acceptance record is under the page verification
|
||
package.
|
||
- BAT-002 Live Battle v001 is `COMPLETE` after Owner Runtime acceptance on
|
||
2026-08-24; the acceptance record is under
|
||
`pages/BAT-002-live-battle/verification/owner-acceptance.md`.
|
||
Its page contract and state matrix
|
||
define the automatic diagnostic-only battle surface, live actor/target/event
|
||
bindings, exact `Waiting for next event` state, invalid-event pause,
|
||
deterministic interruption routing and BAT-003/004/005/006 plus OUT-001
|
||
boundaries. JSON, six focused static assertions, design-contract and complete
|
||
predevelopment checks pass. The existing approved live-battle master and
|
||
full-party scale proof are copied byte-for-byte into a page-specific package;
|
||
focal/dynamic ownership, hashes and rejected alternatives pass four focused
|
||
authority assertions. Its accepted deconstruction and zero-generation asset
|
||
package pass preflight. The non-settling service and contained waiting field
|
||
are pushed. BAT2-4C implements the bounded timeline and diagnostic handoffs;
|
||
BAT2-4D focused closure is source-bound and recorded. BAT2-5 candidate
|
||
verification passed functionally with 40 captures across the four normal
|
||
100% fixtures, but those captures are rejected visual provenance. BAT2-4E
|
||
restores the approved top faction rails, ivory control ribbon, continuous
|
||
portrait-led bottom rail and actor-attached event language at `189c20b`.
|
||
Source-bound BAT2-5 Field, Timeline and candidate verification pass from that
|
||
source, and the Owner accepted the actual-size candidate. The complete page
|
||
keeps BAT-003/004/005/006 and OUT-001 as truthful handoff boundaries and
|
||
applies no reward, recovery, settlement or next-stage mutation.
|
||
- `M01 Entry` direction v001 was generated as a 2x3 board covering Boot,
|
||
first launch, Title continuity, Settings, Credits and shared overlays. The
|
||
single 2K call cost `$0.014`; the board is not a runtime asset and no
|
||
individual page implementation is activated by its generation.
|
||
- Owner approved `M01 Entry` direction v001 on 2026-08-19. The shared world,
|
||
materials, physical workspaces, compact HUD and overlay family are frozen as
|
||
the entry-module baseline. This activates individual page design at
|
||
`SYS-001`, but does not authorize Godot implementation before the page's own
|
||
reconstruction gate.
|
||
- `SYS-001 Boot` v001 design was approved and reconstructed. One 2048x1152
|
||
coordinate master uses the approved M01 threshold, empty pre-Company world,
|
||
lower verification rail and engine-owned text/action slots. The initial
|
||
design call cost `$0.014`; runtime assets are recorded in the page package.
|
||
- Owner approved `SYS-001 Boot` v001 for reconstruction on 2026-08-19. Normal
|
||
loading will hide the right-side failure actions; they remain legal anchors
|
||
for recoverable and unsafe states.
|
||
- `SYS-001 Boot` runtime candidate now uses a clean independent background,
|
||
horizontally stretchable NinePatch rail, fixed square status seals and
|
||
state-bound Retry/Diagnostics/Exit controls. Focused import, behavior, parsed
|
||
touch, live resize and normal-render checks pass with strict diagnostics 0.
|
||
Owner accepted SYS-001 Boot; First-launch was then activated as the next page.
|
||
- Source `19c884a` passes fresh-archive focused behavior/input/resize at
|
||
`/private/tmp/aetherbound-guild-test-evidence/sys001-source-focused/20260819T114340Z-65610`
|
||
and eight Loading/Error normal-render frames at
|
||
`/private/tmp/aetherbound-guild-test-evidence/sys001-source-captures/20260819T114841Z-69192`,
|
||
plus the complete 20-frame entry matrix at
|
||
`/private/tmp/aetherbound-guild-test-evidence/sys001-source-entry-matrix/20260819T115309Z-72858`.
|
||
All three have strict diagnostics 0 and complete runner cleanup.
|
||
- `SYS-001 Boot` and `SYS-002 First-launch` are `COMPLETE` after Owner
|
||
acceptance. SYS-002's existing v001 image remains draft provenance only.
|
||
- `SYS-002 First-launch` v002 was approved and reconstructed. One 2048x1152 design uses
|
||
a responsive left preview, six stretchable setting rows, fixed square icons
|
||
and one wide apply command. The call cost `$0.014`; the approved runtime
|
||
package records the layered assets, engine text slots and responsive policy.
|
||
- SYS-002 runtime reconstruction now uses the approved world, preview frame,
|
||
six stretchable setting rows, fixed square icons, value plates and wide Apply
|
||
command. Focused settings/persistence, responsive resize, parsed touch and
|
||
eight-frame normal-render checks pass with strict diagnostics 0. Runtime
|
||
visual acceptance was accepted on 2026-08-20; typography was refined for
|
||
100%/130% Chinese and English hierarchy without changing settings semantics.
|
||
- SYS-003 Title v002 was accepted on 2026-08-20. Its contained 16:9 master,
|
||
truthful entry actions and responsive runtime evidence are now complete.
|
||
- SYS-005 Initial Company v001 is complete after Owner runtime acceptance. Its design uses four
|
||
person-bearing Recruit figures in one shared courtyard, foot selection
|
||
markers and a separate Inspect/Compare/Review command region. Its staged contract
|
||
covers four stable offers, exact choose-two gating, Inspect/Compare, Review,
|
||
atomic Create Company, interruption recovery and the Guild handoff. Existing
|
||
DEV-2 runtime/evidence remains provenance; the current implementation keeps
|
||
- HUB-001 Guild desk v001 passed AI-draft, deconstruction and initial asset
|
||
review. Source `cb6a078` replaced the historical composite with a real
|
||
layered world, two runtime Recruits, clean Contract Board and segmented
|
||
rails, but Owner runtime review on 2026-08-20 returned the candidate to
|
||
`IMPLEMENTATION_IN_PROGRESS`: the top resource cells lost their required
|
||
fixed icons, Settings detached from the rail, the bottom destinations became
|
||
tiny text tabs instead of authored icon commands, and typography did not
|
||
scale with the contained canvas. The active repair owns only those HUD and
|
||
typography boundaries; all later pages remain frozen. The repaired source
|
||
`2417b74` restores fixed semantic icons, an attached Settings command,
|
||
icon-forward bottom destinations and canvas-aware typography. Its fresh Git
|
||
archive passes layered structure, 10 parsed touches and 24 frames with strict
|
||
diagnostics 0. Owner follow-up then identified a remaining right-end assembly
|
||
error: the bottom stretch center ended before an oversized 27% fixed region,
|
||
leaving the Compass base visually detached. The page is returned to
|
||
`IMPLEMENTATION_IN_PROGRESS` for that single endcap boundary. Source
|
||
`e2acbd2` reduces the fixed region to the actual 9% endcap and extends the
|
||
clean center to meet it. A fresh archive passes the adjacency assertion,
|
||
layered structure, 10 parsed touches and 24 frames with strict diagnostics 0;
|
||
the endcap boundary is correct. Owner follow-up then rejected the five left
|
||
bottom commands' scale and placement: percentage-based button rectangles grow
|
||
too large and too far apart at 720p, while their medallions sit above the
|
||
visible wood rail. Source `2b732b6` replaces that geometry with 50-76px capped
|
||
hit targets, 4-8px compact spacing, rail-seated placement and independently
|
||
capped medallion art. Its fresh archive passes the layered constraints, 10
|
||
parsed touches and 24 frames with strict diagnostics 0 at
|
||
`/private/tmp/aetherbound-guild-test-evidence/hub001-bottom-nav-source-candidate/20260820T093954Z-34122`.
|
||
The page is again `VERIFIED_AWAITING_OWNER_ACCEPTANCE`; later pages remain
|
||
frozen until explicit Owner acceptance. Owner review then found that both
|
||
rails still contradict the approved master: the top overlays opaque resource
|
||
cards and an oversized identity plate over a continuous inlaid rail, while
|
||
the bottom uses undersized generic medallions plus labels instead of the
|
||
approved rail-integrated icon hierarchy. The page returns to
|
||
`IMPLEMENTATION_IN_PROGRESS` for those two rail presentation boundaries only.
|
||
Source `c32967d` restores the approved continuous top rail, compact identity
|
||
pill, icon-plus-value cells, native-width caps and four bottom destinations;
|
||
Title/Back reuses the left Guild crest instead of adding a fifth medallion.
|
||
Its fresh archive passes the expanded layered constraints, 10 parsed touches
|
||
and 24 frames with strict diagnostics 0 at
|
||
`/private/tmp/aetherbound-guild-test-evidence/hub001-rail-language-source-candidate/20260820T103441Z-72079`.
|
||
The page is again `VERIFIED_AWAITING_OWNER_ACCEPTANCE`; later pages remain
|
||
frozen until explicit Owner acceptance.
|
||
- Rejected pixel Gallery item: `5vl2EqsYWkey`
|
||
- Latest functional evidence: combined RG-03/RG-04 midpoint systems, Save-v11,
|
||
five-profile simulation, runtime regression and Web transport passed.
|
||
- Human visual evidence: `FAIL`; the Owner rejected the pixel-art presentation
|
||
as a contradiction of the accepted Japanese 2D hand-drawn direction.
|
||
- Superseded DEV-1 functional source: `43e5bacbf88953ae99676400532189f02143be20`.
|
||
- DEV-1 functional evidence: source-bound entry suite and complete preserved
|
||
FG-4 midpoint regression both PASS. On 2026-08-17 the Owner rejected its
|
||
generic translucent entry chrome as substantially different from the
|
||
accepted Japanese 2D fantasy UI reference.
|
||
- DEV-1F local evidence: six focused DEV-1 headless checks, real parsed touch
|
||
and 20 normal-render development frames pass after the Title gained enamel,
|
||
ivory, gold-trimmed, heraldic and icon-forward runtime chrome. This is not a
|
||
renewed candidate or human visual pass.
|
||
- DEV-1G local evidence: the same six checks, parsed touch and final 20-frame
|
||
development matrix pass after Boot, first launch, Settings and Credits adopt
|
||
the same chrome. The first compressed setup-grid attempt was rejected and
|
||
repaired before this pass.
|
||
- Revised DEV-1 candidate source:
|
||
`d3b93268776b87b7bfb407c79165011facc438f8`.
|
||
- Revised source-bound DEV-1 suite and complete preserved FG-4 regression PASS
|
||
with strict diagnostics 0. Source-bound entry frames reach
|
||
`agent_visual_reviewed`; only the Owner can grant human visual acceptance.
|
||
- Latest Owner product decision, 2026-08-17: New Game's choose-two Recruits form
|
||
the persistent initial Expedition Company; Contract runs are bounded
|
||
expeditions inside continuous incremental growth, do not discard the roster,
|
||
and zero-HP Recruits return for the next stage instead of dying permanently.
|
||
- DEV-2A authority correction is complete: all six current documents place that
|
||
rule above frozen FG-4 lifecycle evidence. The exact next-stage HP amount
|
||
remains a later balance decision; DEV-2 guarantees return and persistence but
|
||
does not invent a full-heal value.
|
||
- DEV-2B implementation is locally complete: one saved seed creates exactly
|
||
four complete deterministic Recruit offers in fixed positions; zero-to-two
|
||
selected IDs survive restart; duplicate, unknown, third-selection, corrupt
|
||
replica and interrupted-candidate boundaries are explicit; no Company or
|
||
Contract state exists before commit.
|
||
- DEV-2C implementation is locally complete: Title reaches the real four-offer
|
||
page; Inspect/Compare preserve selection; exact `0/2..2/2` gating, visible
|
||
third-selection rejection, Back/restart restoration and parsed touch pass.
|
||
Sixteen normal-render development frames cover required sizes, languages and
|
||
100/130% text; this is not source-bound candidate or human acceptance.
|
||
- DEV-2D implementation is locally complete: Review names the selected two and
|
||
unchosen two; Revise preserves the draft; Create Company atomically writes
|
||
exactly the selected persistent Recruits with a deterministic receipt, then
|
||
reaches the bounded Guild handoff. Duplicate commit, candidate recovery,
|
||
lingering-draft cleanup, restart/Continue, Guild Settings return and visible
|
||
disabled-action reasons pass. Twenty-four normal-render development frames
|
||
cover all six DEV-2 page states at the required layout matrix; this remains
|
||
dirty-tree guidance, not source-bound candidate or human acceptance.
|
||
- DEV-2D implementation source:
|
||
`71f49a4926499ec8aa4911f9d162df709ecf132f`; pushed, clean and equal to
|
||
upstream before DEV-2E activation.
|
||
- DEV-2 candidate source:
|
||
`d1990538d5d70059f1203bf4817d1b0e9bf49a74`.
|
||
- Source-bound DEV-2 candidate suite and complete preserved FG-4 regression
|
||
PASS with strict diagnostics 0. The candidate covers the complete parsed
|
||
Boot/setup/Title/choose-two/Review/Revise/restart/Create/Guild path plus 24
|
||
normal-render Initial Company frames. Actual-size source-bound frames reach
|
||
`agent_visual_reviewed`; only the Owner can grant human visual/comprehension
|
||
acceptance.
|
||
- Owner visual review, 2026-08-17: `FAIL_CHARACTER_ABSENCE`. The candidate is
|
||
functionally correct but still reads as repeated cards and text. Reopened
|
||
DEV-2 must make generated Recruits the dominant visual choice through real
|
||
person-bearing controls, larger Inspect/Compare/Review portraits and the
|
||
persistent pair standing in Guild; decorative text panels cannot substitute.
|
||
- DEV-2F implementation is locally complete: all 12 base Professions now have
|
||
one-to-one non-pixel Recruit stickers; four person-bearing candidate controls,
|
||
portrait-led Inspect/Compare/Review, the persistent Guild pair and illustrated
|
||
Contract Board/Market props render over a visible shared environment rather
|
||
than opaque repeated cards. The eight missing stickers used exactly two 2x2
|
||
`gpt-image-2` calls costing `$0.028`; four accepted sources were reused.
|
||
- Controlled worktree evidence passes all six applicable DEV-1 and all six
|
||
DEV-2 behavior/parsed-touch checks with strict diagnostics 0 at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-character-worktree-suite/20260817T130943Z-23198`.
|
||
Twenty-four normal-render frames pass the required 760x360, 844x390 and
|
||
1280x720, zh_CN/en and 100/130% matrix at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-character-captures/20260817T130637Z-20886`.
|
||
The six representative runtime frames were sent to the Owner; human visual
|
||
acceptance remains open.
|
||
- Source-bound DEV-2F implementation commit
|
||
`9b8a533d86e041c4543e94a10ce42fd7438e9077` passes the complete DEV-2
|
||
candidate suite at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-character-candidate/20260817T132045Z-34538`:
|
||
six DEV-1 checks, six DEV-2 checks, parsed input and 24 normal-render frames,
|
||
with strict diagnostics 0. This does not override the open human gate.
|
||
- Owner follow-up, 2026-08-17: `FAIL_NOT_YET_ALIGNED`. The first sticker pass
|
||
improves subject presence but the four tall portrait-like actors and vertical
|
||
choice slots still do not read as the accepted compact Japanese 2D unit/HUD
|
||
system. A worktree graybox now removes the four full-height plates and places
|
||
all candidates in one visible painted scene with HUD strips and selection
|
||
rings; 24-frame evidence passes at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-open-stage-captures/20260817T135149Z-71812`.
|
||
Actor proportion/style alignment remains open. The Owner then explicitly
|
||
required one consistent actor style and questioned the current size; DEV-2F
|
||
is authorized to replace all 12 mixed sources with one unified compact unit
|
||
sheet and reduce choice-page display scale while preserving larger Inspect.
|
||
- The first unified 4x3 sheet was internally consistent but still failed the
|
||
accepted ordinary-unit boundary with 6.5-7-head anatomy and key-art detail.
|
||
The final authorized repair call produced all 12 together at compact
|
||
4.5-5-head tactical proportions with one face, line, cel-shadow, material and
|
||
light contract. All 12 now use one-to-one runtime textures; choice actors are
|
||
reduced, Guild actors are further reduced, and Inspect/Compare stay larger.
|
||
Focused behavior PASS:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-unified-actor-choice/20260817T144520Z-42716`.
|
||
Twenty-four normal-render frames PASS:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-unified-actor-captures/20260817T144542Z-42958`.
|
||
Agent review finds complete silhouettes, coherent style and usable scale at
|
||
760x360, 844x390 and 1280x720; Owner acceptance remains open.
|
||
- The first source-bound suite from `5700a84` passed all 12 DEV-1/DEV-2
|
||
behavior checks, then its single normal-render process accumulated resources
|
||
after 18 frames and timed out before the 1280x720 fixture. Runner cleanup
|
||
completed at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-unified-actor-candidate/20260817T145351Z-58238`;
|
||
this is a harness timeout, not a product PASS or visual failure. The isolated
|
||
1280x720 fixture passes six states in 3.7 seconds at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-split-capture-fixture-3/20260817T151341Z-77767`.
|
||
Candidate capture now owns one normal-render process per fixture while
|
||
retaining the same 24-frame matrix and strict diagnostics.
|
||
- Owner follow-up rejects the current DEV-2 button and outer-frame treatment:
|
||
repeated double-gold cut-corner boxes, generic diamond medallions and one
|
||
continuous enclosing border still read as utility chrome rather than an
|
||
authored Japanese fantasy command layer. DEV-2F remains active for a narrow
|
||
procedural-chrome repair; all button behavior and DEV-3 scope stay frozen.
|
||
- Owner requires every review correction to remain durable and prevent repeat
|
||
failures. The active plan now has a DEV-2F recurrence checklist covering
|
||
character priority, unified actor style/scale, open framing, differentiated
|
||
semantic commands, focused visual iteration and explicit human-gate status.
|
||
- Owner also rejects repeated opaque long-running checks during visual review.
|
||
DEV-2F now limits each visual iteration to the focused current-page behavior
|
||
check and six representative frames. Any check expected to exceed 60 seconds
|
||
must be named with purpose and duration before launch; full DEV-2/FG-4
|
||
regression waits for visual-direction acceptance.
|
||
- DEV-2F command-chrome candidate v2 is implemented in real Godot UI: Initial
|
||
Company pages now use open corner ornaments plus header/footer rails;
|
||
parchment return tabs, compact A/B markers, plus/check selection commands,
|
||
compare arrows and confirmation checks replace generic diamond medallions.
|
||
Guild footer and disabled destinations now use the same lighter hierarchy.
|
||
Focused behavior passes in 1.6 seconds at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-command-chrome-choice/20260817T153507Z-918`;
|
||
six 844x390 zh_CN 130% frames pass in 2.4 seconds at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-command-chrome-review-v2/20260817T153537Z-1291`.
|
||
Human visual acceptance remains open. Owner follow-up rejects v2's content
|
||
spacing and frame finish: content and ornament share one rectangle, so titles,
|
||
state copy, actors and footer controls sit too close to the edge; sparse corner
|
||
strokes read as unfinished rather than intentionally open. DEV-2F remains
|
||
active for a separate outer-frame/content-inset repair.
|
||
- DEV-2F frame/spacing candidate v3 now renders frame and content in separate
|
||
safe rectangles. One complete cut-corner hairline, four constructed corner
|
||
fittings and aligned header/footer rails sit outside a stable inner inset for
|
||
headings, actors, copy and commands. Focused behavior passes in 1.5 seconds at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-choice/20260817T154715Z-19139`;
|
||
six 844x390 zh_CN 130% frames pass in 2.4 seconds at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-review/20260817T154743Z-20697`.
|
||
Human visual acceptance remains open.
|
||
- Owner accepted DEV-2F frame/spacing candidate v3 for continuation on
|
||
2026-08-17. DEV-2 source `4352e253a83ee9f3ce3bca6eac99c5e70691f989`
|
||
passes the source-bound candidate suite at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-candidate/20260817T155546Z-29597`
|
||
and the preserved FG-4 regression at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev2-final-fg4-regression/20260817T155717Z-30828`,
|
||
both with strict diagnostics 0 and complete runner cleanup. DEV-2 is complete.
|
||
- DEV-3 is activated under one durable five-substep plan. DEV-3A owns only the
|
||
authoritative Company-store migration and deterministic first Contract/
|
||
Market persistence: v1 Company compatibility, one active Contract, 52 Coin,
|
||
Line capacity four, exact 3/4/3 offers and retry-safe receipts. Guild UI,
|
||
Market review and hiring remain later DEV-3 substeps.
|
||
- DEV-3A is locally complete: Company schema v2 atomically migrates valid v1
|
||
data without changing Company/Recruit identity and stores one active first
|
||
Contract in the same file. Contract creation fixes 52 Coin, Line capacity
|
||
four, a deterministic 3/4/3 Market and an idempotent receipt. Focused DEV-3A
|
||
and two affected DEV-2 checks pass with strict diagnostics and runner cleanup.
|
||
- DEV-3B is locally complete: Guild exposes one unlocked Contract, four
|
||
difficulty segments, truthful Market preconditions, Cancel and explicit
|
||
confirmation. Confirm reaches a persisted 52-Coin Market handoff; Continue
|
||
and restart resume it without purchases. English/130%-text parsed touch and
|
||
the two affected DEV-2 Company/Guild checks pass with strict diagnostics.
|
||
- DEV-3C is locally complete: one stable physical 3/4/3 Market ledger keeps all
|
||
rows inspection-only; a separate Recruit review shows exact identity,
|
||
Profession, Trait benefit/cost, attributes, item, history, price and Company/
|
||
Line effect. Cancel restores the same offer/focus. Chinese/130%-text parsed
|
||
touch and prior-boundary regression pass with strict diagnostics.
|
||
- DEV-3D is locally complete: two separately confirmed 14-Coin Recruit
|
||
transactions append two persistent members and distinct idempotent receipts,
|
||
advancing Company `2 -> 3 -> 4` and Coin `52 -> 38 -> 24` while Line capacity
|
||
remains four. Duplicate/conflict/price/candidate/restart tests and English/
|
||
130%-text parsed touch pass; a third offer remains inspection-only at the
|
||
DEV-3 stopping point.
|
||
- DEV-3E candidate source `a0918bc` passed all 16 behavior/persistence/touch
|
||
checks but failed the first normal-render fixture: 760x360 Market footer
|
||
controls extended 2 px below the viewport. A narrow short-screen height repair
|
||
passes the same six-state fixture; DEV-3E remains active pending a new source-
|
||
bound full candidate.
|
||
- DEV-3 final source `0da89b848c87013038ffa39c49d451fb2da8e3d1`
|
||
passes the complete source-bound candidate at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev3-candidate/20260817T172359Z-27922`:
|
||
six DEV-1, six DEV-2 and four DEV-3 markers plus 24 normal-render states,
|
||
parsed touch, layout bounds and strict diagnostics 0. Runner cleanup is
|
||
complete. DEV-3 is complete; human visual/comprehension/fun, device, package,
|
||
store and release gates remain open.
|
||
- DEV-4 is activated under one durable five-substep plan. DEV-4A owns only an
|
||
in-place prepared-party/risk foundation: deterministic four-member auto-order,
|
||
explicit rear-left/front-right position semantics, atomic order/readiness
|
||
receipts and three stable first-battle risk projections. Runtime Party/risk
|
||
pages remain DEV-4B/D, and DEV-5 owns the first battle transaction.
|
||
- DEV-4A is locally complete: one strict optional formation block in the
|
||
schema-v2 Contract preserves four Recruit hashes, 24 Coin, the Market board
|
||
and both hire receipts while adding deterministic order, relation/coverage
|
||
facts, three stable risk projections and idempotent order/readiness receipts.
|
||
Focused domain and affected DEV-3 two-hire touch regression pass with strict
|
||
diagnostics and complete runner cleanup. DEV-4B Party Line is active.
|
||
- DEV-4B is locally complete: Market enables Establish Line only at Company
|
||
4/4; four unified actors stand rear-left to front-right with position 0 at the
|
||
right, and parsed tap-select/tap-destination, relation preview, Undo, Reset,
|
||
Back and restart pass in Chinese/English at 130% text. Four normal-render
|
||
review frames pass; Save & Review names its DEV-4C boundary.
|
||
- DEV-4C is locally complete: Save & Review atomically persists the exact
|
||
order, Readiness freezes IDs/position/coverage/threat, Revise preserves it,
|
||
and Accept records one idempotent preparation receipt without a battle or
|
||
risk commit. English/Chinese 130% parsed-touch and restart paths pass with
|
||
strict runner cleanup. DEV-4D Risk Selection is active.
|
||
- DEV-4D is locally complete: accepted Readiness opens a three-option risk
|
||
board with no auto-selection, local compare/cancel/restart semantics and a
|
||
frozen-party commitment preview. Begin Battle is disabled with a DEV-5 reason
|
||
and no battle receipt. Chinese/English 130% parsed-touch and three
|
||
normal-render risk states pass with strict runner cleanup. DEV-4E candidate is
|
||
active.
|
||
- DEV-4 final source `62db001e8915873bb0b7632cfe90dd40a847530f`
|
||
passes the complete source-bound candidate at
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev4-candidate/20260817T182401Z-99737`:
|
||
six DEV-1, six DEV-2, four DEV-3 and four DEV-4 markers plus 24 normal-render
|
||
states, parsed touch, 44px controls, layout bounds and strict diagnostics 0.
|
||
No battle receipt exists and runner cleanup is complete. DEV-4 is complete;
|
||
human visual/comprehension/fun, device, package and release gates remain open.
|
||
- DEV-5 is activated under one durable five-substep plan. DEV-5A owns only a
|
||
current battle receipt, deterministic event timeline, result/diagnosis data
|
||
and battle-local knockout state around the accepted DEV-4 snapshot. DEV-5B-D
|
||
runtime/result/recovery pages and DEV-6 Company management remain pending.
|
||
- DEV-5A is locally complete: one idempotent current battle receipt freezes the
|
||
accepted Party/risk, persists nine exact event kinds, settles pressured
|
||
victory once at Coin `24 -> 51`, records one battle-local knockout without
|
||
removing a Recruit and recovers the same four stable IDs for the next stage.
|
||
Focused domain and DEV-3/4 regressions pass with strict runner cleanup.
|
||
- DEV-5B is locally complete: Risk Commitment now creates a real Battle
|
||
Opening/Live scene with four compact actors, enemy contact corridor, disclosed
|
||
threat, automatic deterministic playback, Pause/Resume, 1x/2x observation and
|
||
the exact DEV-5A event rail. Continue restores an active receipt without
|
||
issuing combat commands. The playback timer is owned by the Shell and is
|
||
invalidated on tree exit; the prior SceneTreeTimer leak is resolved.
|
||
Focused bilingual parsed-touch PASS:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev5-battle-ui-fix/20260818T004251Z-65519`.
|
||
DEV-5C Result/Diagnosis is now complete.
|
||
- DEV-5C is locally complete: Battle Result names outcome/objective, exact Coin
|
||
and XP settlement, first decisive damage, battle-local knockout identity and
|
||
a compact causal chain before Continue. Settlement now keeps exactly nine
|
||
events instead of duplicating `result`; three surviving Recruits each receive
|
||
16 XP while the knocked-out Recruit receives zero. Continue reaches an
|
||
Knockout Review and explicit DEV-5D recovery handoff, and restart returns to
|
||
Result without a duplicate settlement. Focused bilingual parsed-touch PASS:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev5-result-ui-worktree/20260818T013511Z-8975`.
|
||
Foundation, DEV-5B UI and DEV-3 hire regressions pass with strict runner
|
||
cleanup. DEV-5D Knockout/Recovery is now complete.
|
||
- DEV-5D is locally complete: Result Continue opens Knockout Review with the
|
||
stable member identity and current-battle gap, Acknowledge opens Recovery,
|
||
and one atomic commit returns the same Recruit IDs/Profession/Trait/level/XP/
|
||
history/equipment to next-stage Market. Duplicate recovery returns the
|
||
original receipt; no Recruit is deleted or replaced. Focused bilingual
|
||
parsed-touch PASS:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev5-recovery-ui-worktree/20260818T020349Z-31847`.
|
||
DEV-5E first-cycle candidate is now complete.
|
||
- DEV-5E source-bound candidate is complete at source
|
||
`05f89ad7e14323d213287e52112ff927ef812f8d`:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev5-candidate/20260818T025343Z-77825`.
|
||
Six DEV-1, six DEV-2, four DEV-3, three applicable DEV-4 and four DEV-5
|
||
markers pass, along with 24 normal-render cycle states, parsed touch, strict
|
||
diagnostics 0, no permanent death and next-stage Market. The old DEV-4
|
||
disabled-Begin-Battle assertion is explicitly superseded by DEV-5's real
|
||
Risk -> Battle marker. Exact handoff: `ABG DEV-5 candidate ready`.
|
||
- DEV-6A is locally complete: Equipment review exposes sourced effect, fit,
|
||
tradeoff, price and four wearer choices. One atomic purchase/equip replaces a
|
||
Recruit's universal slot, returns the previous item to persistent inventory,
|
||
removes one Market offer and records one receipt; duplicate, conflict,
|
||
insufficient-Coin, level/XP and restart behavior pass. Focused PASS:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev6-growth-worktree/20260818T035436Z-29672`.
|
||
DEV-2 creation, DEV-3 hire and DEV-5 recovery regressions pass with strict
|
||
cleanup. DEV-6B Roster/Recruit Detail is now the only active step.
|
||
- DEV-6B is locally complete: Guild exposes a real Roster entry; four member
|
||
controls and Recruit Detail show stable identity, Profession, Trait,
|
||
individual level/XP, current equipment and battle history. Back and restart
|
||
preserve the Company; Dismiss now opens the DEV-6C review with a real
|
||
consequence summary. Focused PASS:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev6-roster-worktree/20260818T040436Z-36560`.
|
||
- DEV-6A growth and DEV-5 recovery regressions pass with strict cleanup.
|
||
- DEV-6C is locally complete: Roster and Recruit Detail expose explicit
|
||
dismissal review; Market-only dismissal returns current equipment to
|
||
inventory, leaves Coin unchanged, preserves Company growth and blocks the
|
||
final live member with a visible reason. Market exposes a separate voluntary
|
||
Contract Return review; confirmation writes one retry-safe receipt, marks
|
||
the Contract `returned`, preserves roster/Coin/growth and reaches Guild.
|
||
Focused PASS:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev6-return/20260818T042042Z-47775`.
|
||
DEV-6B roster, DEV-6A growth and DEV-5 recovery regressions pass with strict
|
||
runner cleanup. Focused commit `9e6eef9067ff9137f8e1918e9de9cb179187a0bb`
|
||
is pushed and equals upstream.
|
||
- DEV-6D source-bound candidate is complete at source
|
||
`96173243765bc7fe897c13bafebf0affa8a033e6`:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev6-candidate-final/20260818T043605Z-66692`.
|
||
All DEV-1..5 and DEV-6 behavior markers pass, plus parsed touch and 24
|
||
normal-render management frames across 760x360, 844x390 and 1280x720,
|
||
zh_CN/en and 100/130% text. Strict diagnostics are 0, archive SHA-256 is
|
||
`7f06d4c89d75689c8851a585245149a1a8d4dc5791c598926aa5f20df3f61862`, and
|
||
runner cleanup owns/removes the complete process group and workspace.
|
||
- Owner review accepts the DEV-1/DEV-2 Boot, Title and initial-choice baseline
|
||
for continuation, but rejects the DEV-3 onward content surfaces: Guild,
|
||
Market, Recruit/Equipment review, Roster/Detail and later management pages
|
||
still read as repeated cards with small actors and generic command rows. The
|
||
shared H5 origin can also resume an old browser save. DEV-6V is a narrow
|
||
content-surface repair only; DEV-1/DEV-2 behavior and visual baseline remain
|
||
frozen, and Company/Save/Battle semantics remain unchanged.
|
||
- DEV-3V focused source-bound candidate passes at source
|
||
`e979af7aeb5de9aead65a13f65429120ad6578d2`:
|
||
`/private/tmp/aetherbound-guild-test-evidence/dev3v-candidate/20260818T053424Z-20989`.
|
||
The candidate keeps DEV-1/2 behavior, covers Guild, Contract, Market,
|
||
Recruit Review and post-hire Market across 24 normal-render frames, parsed
|
||
touch and strict diagnostics 0. H5 visual check:
|
||
`https://gallery.aichickenfarm.cn/item/OmkTW9cqlO6I?share=ff6dec4644691d79c8c6e0bd3efbb738680abec9c2bf73b1b53574edfbe78f37&fresh=1`.
|
||
DEV-3V remains IN_PROGRESS pending Owner visual review.
|
||
- Before further DEV-3V code changes, the Owner-provided `IMG_8573` reference
|
||
is now decomposed into the written `DEV-3 Owner UI Style Contract` in
|
||
`docs/04_ART_ANIMATION_AUDIO.md`: world-first composition, full readable
|
||
actors, object-led commands, open HUD rails, no nested card wall and the
|
||
required landscape/text-scale acceptance matrix. UI implementation is
|
||
frozen until this written contract is accepted.
|
||
- P0 consolidation is complete. `docs/01` is the
|
||
positive product contract; `docs/02` is systems/economy/Save authority;
|
||
`docs/03` is pages/components/states; `docs/04` is art/audio; and `docs/06`
|
||
is the ordered roadmap and evidence gate. The written Style Bible is the
|
||
reference; the next proof is the concrete `VA-1_GUILD_COMPANY_ANCHOR` page.
|
||
DEV-1R, DEV-3V and later presentation/gameplay expansion remain frozen until
|
||
the anchor is Owner-reviewed.
|
||
- P0 checks pass: `ABG_DESIGN_CONTRACTS_OK` and
|
||
`ABG_PREDEVELOPMENT_DESIGN_OK` (`documents=6`, `pages=50`, `errors=0`).
|
||
The design validator was updated to read the current consolidated docs
|
||
instead of the retired `docs/product` split. No safe tracked dead product
|
||
file was found; historical runtime/evidence remains preserved.
|
||
- DEV-1R Boot repair is implemented at source
|
||
`23f34bbe669b2d119929d9d4c47e4466cfa2116c`. Resource/save verification,
|
||
recoverable Retry and the Boot -> first-launch runtime handoff pass through
|
||
the owned runner. Normal-render review replaces the opaque full plate with a
|
||
bright painted scene and lower field-attached verification rail at 760x360
|
||
and 844x390. Fresh-start H5 review:
|
||
`https://gallery.aichickenfarm.cn/item/8pe4Em72THsp?share=652f6a7f6605215742502da8ac72b22c30406b111904be2aef0cfe999e50266f&fresh=1`.
|
||
DEV-1R remains frozen by the visual anchor step and its human visual review is `FAIL`: the current
|
||
frame still inherits the rejected procedural entry-chrome grammar. The H5 is
|
||
not a valid acceptance candidate; first-launch setup is not yet reopened.
|
||
- `VA-1A_GUILD_ANCHOR_DECOMPOSITION` is complete. The current Guild runtime
|
||
uses the locked Master B background, canonical B actor cutouts, AI-generated
|
||
HUD/kiosk/medallion assets, engine text and independent hit areas. It no
|
||
longer uses the old full-page frame, right utility panel or footer layout.
|
||
- VA-1 is `agent_visual_reviewed / OWNER_REVIEW_OPEN`. Master B normalized
|
||
coordinates now determine the top rail, actor foot line, kiosk and bottom
|
||
rail at 760x360, 844x390 and 1280x720. Focused behavior PASS:
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-master-coordinates-behavior-v2/20260819T005226Z-2313`.
|
||
Required captures PASS at
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-master-coordinates-capture-v3/20260819T010012Z-7453`,
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-master-coordinates-fixture-0/20260819T010257Z-9294`
|
||
and `/private/tmp/aetherbound-guild-test-evidence/va1-master-coordinates-fixture-3/20260819T010257Z-9292`.
|
||
- VA-1 exact-composition candidate now uses the confirmed Master B composite
|
||
as the visual coordinate master, with independent engine text and transparent
|
||
hit areas. This is a visual-anchor checkpoint, not yet the final dynamic
|
||
layer split. Focused behavior and Guild capture pass at
|
||
`/private/tmp/aetherbound-guild-test-evidence/master-b-composite-behavior-v2/20260819T022004Z-64324`
|
||
and `/private/tmp/aetherbound-guild-test-evidence/master-b-composite-capture-v2/20260819T022101Z-64892`.
|
||
- Owner review reopened VA-1 responsive geometry on 2026-08-19: the 16:9
|
||
Master B canvas must never stretch to a phone's device ratio. Wider or
|
||
narrower landscape space belongs to the independent World layer while all
|
||
engine text and hit areas remain centered with the complete master canvas.
|
||
This narrow repair is `IN_PROGRESS`; prior captures do not close it. The
|
||
focused responsive check now covers 800x500, 960x540 and 1280x600 with a
|
||
live viewport resize, including vertical World extension on narrow screens.
|
||
- Responsive repair verification passes at
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-responsive-layout/20260819T032630Z-17579`
|
||
(`ABG_DEV3_GUILD_RESPONSIVE_OK`), parsed Guild navigation at
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-responsive-behavior-final-r2/20260819T032739Z-18460`,
|
||
and normal-render Guild/Contract/Market matrices at
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-responsive-capture-final-760/20260819T032656Z-17824`,
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-responsive-capture-final-844/20260819T032656Z-17825`
|
||
and `/private/tmp/aetherbound-guild-test-evidence/va1-responsive-capture-final-1280-r2/20260819T032739Z-18459`.
|
||
- Owner follow-up requests the Guild frame to use Chinese runtime copy and to
|
||
remove the AI-master horizontal lines/plus marks that read as placeholders.
|
||
The active VA-1 repair therefore adds compact engine-rendered resource and
|
||
command labels, repositions kiosk/member copy and keeps the existing English
|
||
branch and navigation semantics intact.
|
||
- Chinese HUD/placeholder repair passes focused Guild navigation at
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-behavior-final/20260819T035831Z-42009`,
|
||
live-resize geometry at
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-responsive-final/20260819T035831Z-42011`,
|
||
and normal-render Guild/Contract/Market states at
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-capture-760-final/20260819T035831Z-42010`,
|
||
`/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-capture-844-final-r2/20260819T035831Z-42013`
|
||
and `/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-capture-1280-final/20260819T035831Z-42012`.
|
||
- Owner accepted the repaired Guild visual anchor for continuation on
|
||
2026-08-19 and then explicitly redirected entry reconstruction to the Title
|
||
page before Boot/first-launch re-review. `VA-2` retains its existing parsed
|
||
Guild interaction evidence but is not a separate active implementation step.
|
||
- Title v001 was superseded after Owner review found two presentation defects:
|
||
the separate World
|
||
extension visibly joined a different image at non-16:9 edges, and the Title
|
||
identity sat too high against the crest. Owner approved the replacement v002
|
||
design on 2026-08-19. V002 uses one complete 16:9 master with a clean
|
||
sky-toned matte outside the canvas, never a second image, and moves the
|
||
engine-rendered identity lower with smaller type. The v001 current-tree
|
||
design/runtime copies were removed in cleanup batch 1; Git history retains
|
||
their provenance.
|
||
- `SYS-003 Title` v002 runtime candidate preserves New Game/Continue/Settings/
|
||
Credits semantics and passes focused behavior at
|
||
`/private/tmp/aetherbound-guild-test-evidence/title-v002-behavior-final/20260819T062925Z-70066`,
|
||
wider/exact/narrower live resize at
|
||
`/private/tmp/aetherbound-guild-test-evidence/title-v002-responsive-final/20260819T062925Z-70064`,
|
||
parsed entry touch at
|
||
`/private/tmp/aetherbound-guild-test-evidence/title-v002-touch-final/20260819T063140Z-71569`,
|
||
and the 20-frame entry capture matrix at
|
||
`/private/tmp/aetherbound-guild-test-evidence/title-v002-capture-final/20260819T062925Z-70065`.
|
||
V001 remains provenance only; v002 is the sole current Title authority and
|
||
still awaits Owner runtime acceptance before another entry page is activated.
|
||
- A `SYS-002 First-launch Setup` v001 image draft was generated after three
|
||
zero-cost provider failures; the fourth attempt completed for `$0.014`.
|
||
It is preserved under
|
||
`docs/design-authority/pages/SYS-002-first-launch/drafts/v001/` with status
|
||
`DRAFT_REVIEW`. It is not approved design authority, is not imported into
|
||
the runtime and does not supersede the active Title review boundary.
|
||
- Broader human comprehension/fun, device, package and release gates remain
|
||
`OPEN`.
|
||
|
||
## Preserve
|
||
|
||
- Verified DEV-1 runtime, behavior and source-bound evidence.
|
||
- Existing FG-4 runtime and Save-v11 evidence as historical implementation
|
||
until their newly superseded casualty/Contract-close semantics reach their
|
||
named later conversion step; do not delete or rewrite them inside DEV-2.
|
||
- Touch, localization, accessibility and audio-event routing.
|
||
- Rejected pixel assets and H5 only as Git/evidence history.
|
||
|
||
## Frozen
|
||
|
||
- Product Runtime changes are restricted to the active BAT2-4D focused closure
|
||
plus the BAT2-4C timeline and diagnostic implementation. The observation service is
|
||
frozen at `2d4d5a7` and the contained field is frozen at `950b32e`; later
|
||
battle pages, economy settlement and unrelated battle-rule changes remain
|
||
frozen until their named substeps are activated after a focused push.
|
||
- No page may move from AI draft to Godot implementation without the explicit
|
||
state transitions in `page-production-contract.json`.
|
||
- Promotion, Artifacts, second Contract creation and second battle remain
|
||
frozen at the DEV-6 stopping point.
|
||
- Pixel asset expansion.
|
||
- FG-5 and later Regions.
|
||
- No new BAT-002 image generation or image editing is authorized. The closed
|
||
BAT2-3 package reuses accepted environment, actor, enemy and engine-chrome
|
||
assets with explicit provenance; BAT2-4 must reconstruct from that package.
|
||
- Native packaging, devices, signing, stores and release.
|
||
- Concurrent edits to the same Runtime ownership boundary; multi-Agent
|
||
deconstruction, asset, test and read-only review work uses one Runtime writer.
|
||
|
||
## PTY-002 Review Issue Register
|
||
|
||
- `PTY002-VIS-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the 760x360, 844x390 and 1280x720 Runtime captures at zh_CN/en 100%/130% text scale. The complete four-person line, position 0 exposure, summary and warning hierarchy, command emphasis and disabled-before-accept Risk boundary are confirmed. Layout experiment variants remain auxiliary evidence only.
|
||
|
||
## RSK-001 Review Issue Register
|
||
|
||
- `RSK001-VIS-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the normal 100%
|
||
Runtime captures and live path at actual size on 2026-08-23. The three-column
|
||
reading hierarchy, frozen party snapshot and truthful command rail are
|
||
confirmed.
|
||
- `RSK001-VIS-02` `RESOLVED_COPY_DENSITY`: Owner accepted the page
|
||
composition but reported that the repeated fact labels read too densely.
|
||
Source `d0dea5b` shortens localized labels and helper copy only; all six
|
||
sourced facts, values, selection semantics, hit areas and the Risk
|
||
Commitment boundary remain unchanged. Fresh source-bound normal 100%
|
||
captures pass; the Owner acceptance record closes RSK-001.
|
||
|
||
## RSK-002 Review Issue Register
|
||
|
||
- `RSK002-VIS-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the v001 AI draft at
|
||
actual size on 2026-08-23. The singular selected-risk composition, connected
|
||
consequence band, four-member Party staging and bottom commitment rail are
|
||
approved for reconstruction; the approval record is under
|
||
`pages/RSK-002-risk-commitment/approved/v001/`.
|
||
|
||
## RSK-002 Deconstruction Issue Register
|
||
|
||
- `RSK002-DEC-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the v001 layer map,
|
||
text slots, hit areas and deconstruction board at actual size on 2026-08-23.
|
||
|
||
## RSK-002 Asset Issue Register
|
||
|
||
- `RSK002-ASSET-01` `RESOLVED_OWNER_ACCEPTED`: Owner replied `OK` to the
|
||
full-size clean static master and contact sheet on 2026-08-23. World/relic
|
||
continuity, dynamic mask ownership, reused Recruit provenance and the
|
||
no-baked-text policy are accepted; the reconstruction handoff is the next
|
||
separate boundary.
|
||
|
||
## RSK-002 Runtime Issue Register
|
||
|
||
- `RSK002-RUNTIME-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted source
|
||
`64c1c6f` at actual size on 2026-08-23. The selected-risk/Party hierarchy,
|
||
six-fact consequence band, acknowledgement gate, command rail and exact-once
|
||
BAT-001 handoff are closed at normal `100%`; the acceptance record is under
|
||
`pages/RSK-002-risk-commitment/verification/owner-acceptance.md`.
|
||
|
||
## BAT-001 Specification Issue Register
|
||
|
||
- `BAT001-SPEC-01` `RESOLVED_SPEC_READY`: The BAT-001 contract and state matrix
|
||
are complete in source `1b3adc6`; the static pre-observation boundary,
|
||
normal `100%` layout, input order and frozen scope are validated before any
|
||
art or Runtime work.
|
||
- `BAT001-DRAFT-01` `RESOLVED_REJECTED_WRONG_AUTHORITY`: Source
|
||
`task_01M0QAKYKS41600MSY318C2VZP` is preserved under
|
||
`pages/BAT-001-battle-opening/rejected/v001/`. Owner rejected its sparse
|
||
four-actor tableau, oversized units and parchment panels as a competing
|
||
battle direction. It cannot be used for deconstruction, assets or Runtime.
|
||
- `BAT001-AUTHORITY-01` `RESOLVED_OWNER_ACCEPTED`: Owner confirmed `OK` to
|
||
proceed on 2026-08-23. The existing approved battle page and
|
||
`phase6_battle_scale_04` proof remain the BAT-001 visual authority; the
|
||
rejected v001 composition is provenance only.
|
||
|
||
## BAT-001 Reconstruction Issue Register
|
||
|
||
- `BAT001-DEC-01` `RESOLVED_PREflight_26_26`: The page-specific layer map,
|
||
engine text slots, responsive anchors and transparent hit areas passed the
|
||
focused preflight in source `7fccbbc`; the accepted full-party battlefield
|
||
and compact rail hierarchy remain intact.
|
||
- `BAT001-ASSET-01` `RESOLVED_REUSE_EXISTING`: No new AI generation was used.
|
||
The clean Windglass field, four actor textures and Riftblade enemy texture
|
||
are bound to existing accepted provenance with no pixel conversion.
|
||
|
||
## BAT-001 Runtime Issue Register
|
||
|
||
- `BAT001-RUNTIME-01` `RESOLVED_SOURCE_BOUND_PASS`: Source `f892bb6` renders the
|
||
static opening with the exact Party/enemy bindings, explicit handoff and no
|
||
hidden phase advance. The focused behavior attempt and four normal 100%
|
||
capture attempts pass with strict diagnostics 0.
|
||
- `BAT001-RUNTIME-02` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the source-bound
|
||
normal `100%` Runtime on 2026-08-24. The complete Party/enemy relation,
|
||
compact field-attached rails, first-threat disclosure and explicit BAT-002
|
||
handoff are closed; the record is under
|
||
`pages/BAT-001-battle-opening/verification/owner-acceptance.md`.
|
||
|
||
## Closed M07 Plan
|
||
|
||
`M07_BAT001_BATTLE_OPENING_OWNER_RUNTIME_REVIEW` owned the actual-size review of
|
||
the bounded Godot reconstruction after the accepted battle authority, validated
|
||
contract/state matrix, rejected v001 output, complete reconstruction package
|
||
and source-bound Runtime evidence. The player-visible stopping point is a
|
||
truthful Battle Opening surface where the objective, complete bound Party
|
||
order, enemy-facing direction and first disclosed threat are readable before
|
||
observation starts while preserving the accepted battle page's full-party
|
||
scale, continuous field and compact top/bottom HUD hierarchy. The Runtime
|
||
candidate authorizes only the static opening surface and explicit handoff to
|
||
BAT-002. The Owner accepted that bounded surface on 2026-08-24. All five M07
|
||
steps are complete; BAT-002 live simulation and later pages remain outside this
|
||
closed milestone.
|
||
|
||
Ordered checks:
|
||
|
||
1. Build BAT-001 from the reconstruction spec using the clean accepted field,
|
||
exact RSK-002 Party snapshot and committed enemy offer.
|
||
2. Keep the complete Company line, compact ordinary-unit scale, enemy-facing
|
||
corridor, top status rail and bottom Company rail readable at the required
|
||
landscape sizes.
|
||
3. Require explicit Start Observation, preserve the original receipt exactly
|
||
once and hand off to BAT-002 without advancing a tick or mutating Company.
|
||
4. Run focused behavior/input/responsive checks through the source-bound
|
||
attempt runner with strict diagnostics and retain the four normal 100%
|
||
captures.
|
||
5. Owner reviewed and accepted the actual-size candidate and truthful BAT-002
|
||
stopping boundary on 2026-08-24.
|
||
|
||
Frozen scope: no new image generation, asset generation, live battle
|
||
timeline, combat simulation, result/recovery UI, new content, economy changes,
|
||
second-cycle management, device validation, packaging, store submission,
|
||
release or unrelated cleanup.
|
||
|
||
Commit boundary: the reconstruction package is closed in source `7fccbbc`.
|
||
Runtime implementation is committed in `f892bb6`; focused source-bound behavior
|
||
and capture evidence are retained under the four `bat001-*` attempt families
|
||
before the now-closed Owner Runtime review step. The Owner acceptance is
|
||
recorded in the BAT-001 verification package.
|
||
|
||
## BAT-002 Specification Issue Register
|
||
|
||
- `BAT002-SPEC-01` `RESOLVED_SPEC_READY`: BAT-002 `page-contract.json` and
|
||
`state-matrix.json` reconcile the accepted BAT-001 receipt with the
|
||
authoritative automatic-battle rules. They define live actor/target/event
|
||
readability, exact `Waiting for next event` empty state, invalid-event pause,
|
||
BAT-003/004/005/006 handoffs and the OUT-001 stopping boundary. JSON, six
|
||
focused assertions, design-contract and predevelopment checks pass.
|
||
|
||
## Closed BAT2-1 Plan
|
||
|
||
`M08_BAT002_LIVE_BATTLE_SPEC` owned only the BAT-002 page contract and state
|
||
matrix. The player-visible stopping point is a readable automatic battle
|
||
surface reached from the accepted BAT-001 receipt: objective, encounter-only
|
||
knockout rule, complete Party/enemy relation, current urgent cause, live actor
|
||
state, source/target relation and recent event sequence remain visible while
|
||
the deterministic timeline runs. Pause, legal speed, inspect and retreat entry
|
||
are diagnostic controls only; there is no manual attack or skill command. The
|
||
page stops when the immutable outcome is ready for OUT-001 and does not render
|
||
result, reward or recovery UI.
|
||
|
||
Ordered checks:
|
||
|
||
1. Author `BAT-002` `page-contract.json` and `state-matrix.json` from the
|
||
accepted BAT-001 receipt and current gameplay/UX/art authority.
|
||
2. Define normal `100%` landscape anchors, zh_CN/en text ownership, touch/
|
||
keyboard/controller focus, reduced-motion/flash/low-power behavior and
|
||
explicit BAT-003/004/005/006 handoffs.
|
||
3. Require the exact no-current-event copy `Waiting for next event`; invalid
|
||
event data pauses and offers Retry Snapshot or Safe Exit; backgrounding
|
||
freezes simulation and routes through BAT-006.
|
||
4. Validate JSON, the complete design contract, predevelopment authority and
|
||
focused BAT-002 static assertions.
|
||
5. Commit and push the specification package before activating authority
|
||
reconstruction, assets or Runtime. BAT2-1 remains the closed boundary until
|
||
that push is remote-visible.
|
||
|
||
Frozen scope: no image generation, page reconstruction, Runtime edits,
|
||
authoritative battle-rule replacement, new content, economy change, BAT-003
|
||
inspect implementation, BAT-004 pause overlay, BAT-005 retreat confirmation,
|
||
BAT-006 resume review, OUT-001 result UI, second-cycle management, device
|
||
validation, packaging, stores, release or unrelated cleanup.
|
||
|
||
Commit boundary: one focused BAT-002 specification commit after the separate
|
||
plan-activation source `53490a1`. No later step becomes active in that commit.
|
||
Final handoff: `ABG BAT-002 SPEC READY`.
|
||
|
||
## BAT-002 Authority Issue Register
|
||
|
||
- `BAT002-AUTHORITY-01` `RESOLVED_APPROVED_EXISTING`: The accepted
|
||
`05_battle_ui_japanese_scale.png` and `phase6_battle_scale_04` proof are copied
|
||
byte-for-byte into the BAT-002 approved v001 package. Hashes, focal regions,
|
||
dynamic ownership and explicit rejections preserve both full lines,
|
||
ordinary-unit scale, central action gap, top status/control rails,
|
||
urgent-event geometry and bottom actor-state rail. Historical `show_battle()`
|
||
and static BAT-001 Runtime remain functional/neighboring provenance only.
|
||
|
||
## Closed BAT2-2 Plan
|
||
|
||
`M08_BAT002_LIVE_BATTLE_AUTHORITY` owned only page-specific reconciliation of
|
||
the existing Owner-approved live-battle reference and full-party scale proof.
|
||
It does not generate a new design or start deconstruction, assets or Runtime.
|
||
|
||
Ordered checks:
|
||
|
||
1. Copy the accepted live-battle reference and full-party scale proof into a
|
||
page-specific approved v001 package without modifying either image.
|
||
2. Record hashes, original repository sources, Owner authority, focal regions,
|
||
live-state dynamic ownership and explicit rejected alternatives.
|
||
3. Confirm the reference retains complete Party/enemy lines, ordinary actor
|
||
scale, action gap, compact top controls and bottom actor-state rail at normal
|
||
`100%` landscape size.
|
||
4. Run focused authority/hash/static checks, design-contract and predevelopment
|
||
validation, then rebuild Gallery.
|
||
5. Commit and push the authority package before BAT2-3 deconstruction becomes
|
||
`IN_PROGRESS`. BAT2-2 remains closed until the push is remote-visible.
|
||
|
||
Frozen scope: no new image generation, image editing, deconstruction board,
|
||
runtime assets, Godot changes, battle-rule/economy/content changes, later-page
|
||
implementation, device validation, packaging, stores, release or unrelated
|
||
cleanup.
|
||
|
||
Commit boundary: one focused authority package and push after specification
|
||
source `7ededea`. Final handoff: `ABG BAT-002 AUTHORITY READY`.
|
||
|
||
## BAT-002 Reconstruction Issue Register
|
||
|
||
- `BAT002-DEC-01` `RESOLVED_OWNER_ACCEPTED`: the Owner replied `OK` on
|
||
2026-08-24 after reviewing the final deconstruction board and asset contact
|
||
sheet. The accepted live-battle composition, complete-line scale, layer
|
||
ownership, engine slots, hit areas and existing-asset provenance are closed.
|
||
No Runtime code or battle simulation was part of BAT2-3.
|
||
|
||
Machine evidence: BAT-002 reconstruction/spec/authority assertions pass
|
||
`17/17`; reusable page preflight passes `32/32`; design-contract,
|
||
predevelopment and 50-page Gallery builds pass. The clean field remains
|
||
byte-identical to the accepted BAT-001 clean master, no generated player asset
|
||
exists, and the deconstruction/asset package is `human_reviewed`. Runtime,
|
||
device and release states remain false.
|
||
|
||
## Closed BAT2-3 Plan
|
||
|
||
`M08_BAT002_LIVE_BATTLE_RECONSTRUCTION` owns only the BAT-002 v001
|
||
deconstruction and reconstruction handoff. Its player-visible stopping point
|
||
is a reviewable live-battle composition with a continuous painted field,
|
||
complete Party/enemy lines, central action gap, compact top controls, bottom
|
||
actor-state rail and subject-attached event geometry. The deterministic
|
||
timeline begins only in BAT2-4.
|
||
|
||
Ordered checks:
|
||
|
||
1. Inspect the approved master and scale proof at source size, then record the
|
||
deconstruction board, focal bounds, normalized layer ownership and dynamic
|
||
regions. Static art, Runtime overlays and hit-area-only regions must have one
|
||
owner each.
|
||
2. Author engine-owned text slots for objective, actor/target/event state,
|
||
timer, playback, waiting/error and OUT-001 handoff copy in `zh_CN` and `en`
|
||
at normal `100%`; author independent hit areas, focus order and non-
|
||
interactive field regions with 48 logical px minimum targets.
|
||
3. Reuse the accepted clean Windglass field, existing Recruit/enemy families
|
||
and engine-drawn battle chrome only. Record hashes, source paths, dynamic
|
||
masks/regions, animation/VFX event bindings, contact sheet and runtime asset
|
||
manifest; do not generate or edit player-facing imagery.
|
||
4. Run focused BAT-002 reconstruction assertions, page preflight,
|
||
design-contract/predevelopment validation and Gallery build. Source
|
||
`f9f50cd` is remote-visible; the Owner accepted the final deconstruction and
|
||
zero-generation asset package on 2026-08-24.
|
||
|
||
Frozen scope: no image generation/editing, Godot Runtime or battle-rule
|
||
changes, live simulation, BAT-003/004/005/006, OUT-001, content/economy,
|
||
device/package/store/release work or unrelated cleanup. Runtime code remains
|
||
frozen until BAT2-4 is separately activated.
|
||
|
||
Commit boundary: activation is source `2e18f63`; the focused package is source
|
||
`f9f50cd`. This Owner acceptance closure records
|
||
`ABG BAT-002 RECONSTRUCTION READY`; it does not activate BAT2-4.
|
||
|
||
## BAT-002 Runtime Issue Register
|
||
|
||
- `BAT002-RUNTIME-01` `RESOLVED_SERVICE_PASS`: source `2d4d5a7` adds a
|
||
backward-compatible receipt-bound observation path. The historical
|
||
`advance_battle()` settles immediately at its final phase and mutates Coin,
|
||
XP, Recruit history and settlement receipts; BAT-002 now uses separate
|
||
begin/preview/commit/retry operations, validates event and journal hashes and
|
||
stops at an immutable outcome lock. The focused service attempt and legacy
|
||
DEV-5 settlement regression pass with strict diagnostics 0.
|
||
- `BAT002-RUNTIME-02` `RESOLVED_FIELD_PASS`: source `950b32e` replaces the
|
||
rejected card/container surface with the accepted contained field, complete
|
||
four-member Party and three-enemy lines, central event projection and ordered
|
||
actor-state rail. The exact English waiting copy, sparse waiting density,
|
||
normal `100%` responsive layouts, 48px targets, Settings return and no-hidden-
|
||
tick handoff pass with strict diagnostics 0.
|
||
- `BAT002-RUNTIME-03` `RESOLVED_TIMELINE_PASS`: historical
|
||
`battle_runtime_test.gd` expects immediate autoplay, active pause and 1x/2x
|
||
controls on the rejected card UI. Its settlement semantics remain covered by
|
||
`battle_foundation_test.gd`; timeline, pause and legal 1x/2x/4x behavior now
|
||
run on the accepted field in `battle_live_timeline_test.gd` without restoring
|
||
the old surface. Source `0de6c7a`; strict timeline, field, BAT-001,
|
||
observation-service and legacy DEV-5 regressions pass.
|
||
- `BAT002-RUNTIME-04` `RESOLVED_IMPLEMENTATION_CLOSURE`: BAT2-4C is implemented
|
||
and source `0de6c7a` passes the combined source-bound field, timeline,
|
||
BAT-001, observation-service and legacy DEV-5 closure attempt with strict
|
||
diagnostics 0. The implementation record moves BAT-002 to
|
||
`IMPLEMENTED_AWAITING_OWNER_RUNTIME_REVIEW`.
|
||
- `BAT002-RUNTIME-05` `RESOLVED_SOURCE_BOUND_CANDIDATE`: source `fea2ae9`
|
||
passes the owned candidate runner with four normal 100% fixtures and 40
|
||
captures; marker `ABG_BAT002_CANDIDATE_OK` appears exactly once, strict
|
||
diagnostics are 0, and the archive SHA-256 is
|
||
`a00f1b915f34ec9ac84b955ffc2eab7313830bcfccb9c1c1f79d4651161fb7d0`.
|
||
Representative captures and the complete archive record are under the
|
||
BAT-002 verification package, but the Owner rejected their visual fidelity;
|
||
they remain functional provenance only.
|
||
- `BAT002-RUNTIME-06` `OWNER_REJECTED_VISUAL_FIDELITY`: the candidate replaced
|
||
the approved asymmetric blue/red status rails and centered ivory control
|
||
ribbon with plain blocks, replaced the portrait-led Company rail with a
|
||
text-heavy strip and oversized Retreat block, and used a debug-like event
|
||
band instead of actor-attached event language. Automated PASS results do not
|
||
overrule this visual rejection.
|
||
- `BAT002-RUNTIME-07` `OPEN_APPROVED_DESIGN_RECONSTRUCTION`: BAT2-4E owns the
|
||
visual repair against the approved master. Functional timeline, receipt,
|
||
hashes and later-page boundaries remain frozen. No later battle page or
|
||
settlement work is authorized.
|
||
- `BAT002-RUNTIME-08` `RESOLVED_APPROVED_DESIGN_RECONSTRUCTION`: source
|
||
`189c20b` restores the approved asymmetric rails, centered ivory controls,
|
||
portrait-led actor-state rail and actor-attached event projection without
|
||
changing battle semantics. Field and Timeline markers, four normal 100%
|
||
capture fixtures, 17 focused static assertions and 32/32 package preflight
|
||
checks pass with strict diagnostics 0. The visual-repair record is
|
||
`docs/design-authority/pages/BAT-002-live-battle/verification/visual-repair.json`;
|
||
BAT2-5 source-bound verification is complete and BAT2-6 is the next active
|
||
boundary.
|
||
- `BAT002-RUNTIME-09` `RESOLVED_SOURCE_BOUND_REPAIR_CANDIDATE`: source
|
||
`189c20bc4a97071577b43912ebd49bc6d4a3be30` passes fresh-archive import,
|
||
`ABG_DEV5_BATTLE_LIVE_FIELD_OK` and `ABG_DEV5_BATTLE_TIMELINE_OK` exactly
|
||
once, plus `ABG_BAT002_CANDIDATE_OK` exactly once with 40 normal `100%`
|
||
captures across the four required fixtures. All terminals report strict
|
||
diagnostics 0 and the retained 45-file candidate archive SHA-256 is
|
||
`165b35d9c5869bf335858011aa40683357758a982efe5f451a9aa3f733d918a9`.
|
||
Full attempt records are in `pages/BAT-002-live-battle/verification/source-bound.json`.
|
||
- `BAT002-RUNTIME-10` `OPEN_OWNER_RUNTIME_REVIEW`: BAT2-6 owns actual-size
|
||
review of the repaired source-bound candidate. Acceptance must confirm the
|
||
complete Party/enemy relation, normal `100%` readability and truthful
|
||
BAT-003/004/005/006 plus OUT-001 boundaries; no later page or settlement
|
||
work is authorized before this gate closes.
|
||
- `BAT002-RUNTIME-11` `RESOLVED_OWNER_ACCEPTED`: the Owner confirmed the
|
||
repaired source-bound Runtime with `这个OK啊` on 2026-08-24 at actual size.
|
||
The four-member Company/three-enemy relation, approved blue/red faction
|
||
rails, centered ivory controls, continuous portrait-led actor rail and
|
||
actor-attached event language are accepted at normal `100%`. Strict
|
||
source-bound diagnostics remain `0`; BAT-003/004/005/006 and OUT-001 stay
|
||
truthful boundaries, with no reward, recovery, settlement or next-stage
|
||
mutation. The acceptance record is
|
||
`pages/BAT-002-live-battle/verification/owner-acceptance.md`.
|
||
|
||
## BAT2 Runtime Plan (Closed)
|
||
|
||
`M08_BAT002_LIVE_BATTLE_RUNTIME` owns only the bounded first live-observation
|
||
Runtime reconstructed from the accepted BAT-002 package. The player-visible
|
||
stopping point is the accepted contained battlefield with the complete Party
|
||
and enemy lines, ordinary-unit scale, central action corridor, compact rails
|
||
and an engine-owned automatic event timeline. The player can read forecast,
|
||
commit, source-to-target resolution and stable aftermath for melee/damage,
|
||
ranged, magic, healing, guard, enemy pressure and knockout, use diagnostic
|
||
controls, and stop at an immutable OUT-001 handoff. BAT-002 never applies
|
||
reward, recovery, next-stage or Company-management operations.
|
||
|
||
Ordered substeps:
|
||
|
||
1. `BAT2-4A` `COMPLETE` - add a backward-compatible observation service
|
||
bound to the original operation, snapshot and single battle receipt. Begin
|
||
observation without advancing a tick; preview and commit deterministic
|
||
events with stable identity/order/hash validation; persist an
|
||
`outcome_locked` record without settlement. Prove idempotency, corruption
|
||
rejection, no reward/history mutation and legacy DEV-5 settlement
|
||
compatibility in a focused service test.
|
||
Source `2d4d5a7`; the final worktree service attempt is
|
||
`/private/tmp/aetherbound-guild-test-evidence/bat002-observation-service-worktree/20260824T044254Z-46139`
|
||
and the separate legacy attempt is
|
||
`/private/tmp/aetherbound-guild-test-evidence/bat002-observation-legacy-dev5-worktree/20260824T044215Z-45630`.
|
||
2. `BAT2-4B` `COMPLETE` - replace the historical card/container `show_battle()`
|
||
surface with the accepted contained 16:9 layered field. Bind all four Party
|
||
actors, the committed enemy line, objective/rules, actor-state rail and
|
||
reserved event geometry to the validated observation snapshot; keep exact
|
||
`Waiting for next event` copy and 48px targets at the required landscapes.
|
||
Source `950b32e`; the final normal-render worktree attempt is
|
||
`/private/tmp/aetherbound-guild-test-evidence/bat002-live-field-final-worktree/20260824T052342Z-74920`.
|
||
BAT-001 handoff, observation-service and historical settlement regressions
|
||
pass separately with strict diagnostics 0.
|
||
3. `BAT2-4C` `COMPLETE` - connect forecast/commit/resolving/resolved timing and
|
||
diagnostic-only pause, legal 1x/2x/4x speed, inspect, Settings and retreat
|
||
entries. Add invalid-event Retry Snapshot/Safe Exit, interruption BAT-006
|
||
handoff and immutable OUT-001 handoff states without implementing those
|
||
neighboring pages. Source `0de6c7a`; playback-speed invariance and frozen
|
||
pause/error/interruption behavior pass.
|
||
4. `BAT2-4D` `COMPLETE` - run the focused service/Runtime/input/responsive
|
||
regression set, record the implementation boundary and move the page only
|
||
to `IMPLEMENTED_AWAITING_OWNER_RUNTIME_REVIEW`. Source
|
||
`0de6c7a723ebec5d4202966c926b8fac0fb3332f`; combined source-bound attempt:
|
||
`/private/tmp/aetherbound-guild-test-evidence/bat002-closure-source-bound/20260824T071013Z-49976`.
|
||
5. `BAT2-4E` `COMPLETE` - source `189c20b` reconstructs the approved battle
|
||
presentation in Runtime: asymmetric blue/red crest endcaps and beveled
|
||
faction rails; centered ivory pause/speed/inspect ribbon; a continuous
|
||
dark-gold bottom rail with event/timer module, numbered portrait cards,
|
||
HP/resource/status slots and a compact boundary command; field-attached
|
||
objective/event facts, source-target paths, urgent markers and floating
|
||
values. Focused visual-repair evidence passes without changing battle
|
||
semantics.
|
||
6. `BAT2-5` `COMPLETE` - source-bound verification from
|
||
`189c20bc4a97071577b43912ebd49bc6d4a3be30` runs fresh import, Field,
|
||
Timeline and four normal `100%` fixtures. The three PASS attempts, exact
|
||
markers, 40 captures and archive hash are recorded in
|
||
`verification/source-bound.json`; the `fea2ae9`/`aa6e0c4` captures remain
|
||
rejected visual provenance.
|
||
7. `BAT2-6` `COMPLETE` - the Owner accepted the repaired actual-size candidate
|
||
with `这个OK啊` on 2026-08-24. BAT-002 is closed at the immutable OUT-001
|
||
handoff; later pages remain frozen until separately planned.
|
||
|
||
Acceptance checks: the approved master remains the visual authority; top rail
|
||
silhouette/material hierarchy, centered control ribbon, field dominance,
|
||
ordinary actor scale, continuous portrait-led bottom rail and actor-attached
|
||
event language must read as the same UI family at actual size. Also preserve
|
||
one original receipt and unchanged snapshot identity;
|
||
event-preview/commit hashes and order; no Coin, XP, Recruit-history,
|
||
settlement, recovery or next-stage mutation; exact required state names and
|
||
waiting copy; complete Party/enemy lines and accepted scale; contained 16:9 at
|
||
`760x360`, `844x390` and `1280x720` in `zh_CN`/`en` at normal `100%`; touch,
|
||
keyboard/controller focus and 48px targets; strict Godot diagnostics; preserved
|
||
BAT-001 handoff and legacy DEV-5 settlement regressions.
|
||
|
||
Owned paths: `runtime/entry/battle_service.gd`,
|
||
`runtime/entry/entry_shell.gd`, a BAT-002-specific engine-art helper under
|
||
`runtime/entry/`, focused BAT-002 tests under `runtime/tests/dev5/`, the
|
||
BAT-002 page implementation/verification records, and the BAT-002 entries in
|
||
this checkpoint and `docs/06_DEVELOPMENT_AND_REVIEW.md`.
|
||
|
||
Forbidden paths: `runtime/domain/p9_2/` and its historical pixel presenter;
|
||
approved/reconstruction PNG editing; new image/audio generation; BAT-003,
|
||
BAT-004, BAT-005, BAT-006 or OUT-001 page implementation; reward, XP, recovery,
|
||
next-stage, content/economy or Save-schema replacement; device/package/store/
|
||
release work; unrelated cleanup. Do not stage or delete untracked `.uid`,
|
||
`.import` or `prototype_incremental/` files.
|
||
|
||
Commit boundaries: this plan/checkpoint activation was pushed before BAT2-4A
|
||
product edits. Each substep receives its narrowest focused verification and
|
||
focused pushed commit before the next substep becomes `IN_PROGRESS`; a failed
|
||
check leaves the current substep active. BAT2-4D closes at source `0de6c7a`;
|
||
the `fea2ae9`/`aa6e0c4` candidate is retained as visually rejected provenance.
|
||
This rejection/repair activation was pushed before BAT2-4E product code.
|
||
BAT2-4E closes at focused visual-repair commit `189c20b`; BAT2-5 closes with
|
||
the fresh source-bound attempts recorded in `verification/source-bound.json`.
|
||
BAT2-6 closes with the Owner acceptance record in
|
||
`verification/owner-acceptance.md`. Final BAT2-4 handoff remains
|
||
`ABG BAT-002 RUNTIME IMPLEMENTED`; no neighboring page or settlement work is
|
||
authorized without a separately activated durable plan.
|
||
|
||
## Next Action
|
||
|
||
M31 MVP Release Readiness is complete. The local first-cycle candidate passes
|
||
the fresh source-bound audit, DEV-5 candidate regressions, M27-M30 controller
|
||
boundaries and normal `100%` visual inspection. The shortest next action is an
|
||
Owner decision on the remaining human/device/audio/package gates. iOS
|
||
project/export, signing, store and release work require a separate explicit
|
||
authorization and durable plan; second-cycle repair remains outside M31.
|
||
|
||
Historical milestone closure:
|
||
|
||
M09, M10 and M11 `BAT-003`/`BAT-004` are closed. M12 `OUT-001..004` is
|
||
closed at source `f632002` with domain, Runtime and candidate capture markers
|
||
passing under `tools/run_test_attempt.py`. M13 then completed the source-bound
|
||
first-cycle audit at `e68f888`, M14 cleanup is complete, M15 Runtime
|
||
Foundation is closed at `b5c78fd`, and M16 Company Page Pilot is closed at
|
||
`fa525e6`. M17 Market Controller Pilot is complete at source `dd38db6`, and
|
||
M18 Recruit Review Controller Pilot is complete at source `4a8a004`. M19
|
||
Contract Choice Controller Pilot is complete at source `deac574`; its focused
|
||
controller/regression attempt, four-fixture normal `100%` capture attempt and
|
||
full source-bound MVP first-cycle audit all pass with exact-once markers,
|
||
strict diagnostics `0`, 128 normal frames and owned workspace cleanup. M20
|
||
Guild Controller Pilot is complete at source `1323f23`; its focused
|
||
controller/runtime/regression and full source-bound MVP audit pass with
|
||
exact-once markers, strict diagnostics `0`, Guild captures and owned
|
||
workspace cleanup. M21 Party Line Controller Pilot is complete at source
|
||
`0c44800`; its focused controller/runtime/regression and full source-bound MVP
|
||
audit pass with exact-once markers, strict diagnostics `0`, 24 focused
|
||
Party/Formation capture frames, 128 normal MVP frames and owned workspace
|
||
cleanup. M22 Readiness Controller Pilot is complete at source `ab83290`;
|
||
its activation boundary is source `0098b5b`, controller source `6647b05`, and
|
||
the accepted PTY-002 View integration, focused DEV-4 candidate and full
|
||
source-bound MVP audit all pass with exact-once markers, strict diagnostics
|
||
`0`, 24 focused normal `100%` frames, 128 normal MVP frames and owned
|
||
workspace cleanup. M23 Risk Board Controller Pilot is complete at source
|
||
`8ac91f2`; its activation boundary is source `2cf4f56`, controller source
|
||
`b37f60c`, and the accepted RSK-001 View integration, focused DEV-4 candidate
|
||
and full source-bound MVP audit all pass with exact-once markers, strict
|
||
diagnostics `0`, 24 focused normal `100%` frames, 128 normal MVP frames and
|
||
owned workspace cleanup. M24 Risk Commitment Controller Pilot is complete at
|
||
source `9518e2e`; its activation boundary is source `e8825f7`, controller
|
||
source `3e80083`, and the accepted RSK-002 View integration, focused candidate
|
||
and full source-bound MVP audit all pass with exact-once markers, strict
|
||
diagnostics `0`, 24 focused normal `100%` frames, 128 normal MVP frames and
|
||
owned workspace cleanup. M25 Battle Opening Controller Pilot is complete at
|
||
source `3a0c066`; its activation, controller, View integration, focused
|
||
candidate and full MVP first-cycle audit all pass with exact-once markers,
|
||
strict diagnostics `0`, 128 normal MVP frames and owned workspace cleanup.
|
||
M26 Battle Live Controller Pilot is complete at source `2c872f9`; M27-A is
|
||
complete at source `26fa8b7`, M27-B is complete at source `d26a03e`, M27-C is
|
||
complete at source `a3f31e2` and M27-D closes at source `aa8d63b` under its
|
||
own durable plan. M28 is the next explicitly activated OUT-002 architecture
|
||
seam under `docs/plans/M28_KNOCKOUT_REVIEW_CONTROLLER_PILOT.md`.
|
||
- M26 is the bounded BAT-002 Live Battle Controller migration. Its activation
|
||
plan is `docs/plans/M26_BATTLE_LIVE_CONTROLLER_PILOT.md`; `M26-A` records the
|
||
stopping point, observation/receipt invariants and forbidden scope before
|
||
BAT-002 product code changes; `M26-B` is complete at source `31ed44f`,
|
||
`M26-C` at `37b5032` and `M26-D` closes at `2c872f9`. Its source-bound
|
||
controller/View attempt
|
||
`/private/tmp/aetherbound-guild-test-evidence/m26-battle-live-controller-focused/20260825T101026Z-61009`
|
||
passes exact-once `ABG_M26_BATTLE_LIVE_CONTROLLER_OK`,
|
||
`ABG_DEV5_BATTLE_UI_OK` and `ABG_DEV5_CANDIDATE_SUITE_OK`, strict
|
||
diagnostics `0`, observation/BAT-003/004 regressions and owned
|
||
workspace/process cleanup (archive SHA-256
|
||
`961dcc73e3abeb7b8ce420e582f838fe3abceb1c39b7048a5d650b379aeebefd`).
|
||
The full source-bound MVP first-cycle audit
|
||
`/private/tmp/aetherbound-guild-test-evidence/m26-mvp-audit/20260825T102223Z-72665`
|
||
passes exact-once `ABG_MVP_FIRST_CYCLE_AUDIT_OK` with 180 evidence files,
|
||
128 normal `100%` frames across `zh_CN`/`en` and `760x360`, `844x390`,
|
||
`1280x720`, strict diagnostics `0`, parsed touch coverage, restart-to-Market
|
||
and owned workspace/process cleanup (archive SHA-256
|
||
`cf905fbf5f03301d0078e619b1abc40e352204a25e82a952d25172849bd05df5`). The
|
||
scope is limited to
|
||
copied observation/battle/Party/enemy/event view data, playback-state
|
||
classification and diagnostic command eligibility; accepted BAT-002
|
||
composition, timeline semantics, interruption boundaries and OUT-001
|
||
handoff remain frozen.
|
||
- M27 is the completed bounded OUT-001 Battle Result Controller migration. Its
|
||
activation plan is `docs/plans/M27_BATTLE_RESULT_CONTROLLER_PILOT.md`; `M27-A`
|
||
is complete at source `26fa8b7`, `M27-B` is complete at source `d26a03e`,
|
||
`M27-C` is complete at source `a3f31e2`, and `M27-D` closes at source
|
||
`aa8d63b` after the source-bound verification/handoff boundary. The scope is limited to copied
|
||
result/decisive-event/causal/reward-draft/knockout view data and Continue
|
||
eligibility; accepted OUT-001 composition and downstream Recovery semantics
|
||
remain frozen.
|
||
- M28 is the completed bounded OUT-002 Knockout Review Controller migration. Its
|
||
activation plan is `docs/plans/M28_KNOCKOUT_REVIEW_CONTROLLER_PILOT.md`;
|
||
`M28-A` records the settled-result, knockout identity, battle-local return
|
||
and reward/recovery continuation invariants before any OUT-002 product code
|
||
changes. The scope is limited to copied knockout view data and
|
||
acknowledgement target eligibility; accepted OUT-002 composition and
|
||
downstream Reward/Recovery semantics remain frozen.
|
||
- M29 is the completed bounded OUT-003 Reward Choice Controller migration. Its
|
||
activation plan is `docs/plans/M29_REWARD_CHOICE_CONTROLLER_PILOT.md`;
|
||
`M29-A` records the settled-result, open-draft, option identity and
|
||
claim/skip invariants before any OUT-003 product code changes. The scope is
|
||
limited to copied reward-choice view data and command eligibility; accepted
|
||
OUT-003 composition and downstream Recovery semantics remain frozen.
|
||
- M30 is the bounded OUT-004 Recovery Controller migration. Its activation
|
||
plan is `docs/plans/M30_RECOVERY_CONTROLLER_PILOT.md`; `M30-A` records the
|
||
settled-result, reward-completion, stable-identity and one-recovery-receipt
|
||
invariants before any OUT-004 product code changes. The scope is limited to
|
||
copied recovery view data and Commit/Market eligibility; accepted OUT-004
|
||
composition and downstream Market semantics remain frozen.
|
||
Second-cycle systems/content, broader region/endgame production, device,
|
||
package, signing, store/release and human comprehension/fun gates remain
|
||
outside M31 and require their own explicitly activated durable plan or Owner
|
||
gate.
|
||
|
||
### 2026-08-25 - M34 Knockout Review Page View Refactor Activated
|
||
|
||
- The Owner asked to continue splitting page Views after the M33 Reward Choice
|
||
pilot. `M34_KNOCKOUT_REVIEW_PAGE_VIEW_REFACTOR` is now the sole active plan
|
||
in `docs/plans/M34_KNOCKOUT_REVIEW_PAGE_VIEW_REFACTOR.md`.
|
||
- M34 targets only OUT-002 Knockout Review. It preserves the M28-accepted
|
||
settled result, battle-local knockout identity/gap, Recruit portrait and
|
||
identity facts, Back/Acknowledge controls and Reward Choice/Recovery routes.
|
||
`ABGKnockoutReviewPageView` will own Godot nodes and explicit intents;
|
||
EntryShell remains the composition root and the controller remains the
|
||
copied-facts authority.
|
||
- M34-A freezes the `_readiness_member()` presentation boundary, exact node
|
||
names, forbidden imports and M28 normal-capture equivalence target before
|
||
Runtime product code changes. Result, Reward Choice, Recovery, Market and
|
||
Battle Views remain outside this plan.
|
||
- M34-A is complete at source `9bbdbb9`; M34-B is complete at source
|
||
`7a4c1ca` (product integration; docs recorded at `d6208d8`). The extracted
|
||
UI-only Knockout Review View preserves the accepted node tree,
|
||
portrait/identity presentation and deferred `back`/`acknowledge` intent
|
||
wiring. M34-C is complete at source `4c7a0ac`; M34-D closes at source
|
||
`5b811fb` with the source-bound audit and final handoff. No later page
|
||
migration is active.
|
||
|
||
### 2026-08-25 - M34 Knockout Review View Verification Complete
|
||
|
||
- M34-C passes at source `4c7a0ac55b2825ccf3d24ebac6ebb9e33e1267ef`. The
|
||
source-bound View contract, M28/M29/M30 controller and M12/DEV-5 route
|
||
regressions, DEV-5 candidate and full MVP first-cycle audit all pass with
|
||
exact-once markers, strict diagnostics `0`, parsed touch, owned cleanup and
|
||
normal `100%` frames.
|
||
- The four Knockout Review captures are byte-identical to the M28 baseline at
|
||
`760x360`/`zh_CN`, `844x390`/`en`, `1280x720`/`zh_CN` and
|
||
`1280x720`/`en`. Evidence is recorded in
|
||
`docs/runtime/M34_KNOCKOUT_REVIEW_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||
- M34-D closes at source `5b811fb` with the source-bound audit, byte-level
|
||
equivalence record and ordered next-extraction map. No next page migration
|
||
is activated here; a new durable plan is required.
|
||
|
||
### 2026-08-25 - M34 Knockout Review View Pilot Closed
|
||
|
||
- M34-D closes at source `5b811fb`. OUT-002 Knockout Review is now a passive
|
||
`ABGKnockoutReviewPageView` with explicit deferred `back`/`acknowledge`
|
||
intents, while controller, settlement, Reward/Recovery routes and Battle
|
||
semantics remain unchanged.
|
||
- The source-bound contract, regressions, DEV-5 candidate, MVP audit and
|
||
four-fixture byte-equivalence evidence are recorded in
|
||
`docs/runtime/M34_KNOCKOUT_REVIEW_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||
- M34 is complete. At closure no later migration was active; M35 is now
|
||
separately activated under its own Owner-authorized durable plan.
|
||
|
||
### 2026-08-25 - M35 Battle Result Page View Refactor Activated
|
||
|
||
- M34 Knockout Review View is closed. The next Owner-requested architecture
|
||
milestone is `M35_BATTLE_RESULT_PAGE_VIEW_REFACTOR`, with its durable plan
|
||
under `docs/plans/`.
|
||
- M35 targets only OUT-001 Battle Result. It preserves the M27-accepted
|
||
outcome, causal chain, decisive event, Coin/XP totals, Knockout summary,
|
||
diagnosis toggle, Continue target and normal `100%` presentation.
|
||
- M35-A was the sole active step at activation. Result View extraction, Risk,
|
||
Reward, Recovery, Market and live Battle Views remain outside this plan.
|
||
|
||
### 2026-08-25 - M35 Battle Result View Extraction Started
|
||
|
||
- M35-A closes at source `37d1731`, freezing the OUT-001 Result composition,
|
||
UI-only formatting boundary, exact node names, forbidden imports and M27
|
||
normal-capture equivalence target.
|
||
- M35-B was the sole `IN_PROGRESS` step during extraction. It added only
|
||
`ABGBattleResultPageView` and deferred `diagnosis`/`continue` intent wiring;
|
||
settlement, Reward/Knockout/Recovery routes and Save semantics remain frozen.
|
||
|
||
### 2026-08-25 - M35 Battle Result View Verification Complete
|
||
|
||
- M35-B/C pass at source `7ba4326c508d500d41ec115415833bdd0cf697ae`. The
|
||
source-bound View contract, M27/M28/M29/M30 controller and M12/DEV-5 route
|
||
regressions, DEV-5 candidate and full MVP first-cycle audit all pass with
|
||
exact-once markers, strict diagnostics `0`, parsed touch, owned cleanup and
|
||
normal `100%` frames.
|
||
- The four Battle Result captures are byte-identical to the M27 baseline at
|
||
`760x360`/`zh_CN`, `844x390`/`en`, `1280x720`/`zh_CN` and
|
||
`1280x720`/`en`. Evidence is recorded in
|
||
`docs/runtime/M35_BATTLE_RESULT_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||
- M35-D closes at source `4a2bb82` with the source-bound audit, byte-level
|
||
equivalence record and final handoff. No next page migration was activated
|
||
at closure; a new durable plan is required.
|
||
|
||
### 2026-08-25 - M35 Battle Result View Pilot Closed
|
||
|
||
- M35-D closes at source `4a2bb82`. OUT-001 Battle Result is now a passive
|
||
`ABGBattleResultPageView` with explicit deferred `diagnosis`/`continue`
|
||
intents, while controller, settlement, Reward/Knockout/Recovery routes and
|
||
Battle semantics remain unchanged.
|
||
- The source-bound contract, regressions, DEV-5 candidate, MVP audit and
|
||
four-fixture byte-equivalence evidence are recorded in
|
||
`docs/runtime/M35_BATTLE_RESULT_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||
- M35 is complete. At closure no later migration was active; any further View
|
||
migration requires a new Owner-authorized durable plan.
|
||
- Historical completed plan:
|
||
`docs/plans/M36_RISK_COMMITMENT_PAGE_VIEW_REFACTOR.md` (`COMPLETE`)
|
||
- M36-A is complete at source `e9ab79d`, freezing the RSK-002 custom 16:9 Risk
|
||
Commitment composition, exact semantic node names, six-intent command
|
||
boundary, forbidden imports and M24 normal-capture equivalence target.
|
||
M36-B is complete at the product integration source. The passive View,
|
||
normalized canvas and deferred six-intent wiring preserve the accepted
|
||
page; M36-C is complete at source `26190de` with the source-bound contract,
|
||
regressions, DEV-4 candidate, MVP audit and four-fixture byte-equivalence
|
||
evidence in `docs/runtime/M36_RISK_COMMITMENT_PAGE_VIEW_VISUAL_AUDIT.md`.
|
||
M36-D closes at source `3a82056` with the final handoff. Readiness and later
|
||
preparation Views remain outside this plan and require a new durable plan.
|
||
|
||
### 2026-08-25 - M40 Recruit Review Page View Refactor Activated
|
||
|
||
- M39 Party Line View is closed. The next Owner-requested architecture
|
||
milestone is `M40_RECRUIT_REVIEW_PAGE_VIEW_REFACTOR`, recorded in
|
||
`docs/plans/M40_RECRUIT_REVIEW_PAGE_VIEW_REFACTOR.md`.
|
||
- M40 targets only SHP-002 Recruit Review. It preserves the accepted
|
||
portrait-led static master, stable offer identity, seven engine-owned fact
|
||
slots, Company/Line impact, sourced price, Hire eligibility, same-offer
|
||
Cancel return, approved invisible `RecruitReviewSettings` hit area and
|
||
normal `100%` presentation. Hire/economy, Market, Save, localization,
|
||
packaging and 130% scope remain frozen.
|
||
- M40-A is the sole `IN_PROGRESS` step. It freezes the Controller/ViewData
|
||
boundary, forbidden imports, exact node names, three-intent command
|
||
boundary and M18 normal-capture equivalence target before product code.
|
||
No Recruit Review product code has changed in M40 yet.
|
||
|
||
### 2026-08-26 - M41 Market Page View Refactor Activated
|
||
|
||
- M40 Recruit Review View is closed. The next Owner-authorized architecture
|
||
milestone is `M41_MARKET_PAGE_VIEW_REFACTOR`, recorded in
|
||
`docs/plans/M41_MARKET_PAGE_VIEW_REFACTOR.md`.
|
||
- M41 targets only the accepted SHP-001 Market surface. It preserves the
|
||
matte/normalized 16:9 canvas, static master, `MarketLayout` identity,
|
||
Company/Line/Coin and board facts, Recruit/Equipment/Battle category rails,
|
||
stable offer selection, inspect-only review/route boundaries, Back and
|
||
Settings context and normal `100%` presentation.
|
||
- M41-A closes at source `ef29bdc`: the 2048x1152 clean master, contained
|
||
16:9 canvas, `MarketLayout` wrapper, frozen semantic node names, normalized
|
||
hit/focus anchors and Controller/ViewData boundary are recorded.
|
||
- M41-B closes at source `9a440b3`: `ABGMarketPageView` owns the accepted
|
||
matte/master/canvas, offer presentation and focus; EntryShell translates
|
||
only explicit deferred intents and the former Market UI builders are
|
||
removed. Controller, M09 Runtime, M10 Recruit Review, DEV-3 Market and Hire
|
||
focused checks pass with strict diagnostics `0`. M41-C closes at source
|
||
`b88b211`: the source-bound contract/regression suite, DEV-3 candidate and
|
||
full MVP first-cycle audit pass with strict diagnostics `0`; the M09 Market
|
||
capture set is byte-equivalent to the immutable `8d377f0` baseline at all
|
||
four normal `100%` fixtures. M41-D closes at `b88b211`; Market is complete
|
||
and no later View migration is active.
|
||
|
||
### 2026-08-26 - M45-B Market Contract Return Boundary Restored; Receipt Safety Started
|
||
|
||
- M45-B closes at source `23c9bc5`. The Market Controller now exposes copied
|
||
Contract Return command facts, `ABGMarketPageView` renders the distinct
|
||
`MarketReturnContract` action, and EntryShell translates only the deferred
|
||
`return_contract` intent into the existing Shell-owned review.
|
||
- The review defaults focus to Cancel and blocks stale or formation-locked
|
||
states with truthful notices. Existing Contract Return transaction, receipt,
|
||
Save and Guild handoff semantics remain unchanged. Focused Controller/View,
|
||
runtime and DEV-6 return checks pass with strict diagnostics `0`.
|
||
- M45-C is now the sole `IN_PROGRESS` step. It hardens receipt identity,
|
||
atomicity, retry/conflict behavior, restart persistence and pre-M45 save
|
||
compatibility; Market composition and unrelated gameplay remain frozen.
|
||
|
||
### 2026-08-26 - M45-C Contract Return Receipt Safety Verified; Candidate Handoff Started
|
||
|
||
- M45-C closes at source
|
||
`ecf0b8a6fd426baf0ecaefd0fd97ab5ae42dd853`. Receipt identity, intent,
|
||
retained roster, destination and content-hash validation are enforced;
|
||
duplicate retries are idempotent, conflicting retries and malformed receipts
|
||
are rejected without mutation, and valid pre-M45 Market saves remain
|
||
readable.
|
||
- The source-bound focused attempt
|
||
`m45-c-focused-source/20260826T060814Z-91122` passes
|
||
`ABG_M45_CONTRACT_RETURN_SAFETY_OK` exactly once with strict diagnostics `0`,
|
||
archive SHA-256
|
||
`f1d51ebaf99d28dd716182c8d46c3680641becf88b7dd550d62d7e90e26940fb`, and
|
||
complete owned process/workspace cleanup.
|
||
- M45-D is now the sole `IN_PROGRESS` step for the DEV-6 candidate, full MVP
|
||
first-cycle audit and normal `100%` Market/Contract Return/Guild capture
|
||
inspection. `130%` remains supplemental and non-blocking.
|
||
|
||
### 2026-08-26 - M45 Contract Return Repair Complete
|
||
|
||
- M45-D closes at source `0b607d657324670b06030655878462080a5a840f` after the
|
||
source-bound DEV-6 candidate, full MVP first-cycle audit and dedicated
|
||
Contract Return visual capture all pass. The candidate reports 24
|
||
second-cycle normal-render frames (with the established 130% supplemental
|
||
fixtures); the MVP audit reports 128 normal first-cycle frames;
|
||
the dedicated pass reports 12 normal `100%` Market, Contract Return Review
|
||
and returned Guild frames across `760x360`/`zh_CN`, `844x390`/`en` and
|
||
`1280x720`/`zh_CN,en`.
|
||
- Strict diagnostics are `0`, required markers appear exactly once, parsed
|
||
touch/restart checks pass, all owned process groups and workspaces are
|
||
removed, and automated 44px bounds, clipping and overlap checks pass.
|
||
- M45 is complete at its written stopping point. No new Contract, Battle,
|
||
economy, Save schema, content, packaging, device, store or release work was
|
||
started. `.uid`, `.import` and `prototype_incremental/` remain untouched.
|
||
|
||
### 2026-08-26 - M46-B Shared UI Foundation Verified; Control Migration Started
|
||
|
||
- M46-B closes at source `f736d7a`. The shared token, command factory, owned
|
||
vector icon and notice primitives are presentation-only and preserve the
|
||
existing PageView/EntryShell callbacks, semantic node names and page-specific
|
||
compositions. The Risk inheritance `UI_FONT` compatibility alias is retained.
|
||
- The source-bound attempt
|
||
`m46-ui-foundation-focused/20260826T122929Z-99785` passes
|
||
`ABG_M46_UI_FOUNDATION_OK` exactly once with strict diagnostics `0`, return
|
||
code `0`, source revision
|
||
`f736d7ac41a56feb50e9336f97faa5a6fa90c339`, and owned process/workspace
|
||
cleanup complete.
|
||
- M46-C is now the sole `IN_PROGRESS` step. It owns only the bounded migration
|
||
of repeated MVP commands, notices and Unicode command glyphs; gameplay,
|
||
economy, Save/Receipt, routing, static masters, `.uid`, `.import` and
|
||
`prototype_incremental/` remain frozen.
|
||
|
||
### 2026-08-26 - M46 MVP UI Consistency Pass Complete
|
||
|
||
- M46-C closes at source `ebc0c8f`. Market, Party, Readiness, Risk Board, Risk
|
||
Commitment, Result, Recovery and Company Views now use the shared command
|
||
state, icon and notice helpers for repeated MVP chrome while preserving
|
||
stable node names, explicit intents, focus order and page-specific layout.
|
||
- M46-D closes at source `ebc0c8f`. The eight focused View contracts, DEV-3,
|
||
DEV-4, DEV-5 and DEV-6 candidate suites, and the full MVP first-cycle audit
|
||
pass through `tools/run_test_attempt.py` with exact-once markers, strict
|
||
diagnostics `0`, parsed touch/restart and owned cleanup. The MVP audit
|
||
retains 128 normal `100%` frames; current-source Company and Contract
|
||
Return/Guild capture sets cover the remaining page-family fixtures.
|
||
- Manual review of the required `760x360`, `844x390` and `1280x720`
|
||
`zh_CN`/`en` normal captures finds no blocking clipping, overlap or focal
|
||
hierarchy regression. Evidence is recorded in
|
||
`docs/runtime/M46_UI_CONSISTENCY_VISUAL_AUDIT.md`.
|
||
- M46 is complete at its written stopping point. No later implementation step
|
||
is active; gameplay, economy, Save/Receipt, content, device, packaging,
|
||
signing, store and release work remain outside this milestone. `.uid`,
|
||
`.import` and `prototype_incremental/` remain untouched.
|