Files
aetherbound-guild/CURRENT_CHECKPOINT.md
T

138 KiB
Raw Blame History

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: M65 DEV-3R (Guild / Contract / equipment review), 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.