Files
aetherbound-guild/docs/06_DEVELOPMENT_AND_REVIEW.md
T

294 KiB
Raw Blame History

Aetherbound Guild - Development Plan And Review

Complete-game Goal, hand-drawn repair boundary, ordered implementation plan, roadmap and decision ledger.

Owner Review / Owner 审核

当前唯一执行顺序是:P0 项目总策划与规范整合、启动与首次设置、标题首页、首次四选二建立持久远征团、公会与市场、自动排阵与风险、战斗与结算、第二轮经营、八个区域、结局与通关后玩法。P0 完成前不推进页面代码;之后每一步都从启动页真实可达。

本文件是当前六份审核文档之一。历史拆分文件仅保留在 Git 历史中;文内规则、表格和 ID 仍是完整开发依据。

Repository Reset And Page Production Baseline

Status: IN_PROGRESS / M49_IOS_DEVICE_VALIDATION Active step: M49-C (local Xcode device install). M49-A closes at source c6cd45b; M49-B closes with the current iOS export configuration. 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. M48 is complete at its written stopping point; its visual audit is docs/runtime/M48_UI_LAYER_CLEANUP_VISUAL_AUDIT.md. The bounded repair of stacked UI layers and weak button affordances is complete. M49 is the owner-requested local iOS device validation path; its plan is docs/plans/M49_IOS_DEVICE_VALIDATION.md. Xcode 26.1.1 and a valid local Apple Development identity are present. The preset now exports a project-only Xcode project with automatic signing, arm64 and landscape orientation; the signed device configuration builds successfully. The local preflight found Team ID X75CUV458P; the proposed Bundle ID is com.wusu.aetherboundguild. Known iPhone entries are currently unavailable, so device install/launch remains open. Evidence is recorded in docs/runtime/M49_IOS_EXPORT_PREFLIGHT.md. M47 remains complete: M47-A closes at source 1d3a526; M47-B closes at source 57fbd67; M47-C closes at source f911095; M47-D closes at source 1a08127. M45-A closed at source a22c211; M45-B closed at source 23c9bc5; M45-C closed at source ecf0b8a; M45-D closed at source 0b607d6; M44-D closed at source 710dc6b. M43-A, M43-B and M43-C are complete at the source-bound Guild View extraction source 5220acb; the source-bound audit is recorded in docs/runtime/M43_GUILD_PAGE_VIEW_VISUAL_AUDIT.md. M44 is complete: the source-bound immutable baseline m44-company-baseline/20260826T032132Z-32104 at source 93164c87b845d3f0d6f1b64b6d1b06e7c4b8d66d passed the M16/DEV-6 checks with strict diagnostics 0, exact-once markers, eight normal 100% captures, parsed touch and owned cleanup (archive SHA-256 43028f703434b5fe59a97153635b4a4500623ce7ee317c550c08b74699bcb86d). The Company Roster and Recruit Detail Views are now integrated at source 19bf139; M44-B and M44-C/D are complete at source 687160d. The focused verification, full MVP first-cycle audit and eight-frame Company capture equivalence pass; a known baseline Contract Return failure is now the bounded M45 repair target. M45-B restored the Market command and review guard at source 23c9bc5; M45-C receipt safety closes at source ecf0b8a; M45-D candidate/verification closes at source 0b607d6. The durable M44 plan is docs/plans/M44_COMPANY_PAGE_VIEW_REFACTOR.md; M45 is complete and the M46 plan is docs/plans/M46_MVP_UI_CONSISTENCY_PASS.md. M46-B closes at source f736d7a; M46-C and M46-D close at source ebc0c8f. The final source-bound audit is recorded in docs/runtime/M46_UI_CONSISTENCY_VISUAL_AUDIT.md; M46 is complete at its written stopping point. The active M48 plan is docs/plans/M48_UI_LAYER_CLEANUP.md. The Owner-requested M47 playable UI MVP is complete at source 1a08127; its plan and visual audit are recorded in docs/plans/M47_UNIFIED_UI_MVP.md and docs/runtime/M47_UNIFIED_UI_MVP_VISUAL_AUDIT.md. No later implementation step is active. M41-D is closed at source b88b211; M41-C is closed with source-bound verification and four-fixture visual equivalence. M41-B is closed at source 9a440b3; M40-D is closed at source 9da7cac; M39-D is closed at source cf14bc8. M32-D is closed at source 30e162d; M31-D is closed at source 1455ad5; M31-A activation, M31-B automated verification and M31-C normal-render inspection are green. The visual gate is agent_visual_reviewed; the retained report is docs/runtime/M31_MVP_RELEASE_READINESS_VISUAL_AUDIT.md. Human, audio, device, package/signing, store and release gates remain open. M32 is an architecture-only migration: accepted MVP behavior, visuals, input, localization, Economy, Battle and Save semantics remain frozen. The M30 first-cycle implementation is closed at source 2556be9; this separate plan audits the local candidate before any device, package, signing, store or release work. Normal 100% landscape is the current automated visual scope; 130% text scale is not a blocker.

The repository is being reset around one explicit production contract. Product and systems design remain in the six numbered owner documents. Page-specific design authority lives in docs/design-authority/ and is tracked by repository-cleanup-manifest.json and design-index.json.

Page production rule

Every player-facing page must move through the states in docs/design-authority/page-production-contract.json in order:

SPEC_READY
-> AI_DRAFT
-> DRAFT_REVIEW
-> APPROVED_FOR_RECONSTRUCTION
-> DECONSTRUCTION_IN_PROGRESS
-> DECONSTRUCTION_REVIEW
-> ASSET_GENERATION_IN_PROGRESS
-> ASSET_REVIEW
-> RECONSTRUCTION_READY
-> IMPLEMENTATION_IN_PROGRESS
-> IMPLEMENTED_AWAITING_OWNER_RUNTIME_REVIEW
-> VERIFIED_AWAITING_OWNER_ACCEPTANCE
-> COMPLETE

An Owner rejection returns the page to the earliest failed state. Behavior, input or layout tests never close an Owner visual gate. No Godot implementation is legal before RECONSTRUCTION_READY. AI-draft approval authorizes only deconstruction; deconstruction approval authorizes only asset generation; asset approval authorizes the reconstruction package that must be complete before coding.

Each page package must preserve the page contract, state matrix, AI prompt, generation report, approved master, visual deconstruction board, layer map, text slots, responsive anchors, hit-area mapping, asset generation plan, asset contact sheet and provenance, runtime reconstruction package, implementation record, focused verification and Owner acceptance record. The HTML gallery must show AI design, deconstruction, generated assets and runtime evidence as separate inspectable artifacts. A page is not complete because a concept image exists or a headless marker passes.

Cleanup rule

docs/design-authority/repository-cleanup-manifest.json is the sole current branch cleanup register. KEEP paths are current authority or current runtime dependencies. REVIEW paths require a page/replacement decision. A DELETE_CANDIDATE path may be removed only after a fresh reference scan and a focused regression pass. Git history remains the provenance archive; the working tree should contain only current authority, approved page packages, needed runtime dependencies and reproducible tools.

The cleanup baseline and first safe deletion batch are complete at f848e20. The M14 cleanup follow-up is complete under docs/plans/M14_REPOSITORY_CLEANUP.md at source e8d7a95. It removed only the stale taskgraph metadata and superseded prototype validators/build helper; product/runtime behavior, accepted page packages, provenance and generated Godot metadata remain unchanged. Its source-bound MVP audit passed with marker ABG_MVP_FIRST_CYCLE_AUDIT_OK, strict diagnostics 0 and 128 normal 100% frames. Godot .uid/.import and prototype_incremental/ remain retained. SYS-001 Boot and SYS-002 First-launch are complete after Owner runtime acceptance. The approved M01 Entry direction board remains the shared module authority. It defines the shared world/material/control/modal family for SYS-001, SYS-002, SYS-003, SET-001..006 and SYS-008. SYS-002 First-launch v002 is Owner-accepted after focused behavior, parsed input, responsive resize and normal-render evidence. SYS-003 Title v002 and HUB-001 Guild desk v001 are complete after Owner runtime acceptance. DEV-4 Party Line / Formation is COMPLETE after Owner runtime acceptance of source 94a2356. Its schema-v2 visual gate measures rendered pixels against the clean 2048x1152 coordinate master; source-bound behavior, input, responsive fixtures, strict diagnostics and rendered-pixel fidelity pass. PTY-002 Readiness review is complete after Owner runtime acceptance. RSK-001 Risk Board is complete after Owner runtime acceptance. RSK-002 Risk Commitment is complete after Owner runtime acceptance on 2026-08-23. Its source-bound Godot candidate, normal 100% captures and idempotent BAT-001 handoff are recorded in the page package. BAT-001 Battle Opening is complete after Owner Runtime acceptance on 2026-08-24. Its rejected independent v001 draft remains provenance only; the accepted full-party battle page and scale proof remain visual authority. The M07 closure is remote-visible at 155d775; the BAT-002 contract/state-matrix specification is remote-visible at 7ededea. Page-specific reconciliation of the existing accepted live-battle reference is complete and remote-visible at 1ef7a5f; its focused BAT2-3 package is remote-visible at f9f50cd. The Owner accepted the final deconstruction board and asset contact sheet on 2026-08-24, closing BAT2-3 and moving BAT-002 to RECONSTRUCTION_READY. The receipt-bound observation service is remote-visible at 2d4d5a7, the contained live battlefield is remote-visible at 950b32e, and the timeline/diagnostic implementation is remote-visible at 0de6c7a; BAT2-4D closure is recorded in the BAT-002 page package. The earlier BAT2-5 candidate at fea2ae9 was rejected by the Owner on 2026-08-24 because its plain block rails, text-heavy bottom strip and debug-like event band did not restore the approved battle master. BAT2-4E approved-design visual reconstruction is implemented at source 189c20b; focused Field, Timeline, normal 100% captures, package preflight and static assertions pass with strict diagnostics 0. BAT2-5 source-bound verification is complete at source 189c20b; the Owner confirmed the repaired actual-size Runtime with 这个OK啊 on 2026-08-24, closing BAT2-6 and the M08 Runtime milestone. Later states/pages remain frozen until a separately activated plan.

All M01 pages are landscape-first and must declare responsive ownership before implementation. Backgrounds use an explicit aspect-cover or contained-master policy; rails and framed controls use bounded NinePatch/segmented construction; icons and seals retain fixed aspect; localized buttons keep at least 48 logical pixels of touch height and may expand; 760x360, 844x390, 1280x720 and live resize are required before Owner runtime review.

M09 SHP-001 Market Durable Plan (closed)

Status: COMPLETE / OWNER-DELEGATED-ACCEPTANCE Player-visible stopping point: enter the Market from the accepted Guild or Recovery handoff, read Company/Line/Coin separately, compare three equal Recruit offers, inspect equipment and route facts, and open a stable review boundary without spending or creating a receipt. Frozen scope: existing Market and hire domain semantics, SHP-002 Recruit Review implementation, Party/Risk/Battle pages, refresh/lock economy and later-cycle content remain unchanged until their named page step.

The prior DEV-3 Market is functional provenance, not current visual authority. M09 reconstructs one repeated preparation surface in the accepted Japanese 2D hand-drawn grammar. The Phase 6 UI06-M03 integrated Market image is retained as a draft composition only; generated text, values and fixed identities are discarded. The current MVP verification scope is normal 100% landscape only.

Step Deliverable Acceptance Commit boundary
M09-1 Specification and direction Page contract, state matrix, draft provenance, focal review and issue register SHP-001 is indexed, source boundaries are explicit, and the Owner approved v002 direction on 2026-08-24 Documentation-only commit 8d3d306; no Runtime changes
M09-2 Authority and reconstruction package Approved master, deconstruction board, layer map, engine text slots, hit areas, asset plan/contact sheet and reconstruction spec COMPLETE; no baked text, exact source hashes, responsive anchors and 48px targets are recorded Focused design-package commit M09-2; preflight 24/24
M09-3 Market Runtime reconstruction Current show_market behavior is rendered over the approved world/counter composition; list actions remain inspect-only and review handoffs preserve stable IDs Focused Market behavior/input assertions pass at source with strict diagnostics 0 Runtime implementation commits ef482ca, 0952580
M09-4 Candidate evidence Source-bound behavior, touch/focus, 760x360/844x390/1280x720 normal captures, visual preflight and diagnostics COMPLETE; first-cycle audit reconfirms the current Market boundary at normal 100% Focused attempts m09-market-runtime-import, m09-market-capture; verification commit
M09-5 Owner closure Actual-size review and acceptance record SHP-001 COMPLETE; the Owner delegated intermediate page inspection on 2026-08-24, and the agent's actual-size review found no blocking overlap, clipped text or false recommendation state Closure commit and checkpoint update

M09 Acceptance Checks

  • The active board hash, Company count, Line capacity and Coin are visible in every normal state; loading, stale and interruption states preserve truthful values and never reroll offers.
  • Recruit list selection is local and equal-weight; Review opens the existing SHP-002 boundary with the same source_offer_id, and Cancel returns to that offer without a duplicate receipt.
  • Equipment and battle modes remain inspect-only from SHP-001. No list row can purchase, refresh, lock, reorder the Party, commit Risk or start Battle.
  • The reconstructed page keeps the painted world and person-bearing offer figures as the focal read, uses attached rails/trays instead of nested cards, and renders all final text/values in Godot.
  • Normal 100% zh_CN/en captures at the three required landscape fixtures pass with touch and keyboard/controller focus, live resize, strict diagnostics and no clipped or overlapping authored text. 130% is outside the current MVP blocking scope.

M09 Issue Register

ID Status Boundary
M09-I01 RESOLVED_OWNER_APPROVAL v002 is Owner-approved for reconstruction on 2026-08-24. v001 remains rejected provenance; generated text and values remain non-authoritative.
M09-I02 RESOLVED_BEHAVIOR_BOUNDARY Existing GuildContractService and DEV-3 tests own deterministic offers, prices, two hire receipts and Company 2 -> 3 -> 4 semantics; M09 must not fork them.
M09-I03 RESOLVED_RECONSTRUCTION_PACKAGE v002 clean static master, deconstruction board, engine slots, hit areas and asset contact sheet pass the 24/24 package preflight. Runtime visual comprehension remains an Owner gate.
M09-I04 RESOLVED_DELEGATED_REVIEW The Owner authorized the agent to inspect intermediate pages without another confirmation round on 2026-08-24. Actual-size review confirms the Market reads as the same hand-drawn world and keeps the next SHP-002 boundary truthful.

M10 SHP-002 Recruit Review Durable Plan (closed)

Status: COMPLETE / OWNER-DELEGATED-ACCEPTANCE Player-visible stopping point: inspect one stable Recruit offer, understand profession, trait benefit/cost, attributes, starting equipment, history, price and Company/Line impact, then either cancel to the same Market offer or commit exactly one hire receipt. Frozen scope: existing GuildContractService hire semantics and receipts, Party/Risk/Battle/Result/Recovery behavior, equipment purchase flow and all later-cycle content remain unchanged until their named page step.

Step Deliverable Acceptance Commit boundary
M10-1 Specification and reconstruction package Page contract/state matrix, approved review composition, layer map, text slots, hit areas, asset/reconstruction records COMPLETE; stable offer identity and no baked decision data cda9a07
M10-2 Runtime reconstruction Review surface uses the accepted Market world/counter language; all seven decision facts and Cancel/Hire boundaries are legible at normal 100% Focused behavior/input assertions pass with strict diagnostics 0 5f69834
M10-3 Candidate evidence Source-bound normal captures, touch/focus, live resize, preflight and diagnostics COMPLETE; no duplicate hire or altered offer identity d24b4dd; attempts m10-recruit-review-runtime, m10-recruit-review-capture
M10-4 Closure Delegated actual-size review and acceptance record SHP-002 COMPLETE; M11 BAT-003/BAT-004 is also closed in the current MVP audit This plan/checkpoint update

M10 Acceptance Checks

  • The review is reached only from a selected stable source_offer_id; it never rerolls a Recruit or changes Company/Coin before the Hire action.
  • Profession, Trait benefit/cost, rolled attributes, starting item, level/XP, history, price and Company/Line impact are all engine-owned values.
  • Cancel returns to SHP-001 with the same offer focus; Hire uses one operation receipt and retries return the original receipt without a second charge.
  • The contained landscape canvas remains readable at 760x360, 844x390 and 1280x720 in zh_CN/en at normal 100%; 130% remains non-blocking.

M10 Issue Register

ID Status Boundary
M10-I01 RESOLVED The original portrait-led review master and provenance package are recorded under pages/SHP-002-recruit-review/; no generated decision data is authoritative.
M10-I02 RESOLVED_BEHAVIOR_PROVENANCE Existing show_recruit_review, GuildContractService.hire_recruit and DEV-3 receipt tests remain the behavior authority; Runtime work must not fork the transaction semantics.

M11 BAT-003 / BAT-004 Diagnostic Controls Durable Plan (closed)

Status: COMPLETE / OWNER-DELEGATED-ACCEPTANCE Closure: source 8872f63 records the focused BAT-003/BAT-004 evidence; normal 100% fixtures, strict diagnostics, input and unchanged battle receipts pass. The Owner delegated intermediate page inspection on August 24, 2026, so M11 closes without another confirmation round. Player-visible stopping point: from the live automatic battlefield, freeze the current observation, inspect the selected actor/event causal facts, or open a compact pause surface with Resume, legal speed, event log, Settings and the BAT-005 retreat boundary. No result, retreat or recovery receipt is created by these pages. Frozen scope: battle domain event order, receipt identity, settlement, reward, knockout and recovery semantics remain unchanged.

Step Deliverable Acceptance Commit boundary
M11-1 Specification and reconstruction BAT-003/004 contracts, state matrices, shared battle master, diagnostic layer maps, engine text slots and hit areas COMPLETE; field and full Company/enemy lines remain visible Focused docs/package commit
M11-2 Runtime reconstruction Contained inspect and pause surfaces with real actor/event facts, local pin, legal speed, log and no-receipt retreat boundary Focused BAT-003/004 behavior/input assertions pass with strict diagnostics 0 Focused Runtime commit
M11-3 Candidate evidence Four normal 100% fixtures, source-bound captures, preflight, touch/focus and unchanged battle hash COMPLETE; delegated intermediate review found no blocking overlap or clipped command Focused evidence commit
M11-4 Closure Delegated actual-size review and acceptance records BAT-003 and BAT-004 complete; OUT-001..004 is closed under M12 Closure commit/checkpoint update

M11 Acceptance Checks

  • Inspect and pause overlays never cover the complete Company/enemy relation or alter event order, snapshot hash, journal hash or battle receipts.
  • BAT-003 names source, target, event, delta, state and stable event identity; Pin is local-only and Close returns to the paused field.
  • BAT-004 keeps time frozen until Resume, cycles only 1x/2x/4x, exposes a readable recent-event log, returns to Settings paused, and routes Retreat to the BAT-005 boundary without creating a receipt.
  • Normal 100% landscape at 760x360, 844x390 and 1280x720 in zh_CN/en passes with 48px targets and strict diagnostics; 130% remains non-blocking.

M11 Issue Register

ID Status Boundary
M11-I01 RESOLVED_DELEGATED_REVIEW The shared BAT-002 master remains the visual authority; BAT-003/004 overlays stay attached and compact rather than becoming a card wall.
M11-I02 RESOLVED_BEHAVIOR_PROVENANCE Existing observation service and BAT2-4C timeline own pause/inspect handoffs; M11 adds only the truthful page surfaces.

M12 OUT-001..004 Outcome And Recovery Durable Plan

Status: COMPLETE / OWNER-DELEGATED-ACCEPTANCE Active step: NONE (M12-4 candidate evidence and closure complete) Player-visible stopping point: complete the first truthful post-battle route from the immutable BAT-002 outcome lock through diagnosis, committed knockout review, one stable reward choice and one idempotent next-stage recovery receipt, then reopen the next-stage Market with the same Company and Recruit identities. No second-cycle progression, equipment replacement, later-region content or release packaging is included. Frozen scope: existing battle event order, snapshot/journal identity, generated Recruit semantics and Market offer generation remain authoritative; this milestone adds only outcome settlement, reward draft/claim and recovery boundaries required to finish the MVP first cycle.

Step Deliverable Acceptance Commit boundary
M12-1 Specification and reconstruction OUT-001..004 contracts, state matrices, causal/reward/recovery bindings, shared hand-drawn result language, engine text slots and hit areas COMPLETE; result context and affected Recruit remain visible and each downstream receipt boundary is explicit a56efd6; preflight 26/26 each
M12-2 Outcome settlement and reward domain Lock-result settlement, one battle Coin/XP application, deterministic reward options, one claim receipt and duplicate-safe retries COMPLETE; ABG_M12_OUTCOME_RECOVERY_DOMAIN_OK; no duplicate Coin/XP/reward and observation hashes remain auditable 0ae1fbd; final source-bound attempt m12-domain-final
M12-3 Runtime route OUT-001 diagnosis, OUT-002 knockout review, OUT-003 reward choice and OUT-004 recovery are reachable in player order from BAT-002 and return to Market COMPLETE; ABG_M12_RUNTIME_OK; parsed touch, 48px targets, four normal fixtures and strict diagnostics 0 3e12969; final source-bound attempt m12-runtime-route-final
M12-4 Candidate evidence and closure Four normal 100% landscape fixtures, source-bound first-cycle capture, restart recovery and final acceptance record COMPLETE; ABG_M12_CAPTURE_OK; 32 frames, restart -> Market, stable IDs and one receipt per operation f632002; source-bound attempt m12-candidate-capture

M12 Acceptance Checks

  • Entering OUT-001 from an immutable BAT-002 outcome lock does not mutate Coin, XP, Recruit history, reward or recovery until the explicit result settlement operation is committed.
  • OUT-001 names the outcome, first decisive event, source/target relation, causal chain, survivor state and downstream pending operation. Missing causal data is an explicit blocking diagnostic, not invented text.
  • OUT-002 preserves every knocked-out Recruit's stable ID, Profession, Trait, level, XP, history and equipment ownership. Acknowledge only advances; it never implies deletion or same-battle return.
  • OUT-003 presents deterministic equal-weight reward options sourced from the committed risk tier. Claim, decline and retry are idempotent; battle Coin is applied exactly once before the choice and a reward claim changes only the declared target state.
  • OUT-004 commits one recovery receipt, clears stale formation, preserves all Recruit identities and opens the next-stage Market. A duplicate operation returns the original receipt without a second mutation.
  • Normal 100% landscape at 760x360, 844x390 and 1280x720 in zh_CN and en passes with 48px targets and strict diagnostics; 130% remains non-blocking.

M12 Issue Register

ID Status Boundary
M12-I01 RESOLVED_RECONSTRUCTION_READY OUT-001..004 packages reuse the accepted BAT-002 field/rail language and keep result/reward/recovery information attached and compact.
M12-I02 RESOLVED_DOMAIN_BOUNDARY Legacy advance_battle() remains compatible; the observation route now settles only through settle_observation_outcome() after the immutable lock, preserving observation and outcome hashes while applying Coin/XP once.
M12-I03 RESOLVED_REWARD_RECEIPT Deterministic reward drafts, claim/decline receipts and duplicate-safe retries are persisted before OUT-004 recovery; Market and Recruit identity semantics remain unchanged.

M12 Closure Record

  • Source-bound domain: ABG_M12_OUTCOME_RECOVERY_DOMAIN_OK at /private/tmp/aetherbound-guild-test-evidence/m12-domain-final/20260824T225212Z-35584.
  • Source-bound Runtime route: ABG_M12_RUNTIME_OK at /private/tmp/aetherbound-guild-test-evidence/m12-runtime-route-final/20260824T225136Z-35114.
  • Source-bound candidate capture: ABG_M12_CAPTURE_OK at /private/tmp/aetherbound-guild-test-evidence/m12-candidate-capture/20260824T224852Z-33009; 4 fixtures × 8 states = 32 frames, strict diagnostics 0, restart resumes Market.
  • All four OUT page packages now carry runtime/implementation.json, verification/behavior.json, verification/input.json, verification/responsive.json, verification/captures.json, verification/source-bound.json and delegated acceptance records.
  • The MVP first-cycle stopping point is complete: New Game -> Company -> Guild -> Market -> two hires -> Party/Readiness -> Risk -> Battle -> Result -> Knockout -> Reward Choice -> Recovery -> next-stage Market.
  • Remaining work is outside this MVP boundary: second-cycle systems/content, broader region/endgame production, device/package/store/release gates and human comprehension/fun acceptance. Any such work requires a new durable plan.

M13 MVP First-Cycle Audit Durable Plan (closed)

Status: COMPLETE Active step: NONE (M13-3 closure complete) Player-visible stopping point: a fresh source-bound run can start from a clean Title, create the persistent Company, create the first Contract, hire two Recruits, form and commit the Party, choose and commit Risk, complete the automatic Battle, settle Result, acknowledge Knockout when present, claim or decline one Reward, commit next-stage Recovery, and restart into the same next-stage Market. Frozen scope: no new gameplay, economy, content, battle rules, visual direction, device/package/store work or 130% acceptance is added. This plan only repairs audit assumptions and makes the already-complete MVP evidence internally consistent.

Step Deliverable Acceptance Commit boundary
M13-1 Current-route audit and contract reconciliation Replace stale Market/Party/Readiness/Battle assumptions with the approved player-order route and current node names; reconcile page/package completion states; add one source-bound audit runner covering the current first-cycle boundaries COMPLETE; the audit runner is source-bound, uses exact markers, has strict diagnostics 0, and no current test asserts an interaction on a read-only Market label or retired control Focused test/docs/tool commits aaf953f through e68f888
M13-2 Fresh audit evidence Run the audit from an immutable Git archive, including current M09/M10/M11/M12 runtime and normal 100% capture checks COMPLETE; all required markers appear exactly once, 128 normal 100% captures pass, and the runner removes its owned workspace Source-bound attempt mvp-first-cycle-audit-v9
M13-3 MVP handoff closure Record the audit artifact, resolved stale-test issue, completion metadata and the remaining non-MVP gates COMPLETE; MVP_FIRST_CYCLE_COMPLETE, active step NONE, and no later product scope activated This closure commit and push

M13 Acceptance Checks

  • The current Market contract remains unchanged: Market exposes Back to Guild, Settings and inspect/review boundaries; it does not gain a direct Title button merely to satisfy a historical test.
  • The source-bound audit runs through tools/run_test_attempt.py and an immutable Git archive. Each formal command has an exact-once required marker, strict Godot diagnostics and complete process-group cleanup.
  • The audit covers DEV-1/DEV-2 entry and Company semantics, the current DEV-3/M09/M10 Market and Recruit Review boundaries, DEV-4 Party/Readiness/Risk and RSK-002 commitment, BAT-001/BAT-002 plus BAT-003/004 controls, and the M12 outcome/reward/recovery route.
  • Normal 100% landscape evidence covers 760x360, 844x390 and 1280x720 in zh_CN and en; 130% remains explicitly outside this MVP audit.
  • Completion metadata for every player-facing page in the first-cycle route agrees across design-index.json, page contracts, Runtime implementation records and delegated Owner acceptance records.

M13 Issue Register

ID Status Boundary
M13-I01 RESOLVED_AUDIT The historical DEV-3 test treated the read-only MarketTitle Label as a Button; the current test follows Market -> Guild -> Title -> Continue. The DEV-4 Party/Readiness tests now use the Guild-owned Party destination, and the BAT-002 audit uses the explicit Start Observation handoff, current live control names and the explicit waiting/outcome-lock states.
M13-I02 RESOLVED_METADATA PTY-002, RSK-001, SHP-001/002 and BAT-003/004 design-index, page-contract and Runtime state fields now agree with their accepted Owner/delegated records (COMPLETE).
M13-I03 RESOLVED_SCOPE No 130% capture, second-cycle content, device/package/store work or broad human comprehension gate is part of this MVP audit.

M13 Closure Record

  • Source-bound command: tools/run_test_attempt.py --git-ref e68f888 with required marker ABG_MVP_FIRST_CYCLE_AUDIT_OK.
  • Final attempt: /private/tmp/aetherbound-guild-test-evidence/mvp-first-cycle-audit-v9/20260824T234547Z-76868.
  • Result: PASS; source revision e68f8882f4624caf9180bb2805b3b5525e646bf5; strict diagnostics 0; exact marker count 1; owned workspace/process group removed.
  • Normal 100% evidence: 128 PNG frames across entry/Company, Market/Review, Party/Readiness/Risk, Battle Opening/Live/diagnostic controls and M12 Result/Knockout/Reward/Recovery/next-Market states, covering 760x360, 844x390 and 1280x720 in zh_CN and en.
  • Evidence archive SHA-256: c0de33dadc1a906550a205481d2c2f8942b6a0a1825900ede69c60d8e253d14f.
  • The first-cycle MVP is closed. Remaining work is explicitly outside this stopping point: second-cycle Company systems/content, Regions and endgame, device validation, packaging/signing/store/release gates and human comprehension/fun acceptance. Any of those requires a new durable plan.

Aetherbound Guild Complete Development Goal

Program ID: ABG-COMPLETE-GAME Status: ACTIVE Owner approval: 2026-08-16 Activation baseline: ee33f775527c20a79703a4fcfe073596c00ca179 Execution topology: one development session; no multi-Agent implementation Master roadmap: 06_DEVELOPMENT_AND_REVIEW.md

Owner Outcome

Continue plan-driven development from the accepted P10.3 Step-2 source until Aetherbound Guild is a complete local release candidate, rather than treating each small runtime slice as an unrelated endpoint. Ordinary implementation may advance without repeated Owner authorization. Every milestone remains bounded, verified, committed, pushed and recorded before the next milestone starts.

Complete Player-Visible Stopping Point

The local candidate must let a new player complete this authored arc:

open the finished landscape game
-> learn Market valuation, Company building and front-to-rear order
-> clear sixteen Contracts across eight mechanically distinct Regions
-> recruit, equip, promote and continuously grow generated Recruits
-> recover knocked-out members at the next stage without losing their identity
-> discover meaningful Profession, Trait, equipment and Artifact combinations
-> defeat sixteen disclosed-rule Bosses
-> choose the finite Chronicle ending or enter Oath Season
-> start a strategically different postgame Contract with the persistent Company

The candidate must contain the complete approved envelope: 12 base, 24 regular advanced and 6 hidden hybrid Professions; 36 Traits; 320 equipment items; 60 Artifacts; 100 ordinary/elite enemies; 16 Bosses; 8 Regions and 16 Contracts.

Experience Contract

  • Fantasy: build a changing guild Company from generated Recruits and keep it alive while restoring a chain of dangerous fantasy routes.
  • Primary action: compare visible capability, cost and threat, then commit a Recruit, item, order, route or run-law choice.
  • Automation: the prepared Party line resolves battle without attack spam; automation exposes causes instead of hiding them.
  • Bottleneck: Coin, one item per Recruit, Line capacity, order, current enemy grammar and current-battle knockouts prevent one solved build.
  • Recurring decision: spend, recruit, reserve, equip, reorder, promote, recover or accept route risk according to the current Company state.
  • Mastery: predict the first decisive interaction and deliberately build a counter without requiring one exact Profession or item.
  • Persistent transformation: Contract clears add Records, Renown, catalog breadth, Region access and optional laws without permanent flat power.
  • Completion: a 15-25 hour first clear and a 60+ hour mastery structure are fully implemented, locally verified and ready for human/device/release gates.

Program Acceptance Gates

Complete Runtime

  • All approved content identities resolve from scalable runtime data and alter a real decision; design-only catalog rows do not count as implemented.
  • The complete Title, Initial Company, Guild Charter, Contract creation, Market, battle, result, recovery, Boss, ending and Oath Season state graph is reachable.
  • One canonical simulation and save authority replaces milestone-only behavior before bulk Region production depends on it.
  • Runtime presentation uses final-direction landscape composition, authored character motion, event-bound damage/healing/status feedback, VFX, music and SFX rather than app-like cards or static debug substitutes.

Verified Candidate

  • Each milestone passes focused negative tests and its actual rendered flow.
  • Campaign-wide normal, active, efficient, adversarial and returning profiles prove pacing, decision density, recovery, anti-dominance and ending reach.
  • Save migration, corruption, rollback, duplicate input, interruption, clock change and zero-offline-value behavior remain authoritative.
  • English, Simplified Chinese, small/reference/large landscape, 130% text, reduced motion/flashes, mute and low power remain usable.
  • The final local candidate has a clean pushed source, source-bound evidence and a fresh H5 review delivery only when the Owner checkpoint authorizes it.

Owner Checkpoints

Ordinary work does not pause between milestones. Owner review is requested at only three planned boundaries:

  1. production-quality visual/audio vertical slice;
  2. the completed RG-04 midpoint build;
  3. the complete first-clear beta/final local candidate.

Owner feedback may reopen the earliest failed player-experience boundary. Automated evidence never closes understanding, fun, visual or listening gates.

Frozen Scope

  • Third-party commercial code, art, music, audio or copied expressive content.
  • Ads, gacha, paid currency, energy, daily-streak or online-required systems.
  • A second battle lane, manual skill spam, same-battle resurrection or fixed authored protagonist relationships.
  • Multi-Agent development unless the Owner explicitly reauthorizes it.
  • Native device packaging, signing, TestFlight, Play Console, store submission, publishing and release acceptance without separate Owner authorization.

Image and TTS generation may use the workspace standing authorization only inside its per-task call and cost ceilings. Video and any expanded paid batch outside the audio chain still require their own authority.

ElevenLabs music/SFX generation carries a standing Owner authorization (granted 2026-09-14): the agent generates and integrates audio as needed without waiting for per-batch approval. The chain stays explicit: manifest -> generated file -> sidecar/run report -> validated -> integrated -> runtime-seen -> human listened -> release accepted. Batch cost stays within the ordinary per-task ceiling and recorded spend is logged in docs/EVIDENCE_LEDGER.md.

P0 Project Consolidation Plan

Status: COMPLETE Active implementation step: VA-1_GUILD_COMPANY_ANCHOR Code status: FROZEN Stopping point: one Owner-reviewable product, architecture, gameplay, page/interaction, UI, art/audio and development contract with no unresolved authority collision.

P0 is a documentation and dependency-boundary milestone. It adds no page, asset, gameplay rule or package. It consolidates the current authorities and records which historical behavior remains evidence only.

P0 Ordered Work

Step Deliverable Acceptance
P0-1 Product strategy positive fantasy, audience, core loop, session/Contract/campaign shape, completion and canonical vocabulary Owner can explain the game loop and Company/Contract boundary without legacy terms
P0-2 Systems and strategy Recruit, Profession, Trait, Equipment, Party, Risk, Battle, Recovery, levels, economy and failure relationships every recurring decision has a source, cost, consequence and retained state
P0-3 Architecture and Save page/domain/content/save/evidence boundaries, migration and receipt ownership no new UI page owns a domain rule; current path and historical adapters are classified
P0-4 Pages and interaction player-order screen map, page templates, components, modal/notice/error states, input and accessibility each page has first action, Back path, state matrix and 100/130% landscape contract
P0-5 Art/UI/audio contract screenshot-derived visual grammar, character/prop scale, typography, button/modal/HUD rules, motion/audio roles no implementation starts from palette alone; a representative graybox has focal order and asset bindings
P0-6 Cleanup and migration register active, historical, unused-generated and forbidden-to-delete classifications only unreferenced generated/dead files are removed; historical provenance remains traceable
P0-7 Ordered roadmap DEV-1 through DEV-9 substeps, gates, commit boundaries and Owner review points one active step at a time; each step ends with focused evidence and Owner review

P0 Cleanup Rule

Frozen does not mean unused. Current runtime adapters, regression tests, historical assets and rejected candidates remain when they are referenced by the main scene, Save migration, tests or provenance. Temporary Web exports, .godot imports, local Gallery copies and truly unreferenced generated files may be removed after the dependency scan. Every deletion records its path, reason and replacement/retention status in the ledger.

P0 Gate Rules

During P0_PROJECT_CONSOLIDATION and until the next Owner-reviewed page:

  • no DEV-3 visual code continues;
  • no DEV-4+ page or gameplay expansion continues;
  • no bulk asset generation continues;
  • no historical runtime or evidence tree is deleted;
  • no H5 link is presented as a final visual candidate.

P0 Consolidation Record

  • docs/01_GAME_DESIGN.md now provides the positive product contract and authority map. docs/02_GAMEPLAY_AND_BALANCE.md, docs/03_PAGES_AND_UX.md, and docs/04_ART_ANIMATION_AUDIO.md explicitly own systems, player-facing pages and presentation respectively.
  • tools/validate_design_contracts.py now validates the current consolidated six-document layout instead of the retired docs/product split. It passes ABG_DESIGN_CONTRACTS_OK with the declared 8-Region, 42-Profession, 320-equipment and 50-page envelope. tools/validate_predevelopment_design.py passes ABG_PREDEVELOPMENT_DESIGN_OK with zero errors.
  • Dependency review found no safe tracked product file that is both unused and outside runtime, regression or provenance ownership. Temporary Web exports, local Gallery copies and generated caches remain cleanup-only artifacts; the historical runtime/evidence trees remain preserved.
  • P0 is complete. The written Style Bible remains the rule reference, but the next proof is a concrete VA-1_GUILD_COMPANY_ANCHOR page rather than more abstract documentation. DEV-1R_ENTRY_REVIEW, DEV-3V and all later presentation/gameplay expansion remain frozen until the anchor is Owner- reviewed.

DEV-1R Boot Review Candidate

  • Source 23f34bbe669b2d119929d9d4c47e4466cfa2116c changes only the Boot presentation: the existing resource/settings/save checks, named progress, recoverable Retry and first-launch handoff remain unchanged.
  • ABG_DEV1_BOOT_OK and ABG_DEV1_BOOT_RUNTIME_OK pass through separate owned attempts. Twenty entry-matrix captures pass strict diagnostics and layout bounds; focused review uses the Boot frames only.
  • Fresh-start H5 review is published at the share URL recorded in CURRENT_CHECKPOINT.md. DEV-1R remains IN_PROGRESS pending Owner review; first-launch setup, Title and Settings are not yet reopened.

Development Plan V2: Visual Anchor First

Status: OWNER_AUTHORIZED / ONE PAGE AT A TIME Active step: M01_SYS003_RUNTIME_REVIEW Rule: one page, one focused commit, one H5 review; no next page before Owner acceptance.

The existing Company, Contract, Market, Save and battle services remain the functional substrate. The rejected presentation is replaced from one concrete scene outward. No broad feature batch or new asset batch is allowed during the anchor review.

Ordered Steps

Step Player-visible stopping point Narrow acceptance
VA-1A Guild anchor decomposition Layer map, Godot scene tree, asset specifications and reference provenance describe one independent Guild composition COMPLETE; Master B normalized geometry and independent runtime layers are recorded
VA-1 Guild Company anchor One Guild scene shows the persistent Company as complete hand-drawn actors in a bright world with one physical Contract/Market prop, one next action and compact field HUD OWNER_ACCEPTED_FOR_CONTINUATION; Master B remains undistorted inside a centered 16:9 design canvas, non-16:9 space is filled by the World layer, and the repaired Chinese HUD/placeholder frame is the accepted anchor baseline
VA-2 Anchor interaction The same Guild scene supports real tap/mouse/focus on its primary destination, Back, Settings and disabled reason EVIDENCE_COMPLETE / NOT_ACTIVE; parsed Guild interaction and disabled-state evidence pass; Owner explicitly redirected implementation to Title
DEV-1R Entry re-review Boot -> first-launch -> Title -> Settings uses the accepted anchor grammar IN_PROGRESS: TITLE V002 RUNTIME REVIEW; v002 is the sole current Title authority; other pages stay frozen until the Owner records the runtime decision
DEV-2R Initial Company re-review Four candidates, Inspect/Compare, Review and Company handoff use the accepted actor/scene grammar One page at a time; exact four/choose-two behavior remains unchanged
DEV-3R Guild/Contract/Market rebuild Guild -> Contract -> Market -> Recruit/Equipment Review is coherent Each page has its own focused commit and H5; no DEV-4 state is added
DEV-4R Party/Risk presentation Party Line, Readiness and Risk make order, coverage and pressure readable Real touch/focus and state comparison pass before Battle is reopened
DEV-5R Battle loop presentation Battle Opening -> Result -> Knockout -> Recovery uses the same world/actor/HUD grammar Existing battle semantics remain unchanged; Owner reviews one complete first cycle
DEV-6R Company management presentation Equipment, Roster, Recruit Detail, Dismissal and Contract Return use the accepted grammar Persistent growth and receipts remain unchanged; one page per review
CONTENT-1..8 Content production Regions, Contracts and Bosses use the locked presentation contract Produce one playable Region slice, review it, then continue one Region at a time
RC Local candidate Full first-clear path, settings, localization, accessibility and migration are complete Separate human, device, package and release gates remain open until accepted

Current VA-1 repair is limited to responsive Guild composition. Master B geometry, text and hit areas stay together inside the design canvas; resize may add World-layer space outside that canvas but may not change its aspect ratio, crop its Company or controls, or alter Guild/Contract/Market behavior. Final dynamic layer replacement remains a later VA-1 task after this geometry passes focused behavior, narrow-landscape resize, and normal-render review. The current visual repair also replaces AI-master horizontal placeholder marks with engine-rendered Chinese resource/command labels, keeps an English localization branch, and places variable copy inside compact rail slots, the kiosk paper and member name tags.

The repaired M02_HUB001_HUD_TYPOGRAPHY_REPAIR step owned only HUB-001. Source cb6a078 replaced the historical Guild composite with the approved real layered world, Company, Board and segmented rail reconstruction. Its fresh archive passed import, layered structure, 10 parsed touches and 24 normal-render frames with strict diagnostics 0, but Owner runtime review on 2026-08-20 rejected the rendered top and bottom command layers. The repaired stopping point must restore fixed semantic icons to all three top resource cells, keep Settings inside a fixed rail command, replace tiny bottom text tabs with icon-forward destinations, and scale Guild typography with the contained canvas at all four review fixtures. World, actors, Board semantics, Contract/Market behavior and later pages remain frozen. Focused layout/touch verification and four visually inspected frames formed commit 2417b74. A fresh Git archive of that source now passes the layered structure test, 10 parsed Guild touches and four isolated capture fixtures totaling 24 frames with strict diagnostics 0 at /private/tmp/aetherbound-guild-test-evidence/hub001-hud-source-candidate/20260820T084919Z-98413. The active step returns to M02_HUB001_OWNER_RUNTIME_ACCEPTANCE; later pages remain frozen until explicit acceptance. Owner follow-up on 2026-08-20 found one remaining assembly error in that candidate: the bottom center ended at 73% while the fixed Compass texture was centered inside a 27% right region, exposing a large transparent gap and a detached dark base. The active M02_HUB001_BOTTOM_ENDCAP_REPAIR step changes only that center/endcap boundary, adds a structural adjacency assertion, and regenerates the four Guild review frames. Source e2acbd2 implements the 9% fixed Compass region and continuous 91% center boundary. Its fresh archive passes structure, 10 parsed touches and 24 frames with strict diagnostics 0 at /private/tmp/aetherbound-guild-test-evidence/hub001-endcap-source-candidate/20260820T092031Z-20102. The active step returns to M02_HUB001_OWNER_RUNTIME_ACCEPTANCE; all other HUD, typography, world, behavior and later-page scope remains frozen. Owner follow-up on 2026-08-20 rejected the five left bottom commands' percentage-based geometry: their rectangles and spacing grow linearly with the 16:9 canvas, and the round art reads above rather than inside the wood rail. The active M02_HUB001_BOTTOM_NAV_SCALE_REPAIR step replaces only that geometry with 50-76px capped hit targets, independently capped medallion art, compact pixel spacing and a rail-seated vertical position. The 48px minimum, labels, enabled states, Compass endcap, top HUD, behavior and later pages remain frozen. Source 2b732b6 implements the capped geometry and preserves naturally scaled top HUD icons. 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 active step returns to M02_HUB001_OWNER_RUNTIME_ACCEPTANCE; later pages remain frozen until explicit acceptance. Owner follow-up on 2026-08-20 found a more fundamental mismatch in both rails. The runtime top overlays three opaque rectangular cards and a double-width identity plate over the approved continuous inlaid rail; the runtime bottom shrinks the visible medallions and adds labels, so it no longer matches the approved rail-integrated icon hierarchy. The active M02_HUB001_RAIL_LANGUAGE_REPAIR step changes only those presentation boundaries: use the approved 02C..02G normalized top slots, inlaid parchment value pills without outer cards, distinct status/destination icon geometry, larger bottom medallions inside the capped hit areas, and tooltip/accessibility names instead of visible bottom labels. Touch minimums, semantics, Compass, world, Company, Board, behavior and later pages remain frozen. Source c32967d implements 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 active step returns to M02_HUB001_OWNER_RUNTIME_ACCEPTANCE; later pages remain frozen until explicit acceptance.

SYS-003 v002 was implemented and accepted as the previous page. The approved master and separate text-free background extension are imported with linear filtering; normalized engine text and hit areas own New Game, Continue, Settings, Credits and every disabled reason. Focused Title behavior, full entry touch, wider/exact/narrower live resize and the 20-frame entry capture matrix pass with strict diagnostics 0. Its runtime visual acceptance is recorded in the page verification package.

Owner review superseded v001 after identifying a visible two-image join outside the 16:9 canvas and a Title identity placed too close to the crest. The approved v002 authority is one complete 16:9 image under docs/design-authority/pages/SYS-003-title/approved/v002/. Runtime no longer composites a second scene at device edges; it uses a clean sky-toned matte outside the undistorted canvas. Title and command text use the corrected v002 slots. Focused behavior, parsed touch, live resize and the normal-render matrix pass with strict diagnostics 0; v002 remains the only active page and stops for Owner runtime review.

A SYS-002 First-launch Setup v001 image remains DRAFT_REVIEW provenance after three zero-cost provider failures and one completed $0.014 generation. It has no approved/runtime copy and is not imported into Godot; v002 is the sole current First-launch authority.

The completed M01_SYS002_RECONSTRUCTION stopping point was the real First-launch page reached after Boot: six settings controls, a live safe-area/text preview, atomic Apply-to-Title handoff, no Back before completion, and a stable landscape matrix. Focused behavior/input/resize and normal-render evidence remains green in the accepted evidence. The next active stopping point is the SYS-003 Title runtime review; a failed visual review keeps Title active and returns it to the earliest failed state.

Per-Step Execution Loop

freeze scope
-> write one page contract and focal order
-> build one static graybox using existing approved assets
-> Owner visual check
-> implement one real Godot page
-> focused behavior/input test
-> normal-render matrix and fresh-start H5
-> Owner acceptance or repair the same page
-> remove replaced dead UI only after dependency scan
-> focused commit, push, clean worktree
-> activate the next step

Stop Conditions

  • A page that reads as a card wall, generic dashboard, tiny actor list or pixel/retro UI fails and blocks the next page.
  • A green behavior test cannot close a visual gate.
  • A new idea found during a step goes to the issue register; it does not expand the active step.
  • Historical runtime, regression and provenance files are not deleted until a replacement migration and dependency audit prove they are no longer needed.

Current Milestone

P10.3 and FG-2 are functionally complete. FG-3 is locally accepted at pushed source 370f2a5: both RG-02 Contracts, 17 ordinary Rounds, both Bosses, permanent casualty/recovery, two Company Records, first-clear Renown and reload-stable RG-03 unlock pass five-profile simulation, Save-v10 persistence, complete runtime, parsed-touch, audio and MovieWriter gates. FG-4 gameplay, simulation, Save-v11 and Web transport reached a combined midpoint candidate, but Owner review on 2026-08-17 rejected its pixel-art presentation as a contradiction of the accepted Japanese 2D hand-drawn direction. The pixel H5 is not a visual baseline. FG-5 and bulk content remain frozen while the active hand-drawn presentation repair preserves the working systems and replaces only the rejected visual layer. Human comprehension, fun, visual and listening judgments remain open rather than inferred from automation.

Aetherbound Guild complete local candidate ready

or:

Aetherbound Guild complete development redesign required:
<earliest failed product boundary>

FG-4 Japanese 2D Hand-Drawn Presentation Repair Goal

Task ID: ABG-FG4-HANDDRAWN-PRESENTATION-REPAIR Status: OWNER_APPROVED_ENTRY_FIRST Owner direction: 2026-08-17 Planning baseline: d59555c5a3cf95fc44de79ba06c02e650eb3df3b Contract revision: fg4-handdrawn-repair-r1

Earliest Failed Boundary

Gallery item 5vl2EqsYWkey renders the playable midpoint as 16-bit pixel art. The Owner rejected that direction because the accepted product identity is a landscape Japanese 2D hand-drawn fantasy game. Automated layout, asset and runtime checks did not have authority to overrule that human visual decision.

Owner Outcome

Keep the implemented game and restore its approved presentation. Do not restart the battle, progression, content, Save or input systems. Replace the rejected pixel visual layer with thin-line/cel-color actors, softly painted environments and compact field-attached game HUD.

Planning Outcome

The Owner reviewed the redevelopment order and approved player-entry-first implementation. The six numbered documents under docs/ retain:

  1. the canonical product and game-system documents;
  2. the complete 50-page inventory and development order;
  3. the Japanese 2D hand-drawn visual contract;
  4. the runtime art, animation, UI, VFX and audio production plan; and
  5. the full-game roadmap and explicit frozen scope.

The authorization starts only DEV-1: Boot, first-launch setup, Title and essential Settings. Initial Company, Guild, Market, formation, battle, later Regions, bulk generation and delivery remain frozen until their ordered step.

Intended Player-Visible Stopping Point After Approval

open one replacement landscape H5
-> recognize a Japanese hand-drawn fantasy guild battle within three seconds
-> read the imminent enemy action first
-> read the ordered Company line second
-> read the objective and compact controls third
-> watch contact, guard, ranged attack, healing, damage and defeat animation
-> reach result or knockout recovery without leaving the painted world
-> continue into the unchanged RG-03/RG-04 midpoint state

Preservation Boundary

  • Preserve accepted gameplay, economy, content, Save-v11, localization, accessibility, touch, audio-event and simulation behavior.
  • Preserve the rejected pixel assets and H5 as Git history; do not use them as visual authority or expand their asset families.
  • Reuse accepted Phase-6 Japanese hand-drawn concepts and motion sources before requesting new images.
  • Keep engine text and numerical values crisp. Non-text runtime art is smooth hand-drawn/cel-painted work, not nearest-scaled pixels.

Frozen Scope

  • Runtime or gameplay implementation before Owner plan approval.
  • New gameplay, economy, Save version, content rows or balance changes.
  • FG-5 and later Region implementation.
  • New image generation during planning review.
  • Native packages, devices, signing, TestFlight, stores and release.
  • Multi-Agent development.

Planning Terminal

Aetherbound Guild hand-drawn redevelopment plan ready for Owner review

FG-4 Japanese 2D Hand-Drawn Presentation Repair Contract

Revision: fg4-handdrawn-repair-r1 Fixed functional baseline: d59555c5a3cf95fc44de79ba06c02e650eb3df3b Implementation state: DEV_1_ENTRY_FLOW_READY

Visual Identity

An ordinary but capable Japanese fantasy guild forms one continuous horizontal Company line inside a bright, softly painted unstable world. Characters use thin controlled linework, restrained cel color and reference-led proportions. The world, imminent action and line relationship dominate; UI behaves as attached field instruments rather than a separate application dashboard.

Authority

The controlling visual references are:

The generic portfolio pixel-art rule is inapplicable to this repository. The Owner's 2026-08-17 rejection supersedes every machine visual-pass claim made for the pixel H5.

Fixed Battle Comparison

  • Viewport: 844x390, with 760x360 and 1280x720 responsive checks.
  • State: one unchanged midpoint battle fixture with a visible incoming threat, ordered Company, melee contact, ranged action, healing, damage and defeat.
  • First focal read: imminent enemy action and affected target.
  • Second focal read: front-to-rear Company order and active profession action.
  • Third focal read: objective, pause, speed and inspect controls.
  • Ordinary actor scale: no fixed percentage; preserve the complete Company line, enemy relation and movement corridor, then confirm the real runtime frame with the Owner. Bosses may be larger without erasing crowd readability.

Art And Import Rules

  • Background, midground and foreground remain separate editable painted layers.
  • Actor identity is locked before action frames. Body animation and detached VFX remain separate assets with stable pivots, baseline, facing and light.
  • Smooth non-pixel filtering is required for painted sources. Palette reduction, hard square clusters, nearest-neighbor magnification and pixelation are prohibited.
  • Existing accepted sources are audited for reuse before generation. Any future image request uses the installed image-gen route, begins with a dry run and remains within four paid calls and USD 5 for its approved task.
  • Raw generated sheets are never runtime-final. Preserve prompts, task IDs, costs, accepted/rejected cells, processing, hashes and import settings.

UI Rules

  • World and actors occupy the primary surface.
  • Top and bottom HUD rails remain compact and attached to screen edges.
  • One primary action is visually dominant per decision state.
  • Cards are allowed only for repeated offers or inventory entries; nested cards, generic dark panels and explanatory walls are rejected.
  • Engine-rendered Simplified Chinese and English remain readable at 130% text.
  • Touch targets remain at least 48 logical pixels and retain non-color states.

Motion And Feedback

Every representative action has anticipation, committed impact, readable value, recovery and legal terminal state. Required states are idle, advance/contact, melee impact, ranged release, heal, guard, hurt, defeat and victory recovery. Damage/healing values, hit pause, shake and detached VFX follow authoritative events and obey reduced motion/flashes and low-power settings.

Rejection Conditions

  • The result still reads as pixel art, a card application or a text debugger.
  • Actor identity, anatomy, facing, scale, pivot or baseline drifts between frames.
  • The player must read the title or explanatory copy to recognize the fantasy.
  • UI or effects cover the imminent threat, active action, HP or primary control.
  • A concept image is presented as proof of real runtime integration.

Evidence Boundary

Agent inspection may reach agent_visual_reviewed. Only the Owner can restore human_reviewed. Device, packaging, signing, stores and release remain open.

Aetherbound Guild Full-Game Implementation Roadmap

Status: ACTIVE Owner-approved: 2026-08-16 Active phase: FG-4 Japanese 2D Hand-Drawn Entry Flow Program Goal: 06_DEVELOPMENT_AND_REVIEW.md Active milestone plan: 06_DEVELOPMENT_AND_REVIEW.md

Current Truth

  • The complete design catalogs exist, but a design row is not implemented content and a production brief is not a finished asset.
  • RG-01's two Contracts have a verified playable runtime baseline.
  • RG-02 is runtime-verified through Round 4 and stable Market 5.
  • P10.3 is complete through stable Market 8 at simulation_verified + runtime_verified + agent_visual_reviewed. Five profiles and the complete Save-v9/layout candidate matrix pass from fixed source d00c7ad.
  • The executable and production presentation authority now covers 4 of 16 Contracts through the complete RG-02 candidate.
  • FG-2 functional runtime, Web and touch evidence passed at source 3302134, but its pixel presentation is superseded by the 2026-08-17 Owner visual rejection. It is not current art authority.
  • FG-3 source 370f2a5 passes five-profile simulation, 15-state Save-v10 persistence, complete RG-02 normal rendering, parsed touch, media, audio and MovieWriter gates. Read-only PMO acceptance is complete.
  • FG-4 Step 5 source 791187c closes the complete RG-03 candidate. Five profiles cover 265 decisions, 16 winning secondary responses, legacy permanent-loss recovery, nine reloads and 15 Save-v11 states; the retained production runtime passes 12-state layout/accessibility, parsed touch, event-bound audio and a 24.83-second recording. Six of sixteen Contracts now reach simulation_verified + runtime_verified production presentation.
  • The combined RG-03/RG-04 midpoint systems and Web transport pass, but Owner review on 2026-08-17 rejects the pixel-art runtime as a direct contradiction of the accepted Japanese 2D hand-drawn product contract. Systems evidence is retained; the Owner has approved rebuilding presentation in actual player order, beginning with Boot, first-launch setup and Title.

Program Sequence

Only one phase and one child-plan step may be IN_PROGRESS.

Phase Status Player outcome Owned production Exit evidence Owner gate
FG-0 Program activation COMPLETE Development has one visible endpoint and ordered route. Program Goal, roadmap, checkpoint and ledger. Clean pushed planning commit. Approved 2026-08-16.
FG-1 Finish P10.3 COMPLETE Clear Siltwake Rounds 5-7, choose an Artifact, optionally promote and reload at changed Market 8. Existing P10.3 Steps 3-5 only. Battle counterfactuals, five profiles, save/layout matrix, parsed-touch runtime and recording. No pause.
FG-2 Production vertical slice and canonical runtime FUNCTIONAL_COMPLETE_VISUAL_SUPERSEDED One Market -> preparation -> battle -> result/recovery chain executes through the canonical runtime. Runtime/state integration, event-bound feedback and audio routing; pixel art is rejected. Functional regressions, recording, touch and H5 transport remain supporting evidence only. Visual direction reopened 2026-08-17.
FG-3 Complete RG-02 COMPLETE Finish both Siltwake Contracts, both Bosses and unlock RG-03 with a changed persistent Guild. Remaining EQ-065..080, AR-009..015, both RG-02 Bosses, Round 8-12 and complete second Contract content, art and audio. Source 370f2a5; five profiles, 15-state persistence, complete runtime/media/audio candidate. PMO accepted 2026-08-16.
FG-4 Complete RG-03 and RG-04 ENTRY_FLOW_READY Preserve the verified midpoint systems and restore the approved Japanese 2D hand-drawn experience in player order. Boot, first launch, Title, Initial Company, Guild, Market, Party, battle, result/recovery and regional presentation, converting legacy lifecycle semantics only in their named step. End-to-end launch reachability, normal-render motion, responsive states and replacement H5. Checkpoint 2: midgame depth, clarity and continuation.
FG-5 Complete RG-05 and RG-06 PENDING Adapt to echoes, rear intrusion, moving rail order and airborne timing across four Contracts. EQ-161..240, AR-031..045, EN-R5/R6, four Bosses and complete production media. Same content, balance, save, runtime, accessibility and media gates as FG-4. No pause.
FG-6 Complete RG-07 and RG-08 PENDING Resolve hidden-information and synthesis Regions, defeat the final Boss and choose Chronicle or Oath Season. EQ-241..320, AR-046..060, EN-R7/R8, four Bosses, ending, Final Ledger and full campaign presentation. End-to-end first-clear simulations, ending atomicity, full campaign runtime checkpoints and complete content/media coverage. Checkpoint 3: first-clear beta.
FG-7 Mastery and postgame PENDING Discover six hidden hybrids and play strategically different Oath runs without flat-power grinding. Hidden Profession unlocks, optional run laws, alternate Boss breadth, Records, collection knowledge and mastery challenges. 60+ hour modeled breadth, anti-dominance profiles, save migration and representative postgame runtime. No pause unless product depth fails.
FG-8 Alpha, beta and local release candidate PENDING A new player can understand, finish and replay the complete game in a stable local build. Whole-game UX polish, balance, localization, accessibility, performance, lifecycle, final media coverage and defect closure. Full suite, campaign simulations, complete state matrix, normal-render recordings, fresh review H5 and clean pushed source. Final Owner human acceptance remains open.

M05 RSK-001 Durable Implementation Plan (Closed)

The page-production milestone was M05_RSK001_RISK_BOARD_DESIGN. Its player-visible stopping point is a frozen four-member party snapshot beside three equal sourced risk options. The page exposes known threat, uncertainty, entry cost, reward class, recovery exposure and current party coverage. Review opens the existing Risk Commitment boundary; no risk or battle receipt is created here.

Step Status Acceptance
RSK-1 Deconstruction and reconstruction package COMPLETE Layer map, text slots, hit areas, asset plan/manifest/contact sheet, runtime spec and provenance hashes are present.
RSK-2 Godot Runtime COMPLETE show_risk_board uses a contained 16:9 canvas, engine-owned party/options/actions and unchanged FormationRiskService semantics.
RSK-3 Focused verification COMPLETE ABG_DEV4_RISK_OK; normal 100% captures at 760x360, 844x390 and 1280x720; strict diagnostics 0; 48px targets.
RSK-4 Owner Runtime Review COMPLETE Owner accepted the normal 100% Runtime captures and live path at actual size on 2026-08-23; the no-receipt stopping boundary is confirmed.

Frozen scope: Risk Commitment implementation changes, battle receipt/simulation, new content, packaging and release remain outside M05.

M06 RSK-002 Durable Specification Plan (Closed)

The active page-production milestone is M06_RSK002_RISK_COMMITMENT_DESIGN. Its player-visible stopping point is an explicit commitment review that keeps the selected RSK-001 option and the frozen four-member Party snapshot visible together. It names threat, uncertainty, Coin cost, reward, recovery and retreat consequence, then requires one deliberate confirmation before the DEV-5 battle receipt boundary. Cancel returns to RSK-001; a successful idempotent receipt opens BAT-001 Battle Opening.

Step Status Acceptance
RSK2-1 Contract and state matrix COMPLETE page-contract.json and state-matrix.json define the normal 100% landscape layout, sourced consequence fields, receipt ownership, return paths and loading/stale/insufficient-Coin/invalid/interruption states. JSON and predevelopment design checks pass.
RSK2-2 Independent design draft COMPLETE Owner accepted v001 at actual size on 2026-08-23; it uses one selected-risk relic, one consequence band and one connected four-member staging area rather than the RSK-001 three-option board layout.
RSK2-3 Deconstruction review COMPLETE Owner accepted the layer map, text slots, normal 100% anchors, transparent hit areas and no-duplicate-frame policy at actual size on 2026-08-23.
RSK2-4 Asset generation and processing COMPLETE One constrained cleanup edit removed dynamic regions from the approved master; accepted Recruit provenance is reused, hashes are recorded and the contact sheet is built.
RSK2-5 Owner asset review COMPLETE Owner replied OK to the full-size clean static master and contact sheet on 2026-08-23; the asset gate is closed.
RSK2-6 Reconstruction package COMPLETE Runtime reconstruction spec, asset manifest, independent hit areas and focused preflight pass; the page is RECONSTRUCTION_READY.
RSK2-7 Runtime implementation COMPLETE Godot implementation reconstructs the approved contained 16:9 commitment page, creates one idempotent risk commitment receipt only after explicit confirmation and enters BAT-001; focused behavior/input, normal 100% captures, strict diagnostics and 48px target checks pass. No battle simulation is added in M06.
RSK2-8 Owner Runtime review COMPLETE Owner accepted the source-bound normal 100% Runtime at actual size on 2026-08-23, confirming the selected-risk/Party hierarchy, six-fact consequence band, acknowledgement gate, command rail and BAT-001 stopping boundary.

Frozen scope: no battle simulation, result/recovery UI, new content, packaging, release or unrelated cleanup.

2026-08-23 - RSK-002 Asset Gate Closed

  • Owner replied OK to the full-size clean static master and asset contact sheet. The single cleanup task, dynamic mask, accepted Recruit provenance and no-baked-text policy are recorded in the closed asset review.
  • The page remains ASSET_REVIEW until the separate Runtime reconstruction handoff is written and preflighted; Godot implementation remains frozen.

2026-08-23 - RSK-002 Reconstruction Package Ready

  • The Runtime handoff now records the contained 16:9 layer order, static and dynamic ownership, PTY-002 Party bindings, all state transitions, localized text policy and independent 48px hit areas.
  • runtime/preflight.json passes the focused package check at 24/24. The page is RECONSTRUCTION_READY; Godot implementation requires its own activated step and commit.

2026-08-23 - RSK-002 Runtime Implementation Activated

  • The reconstruction handoff is accepted and the page is now IMPLEMENTATION_IN_PROGRESS. Godot may bind the cleaned static master, accepted Recruit family, engine-owned fact slots and independent hit areas.
  • The active stopping point remains one explicit, idempotent commitment receipt handed to BAT-001. Battle simulation, result/recovery UI and later pages stay frozen until the Runtime evidence boundary closes.

2026-08-23 - RSK-002 Runtime Candidate Ready For Owner Review

  • Source revision 64c1c6f implements the approved contained 16:9 commitment surface in runtime/entry/entry_shell.gd. The candidate binds the exact four Recruit Party snapshot, six sourced consequence facts, independent 48px hit areas and Settings return without adding a second frame or card wall.
  • Explicit acknowledgement is required before Begin Battle; the focused test records no receipt before acknowledgement, one idempotent commitment receipt after confirmation and a BAT-001 handoff preserving the Party snapshot and order. Battle simulation, result/recovery UI and later pages remain frozen.
  • ABG_RSK002_COMMITMENT_OK passes at 760x360, 844x390 and 1280x720 in zh_CN/en at normal 100% text scale with strict diagnostics 0. The six retained captures and verification JSON are under pages/RSK-002-risk-commitment/verification/; this was the evidence set for the now-closed Owner visual/runtime gate.

2026-08-23 - RSK-002 Runtime Accepted; BAT-001 Specification Activated

  • The Owner replied OK after reviewing the RSK-002 Runtime at actual size. The selected-risk relic, complete four-member Party staging, connected six-fact consequence band, explicit acknowledgement gate and command rail are accepted at normal 100% text scale.
  • The acceptance record is pages/RSK-002-risk-commitment/verification/owner-acceptance.md. It records the exact-once commitment receipt and BAT-001 handoff while explicitly leaving battle simulation, result/recovery, devices, packaging, stores and release outside this gate.
  • M06_RSK002_RISK_COMMITMENT_OWNER_RUNTIME_REVIEW and RSK002-RUNTIME-01 are closed. M07_BAT001_BATTLE_OPENING_SPEC and the authority/reconstruction gates are complete; the current sole IN_PROGRESS step is M07_BAT001_BATTLE_OPENING_RUNTIME.

2026-08-23 - BAT-001 Specification Ready; Design Draft Activated

  • docs/design-authority/pages/BAT-001-battle-opening/page-contract.json and state-matrix.json define the static pre-observation boundary, immutable RSK-002 handoff, ordered Party/enemy reading, explicit Start Observation, interruption handling and normal 100% landscape requirements.
  • Static JSON, design-contract, predevelopment and focused assertions pass in source 1b3adc6. The page is registered as SPEC_READY in the design index and Gallery.
  • At activation time, M07_BAT001_BATTLE_OPENING_SPEC was complete and the sole IN_PROGRESS step became the historical draft/reconciliation gate. No deconstruction, asset generation or Godot Runtime work was authorized until the existing battle authority was explicitly accepted; that gate is now closed and the current Runtime boundary is recorded below.

2026-08-23 - BAT-001 v001 AI Draft Generated (Later Rejected)

  • One authorized GPT-Image-2 2K call generated the independent Battle Opening composition. It keeps four complete Company actors on a rear-left to front-right line, a readable enemy-facing corridor, one first-threat marker, blank objective/command slots and no readable baked text.
  • Task task_01M0QAKYKS41600MSY318C2VZP cost $0.014; prompt/output hashes, source URL and expiry are recorded in pages/BAT-001-battle-opening/rejected/v001/manifest.json.
  • The output was subsequently rejected by the Owner as a competing battle direction. It is preserved with its prompt, task, cost and hashes under pages/BAT-001-battle-opening/rejected/v001/; it is not an active page design and cannot enter deconstruction, assets or Runtime.

2026-08-23 - BAT-001 Draft Rejected; Existing Battle Authority Restored

  • The Owner identified that the repository already contains the approved battle page direction at prototype/generation/phase6_ui_direction_01/outputs/05_battle_ui_japanese_scale.png. The related phase6_battle_scale_04 proof preserves the complete Company scale, compact ordinary units, continuous horizontal battlefield, opposing enemy space and attached top/bottom battle rails.
  • The generated BAT-001 v001 image is the wrong page direction: it uses four oversized actors, a sparse enemy tableau and large blank parchment panels. It is archived as REJECTED_PROVENANCE, and BAT-001 returns to SPEC_READY.
  • BAT-001 now owns only the page-specific static pre-observation adaptation of that accepted battle composition. No new image generation, deconstruction, asset processing or Godot Runtime work is authorized until the adaptation is explicitly accepted.

2026-08-23 - BAT-001 Battle Authority Accepted; Reconstruction Activated

  • The Owner replied OK to proceed with development using the existing approved full-party Japanese 2D battle composition and scale proof. The rejected v001 image remains provenance only and is not a replacement design.
  • BAT001-AUTHORITY-01 is resolved. At this historical transition the sole active boundary became the page-specific BAT-001 deconstruction/reconstruction package; Runtime remained frozen until its preflight and focused assertions passed. That package is now complete and Runtime is the active boundary.

2026-08-23 - BAT-001 Reconstruction Package Ready; Runtime Activated

  • The reconstruction package reuses the accepted clean Windglass field, actor family and Riftblade enemy provenance; no new AI image was generated.
  • Layer ownership, engine text slots, responsive anchors, transparent hit areas, asset manifest and runtime reconstruction spec pass the BAT-001 page preflight at 26/26 in source 7fccbbc.
  • BAT1-3 is complete and BAT1-4 is now the sole IN_PROGRESS step. The Runtime boundary remains static opening plus explicit handoff to BAT-002; live battle simulation, result and recovery remain frozen.

2026-08-23 - BAT-001 Runtime Candidate Ready; Owner Review Activated

  • Source f892bb6 implements the bounded static Battle Opening in Godot. It binds the immutable RSK-002 Party snapshot and committed enemy offer, keeps the accepted full-party painted field and compact top/bottom rails, and exposes objective, order, enemy-facing direction, first threat and the no-respawn/no-reserve rules as engine-owned text.
  • ABG_DEV5_BATTLE_OPENING_OK passes from a fresh Git archive with parsed touch, strict diagnostics 0, phase index 0 before and after handoff, exactly one battle receipt and Settings return. Four source-bound normal 100% capture attempts at 760x360 zh_CN, 844x390 en and 1280x720 zh_CN/en also pass.
  • BAT-001 is now IMPLEMENTED_AWAITING_OWNER_RUNTIME_REVIEW. The page stops at one explicit handoff to BAT-002; no live timeline, combat command, result or recovery UI was added. Owner visual/comprehension review remains open.

2026-08-24 - BAT-001 Runtime Accepted; M07 Closed

  • The Owner replied OK 的,然后继续 after reviewing the source-bound BAT-001 Runtime candidate at actual size and normal 100% text scale.
  • The complete four-member Company line, three committed enemies, readable movement corridor, compact field-attached HUD hierarchy, first-threat disclosure and explicit observation handoff are accepted.
  • BAT001-RUNTIME-02 and M07_BAT001_BATTLE_OPENING_OWNER_RUNTIME_REVIEW are closed. The acceptance record is pages/BAT-001-battle-opening/verification/owner-acceptance.md.
  • No live timeline, result/recovery UI, device validation, packaging or release is authorized by this acceptance. M08 remains inactive until this closure is committed and pushed.

2026-08-24 - BAT-001 Closure Pushed; BAT-002 Specification Activated

  • Source 155d775 is confirmed on origin/agent/abg-p91-runtime-foundation; BAT-001 is closed before the next milestone changes state.
  • M08_BAT002_LIVE_BATTLE_SPEC and BAT2-1 are now the sole active boundary. They own only the BAT-002 page contract, state matrix and focused static verification.
  • Historical show_battle() and first-battle services are functional provenance, not automatically accepted BAT-002 visual Runtime. The accepted Japanese 2D battle composition and full-party scale remain the visual authority; no competing battle direction is authorized.

2026-08-24 - BAT-002 Specification Ready

  • pages/BAT-002-live-battle/page-contract.json and state-matrix.json define the live automatic-battle purpose, actor/target/event bindings, diagnostic- only controls, exact Waiting for next event state, invalid-event pause, deterministic interruption behavior and later-page ownership.
  • The contract requires representative melee, ranged, magic, healing, guard, damage and knockout reads while preserving the accepted full-party Japanese 2D battle composition. Historical show_battle() remains functional provenance only.
  • JSON, six focused BAT-002 assertions, design-contract and complete predevelopment validation pass. BAT2-1 and BAT002-SPEC-01 are closed; no art, deconstruction, asset or Runtime step is activated before this package is committed and pushed.

2026-08-24 - BAT-002 Specification Pushed; Authority Reconciliation Activated

  • Source 7ededea is confirmed on origin/agent/abg-p91-runtime-foundation; BAT2-1 is closed before BAT2-2 changes state.
  • M08_BAT002_LIVE_BATTLE_RECONSTRUCTION and BAT2-3 are now the sole active boundary. They own only page-specific deconstruction, engine-slot ownership, existing-asset provenance and the reconstruction handoff for the already accepted live-battle composition and scale proof.
  • No new design generation or image edit is authorized. Historical show_battle() remains functional provenance and the accepted BAT-001 static Runtime remains a neighboring page, not BAT-002 visual authority. Godot Runtime code stays frozen until BAT2-4 is separately activated.

2026-08-24 - BAT-002 Existing Battle Authority Reconciled

  • The accepted 05_battle_ui_japanese_scale.png and full-party phase6_battle_scale_04 proof are copied byte-for-byte into pages/BAT-002-live-battle/approved/v001/; no new generation or image edit occurred and new cost is $0.00.
  • The manifest and live-state map freeze both complete lines, ordinary-unit scale, central action gap, top status/control rails, subject-attached urgent event geometry and the bottom actor-state rail while assigning every actor, value, target, event and control state to Runtime ownership.
  • Four focused authority/hash/layer assertions, the six specification tests, complete related unittest set, design-contract and predevelopment checks pass. BAT2-2 and BAT002-AUTHORITY-01 are closed; BAT2-3 is now activated as the sole reconstruction boundary and does not authorize Runtime changes.

2026-08-24 - BAT-002 Reconstruction Package Machine-Validated

  • BAT2-3A/B/C are authored: the page-specific deconstruction board, normalized layer ownership, dynamic-region audit, engine text slots, independent hit areas, event animation/VFX bindings, existing-asset provenance, runtime asset manifest and reconstruction spec are all present under pages/BAT-002-live-battle/.
  • No new image generation or image editing occurred. The clean Windglass field is reused byte-for-byte from the accepted BAT-001 reconstruction; accepted Recruit/enemy/animation/VFX assets are hash-recorded and the contact sheet is deterministic evidence only.
  • Focused BAT-002 reconstruction/spec/authority assertions pass 17/17; page restore preflight passes 32/32; design-contract, predevelopment and Gallery checks pass (ABG_DESIGN_GALLERY_OK pages=50). Runtime code and battle rules were not changed. BAT2-3D remains active until the Owner checks the visual deconstruction/asset boundary.

2026-08-24 - BAT-002 Reconstruction And Asset Gates Accepted

  • The Owner replied OK after reviewing the final BAT-002 deconstruction board and asset contact sheet at actual size. The complete Party/enemy scale, central action gap, layer ownership, engine-owned text/state boundary, independent hit areas and existing-asset provenance are accepted.
  • No image generation or image editing was needed; the zero-generation asset plan and reconstruction handoff advance through asset review to RECONSTRUCTION_READY.
  • BAT2-3 and all four substeps are complete. No Runtime step is active in this closure record; BAT2-4 requires its own durable plan commit and push before any Godot product code changes.

2026-08-24 - BAT-002 Runtime Plan Activated

  • M08_BAT002_LIVE_BATTLE_RUNTIME is active with BAT2-4A as the sole IN_PROGRESS substep. Product code remains frozen until this activation commit is remote-visible.
  • BAT2-4A owns only a backward-compatible observation path bound to the original operation, Party snapshot and single receipt. It must stop at an immutable outcome lock and cannot invoke the historical immediate settlement path or mutate Coin, XP, Recruit history, recovery or next-stage state.
  • The accepted contained 16:9 layered battlefield starts only in BAT2-4B after BAT2-4A passes a focused test and its implementation commit is pushed. No new image generation or image editing is authorized.

2026-08-24 - BAT-002 Observation Service Pushed; Battlefield Activated

  • Source 2d4d5a7 is remote-visible. BAT2-4A begins observation without a hidden tick, previews and commits nine stable event identities, rejects order, hash and journal corruption, preserves the original receipt and stops at an immutable outcome_locked handoff without reward or recovery.
  • ABG_DEV5_BATTLE_OBSERVATION_SERVICE_OK and the separate historical ABG_DEV5_BATTLE_OK regression pass through the attempt runner with strict diagnostics 0. The legacy immediate-settlement path remains compatible when no BAT-002 observation is started.
  • BAT2-4B is now the sole IN_PROGRESS substep. It owns only the accepted contained 16:9 layered live battlefield and focused Runtime/layout test; BAT2-4C controls and diagnostic states remain frozen.

2026-08-24 - BAT-002 Contained Battlefield Pushed; Timeline Activated

  • Source 950b32e is remote-visible. BAT2-4B enters BAT-002 directly without a hidden tick and renders the accepted contained 16:9 field with the complete four-member Party, three-enemy line, ordinary-unit scale, central event projection and ordered actor-state rail.
  • ABG_DEV5_BATTLE_LIVE_FIELD_OK passes normal-render 760x360, 844x390 and 1280x720 fixtures in zh_CN/en at normal 100%, exact waiting copy, sparse waiting density, Settings return and 48px targets with strict diagnostics 0. BAT-001 handoff, observation-service and historical settlement regressions also pass separately.
  • The historical card-UI battle_runtime_test.gd autoplay/pause/speed assertions are not current visual authority. Settlement remains covered by battle_foundation_test.gd; BAT2-4C now owns timeline, pause and legal 1x/2x/4x behavior on the accepted field.
  • BAT2-4C is now the sole IN_PROGRESS substep. Neighboring BAT-003/004/005/ 006 and OUT-001 pages, settlement, reward and recovery remain frozen.

2026-08-24 - BAT-002 Timeline and Diagnostic Boundaries Pushed; Closure Activated

  • Source 0de6c7a is remote-visible. BAT2-4C connects the receipt-bound waiting, forecast, commit, resolving and resolved stages with deterministic presentation timing. Pause freezes the current stage, and legal 1x, 2x and 4x speeds change presentation timing only.
  • Inspect, Settings, retreat, invalid-event Retry Snapshot/Safe Exit, interruption BAT-006 and immutable OUT-001 are truthful handoff entries; no neighboring page, retreat receipt, reward, recovery or settlement is created. Snapshot, event order, event hashes, journal hash and outcome hash remain invariant across speed, pause, retry and interruption paths.
  • ABG_DEV5_BATTLE_TIMELINE_OK, ABG_DEV5_BATTLE_LIVE_FIELD_OK, ABG_DEV5_BATTLE_OPENING_OK, ABG_DEV5_BATTLE_OBSERVATION_SERVICE_OK and ABG_DEV5_BATTLE_OK pass through tools/run_test_attempt.py with strict diagnostics 0. Normal 100% field captures at 760x360, 844x390 and 1280x720 remain readable in the accepted complete-line composition.
  • BAT2-4C and BAT2-4D are COMPLETE; BAT2-5 source-bound verification is complete and BAT2-6 Owner Runtime review is now the sole IN_PROGRESS substep. BAT-003/004/005/006, OUT-001, settlement, reward and recovery remain frozen.

2026-08-24 - BAT-002 Runtime Closure Recorded; Source-Bound Verification Activated

  • The BAT-002 implementation record, behavior/input/responsive evidence and design-index links are now present under docs/design-authority/pages/BAT-002-live-battle/. The page state moves to IMPLEMENTED_AWAITING_OWNER_RUNTIME_REVIEW at source 0de6c7a.
  • A combined source-bound attempt from the pushed Runtime source runs Godot import first, then the normal-render field check and the timeline, BAT-001, observation-service and legacy DEV-5 regressions. Attempt /private/tmp/aetherbound-guild-test-evidence/bat002-closure-source-bound/20260824T071013Z-49976 passes all five required markers exactly once with strict diagnostics 0; its evidence archive SHA-256 is 2c4c8f2cb77f0e09f66d69dea527cd5b9694de6e9adbf3fad126b00c0925f187.
  • BAT2-4D is COMPLETE; BAT2-5 is now the sole IN_PROGRESS substep. BAT2-5 owns retained source-bound candidate captures and final evidence before the separate Owner Runtime review. Later battle pages and settlement remain frozen.

2026-08-24 - BAT-002 Source-Bound Candidate Verified; Owner Review Activated

  • Source fea2ae9769a9db3b3b3a1e6966b782b2a42cde44 runs the BAT2-5 candidate harness from a fresh Git archive. Godot import completes before four normal 100% fixtures: 760x360/zh_CN, 844x390/en, 1280x720/zh_CN and 1280x720/en.
  • The candidate attempt /private/tmp/aetherbound-guild-test-evidence/bat002-live-candidate-source-bound/20260824T073836Z-70156 passes ABG_BAT002_CANDIDATE_OK exactly once, retains 40 captures, reports strict diagnostics 0, and removes its owned workspace. The evidence archive contains 45 files with SHA-256 a00f1b915f34ec9ac84b955ffc2eab7313830bcfccb9c1c1f79d4651161fb7d0.
  • BAT2-5 is COMPLETE; representative state captures and the complete archive record are under pages/BAT-002-live-battle/verification/. The page moves to VERIFIED_AWAITING_OWNER_ACCEPTANCE, and BAT2-6 is the sole active Owner Runtime review boundary. No later battle page or settlement work is authorized.

2026-08-24 - BAT-002 Candidate Visually Rejected; Approved-Design Repair Activated

  • The Owner reviewed the actual normal 100% Runtime and rejected it as substantially different from the approved battle design. The automatic verification remains valid for timeline behavior, input and layout safety, but cannot close the visual gate.
  • The earliest failed boundary is the BAT2-4 presentation implementation. The candidate replaced the approved asymmetric blue/red crest rails and centered ivory control ribbon with plain rectangles, replaced the continuous portrait-led Company rail with text-heavy cells and a dominant Retreat block, and rendered event facts as a debug-like translucent band rather than actor-attached paths, markers and values.
  • BAT-002 returns to IMPLEMENTATION_IN_PROGRESS. BAT2-4E is the sole active step and owns only approved-design visual reconstruction. Battle receipts, snapshots, event order/hashes, pause/speed/error behavior and BAT-003/004/005/ 006 plus OUT-001 boundaries remain frozen. BAT2-5 and BAT2-6 must run again after repair.

2026-08-24 - BAT-002 Approved-Design Reconstruction Implemented

  • Source 189c20b closes BAT2-4E. The Runtime now draws the asymmetric blue/red crest rails and centered ivory playback ribbon, uses a continuous portrait-led actor-state rail with compact numbered cells, and projects source-target paths, urgent markers and outcome identity beside the bound actors. The painted field, complete bound Party/enemy relation and ordinary scale remain dominant; no approved PNG is rendered as a complete Runtime background.
  • Focused Field and Timeline attempts pass with markers ABG_DEV5_BATTLE_LIVE_FIELD_OK and ABG_DEV5_BATTLE_TIMELINE_OK. Four normal 100% capture fixtures pass at 760x360/zh_CN, 844x390/en and 1280x720/zh_CN/en; package preflight is 32/32 and the BAT-002 static package suite is 17/17, all with strict diagnostics 0.
  • The repair is presentation-only: the original receipt, snapshot, event order/hashes, pause/speed/error semantics and BAT-003/004/005/006 plus OUT-001 handoffs are unchanged. BAT2-5 source-bound verification is now the sole active step. The worktree capture paths and exact checks are recorded in pages/BAT-002-live-battle/verification/visual-repair.json; they are not Owner acceptance evidence yet.

2026-08-24 - BAT-002 Repaired Source-Bound Verification Complete

  • Source 189c20bc4a97071577b43912ebd49bc6d4a3be30 is verified from fresh Git archives with Godot import before every focused attempt. Field and Timeline pass exactly once at /private/tmp/aetherbound-guild-test-evidence/bat002-live-source-field/20260824T142327Z-57347 and /private/tmp/aetherbound-guild-test-evidence/bat002-live-source-timeline/20260824T142355Z-57705; both report strict diagnostics 0.
  • The repaired candidate attempt /private/tmp/aetherbound-guild-test-evidence/bat002-live-repaired-candidate-source-bound/20260824T142449Z-58288 passes ABG_BAT002_CANDIDATE_OK exactly once, retains 40 captures across 760x360/zh_CN, 844x390/en, 1280x720/zh_CN and 1280x720/en at normal 100%, and reports strict diagnostics 0. Its 45-file evidence archive SHA-256 is 165b35d9c5869bf335858011aa40683357758a982efe5f451a9aa3f733d918a9.
  • BAT2-5 is COMPLETE; the source-bound record is pages/BAT-002-live-battle/verification/source-bound.json. BAT-002 moves to VERIFIED_AWAITING_OWNER_ACCEPTANCE and BAT2-6 is the sole active Owner Runtime review boundary. The earlier fea2ae9/aa6e0c4 candidate remains rejected visual provenance. No neighboring battle page or settlement work is authorized.

2026-08-24 - BAT-002 Owner Runtime Acceptance

  • The Owner replied 这个OK啊 after reviewing the repaired source-bound Runtime at actual size. The blocking scope is normal 100% text in the four required landscape fixtures: 760x360/zh_CN, 844x390/en, 1280x720/zh_CN and 1280x720/en.
  • The accepted surface preserves the complete four-member Company line and three-enemy relation, approved asymmetric blue/red faction rails, centered ivory playback controls, continuous portrait-led actor-state rail and actor-attached event language. The automatic timeline and diagnostic controls remain engine-owned; no reward, recovery, settlement or next-stage mutation occurs.
  • BAT-003/004/005/006 and OUT-001 remain truthful handoff boundaries only. The source-bound Field, Timeline and candidate markers each appear exactly once with strict diagnostics 0; the 45-file archive SHA-256 is 165b35d9c5869bf335858011aa40683357758a982efe5f451a9aa3f733d918a9.
  • BAT2-6 is COMPLETE and the M08 BAT-002 Runtime milestone is closed. The acceptance record is pages/BAT-002-live-battle/verification/owner-acceptance.md; no later page or settlement work is activated by this closure.

M07 BAT-001 Durable Specification Plan (Closed)

The completed page-production milestone is M07_BAT001_BATTLE_OPENING_OWNER_RUNTIME_REVIEW. Its player-visible stopping point is a truthful Battle Opening page reached from the accepted RSK-002 receipt: the objective, complete four-member Party order, enemy-facing direction and first disclosed threat are readable before observation starts. The page must stop before the live battle timeline and must not create a second receipt while this specification is being prepared.

Step Status Acceptance
BAT1-1 Contract and state matrix COMPLETE page-contract.json and state-matrix.json define the BAT-001 purpose, first-observation boundary, loading/stale/interrupted/error states, normal 100% landscape anchors, input/focus order, localization and ownership of objective, actor, threat and playback text. JSON, design-contract, predevelopment and focused static assertions pass.
BAT1-2 Battle authority reconciliation COMPLETE Owner confirmed OK on 2026-08-23. The previous v001 composition is rejected and retained as provenance only; the existing Owner-approved full-party battle page and phase6_battle_scale_04 proof are the sole visual authority.
BAT1-3 Deconstruction and reconstruction package COMPLETE Source 7fccbbc; accepted full-party master, scale proof, layer map, engine text slots, hit areas, asset provenance and runtime reconstruction spec pass the BAT-001 preflight 26/26.
BAT1-4 Godot Runtime COMPLETE Implement only the bounded Battle Opening static opening and explicit handoff to BAT-002 after the reconstruction gate; live battle simulation remains a later named step. Source f892bb6; focused source-bound behavior/input and four normal 100% capture attempts pass with strict diagnostics 0.
BAT1-5 Owner Runtime review COMPLETE Owner accepted the actual-size normal 100% Runtime on 2026-08-24, confirming the complete Party/enemy scale, field-attached HUD hierarchy, readable first threat and truthful BAT-002 stopping boundary.

Frozen scope: no 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 specification package is closed in source 1b3adc6, authority acceptance in b4f51d8, and the reconstruction package in 7fccbbc. Runtime implementation is committed in f892bb6; source-bound behavior and four capture attempts are retained before the Owner Runtime review step. The Owner acceptance record closes M07; M08 is not activated by this plan.

M08 BAT-002 Durable Specification Plan

The completed BAT2-1 page-production milestone is M08_BAT002_LIVE_BATTLE_SPEC. Its 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. The page stops at the immutable OUT-001 handoff and does not render result, reward or recovery UI.

Step Status Acceptance
BAT2-1 Contract and state matrix COMPLETE BAT-002 live-event states, objective/actor/target/event bindings, normal 100% landscape anchors, zh_CN/en text ownership, input/focus, reduced modes, exact no-current-event copy, invalid-event pause, interruption routing and BAT-003/004/005/006 plus OUT-001 boundaries are defined. JSON, six focused assertions, design contracts and predevelopment authority pass.
BAT2-2 Live battle authority reconciliation COMPLETE Reuse the accepted Japanese 2D full-party battle composition and scale proof, identify the live-event visual deltas and reject any alternate sparse tableau, card wall, oversized ordinary actor treatment or historical generic Runtime as automatic authority. Byte-identical page sources, hashes, live-state map and four focused assertions pass.
BAT2-3 Deconstruction and reconstruction package COMPLETE Source f9f50cd; layer/text/hit maps, dynamic ownership, zero-generation asset provenance, contact sheet and Runtime handoff pass focused checks. Owner accepted the final deconstruction and asset boundary on 2026-08-24; the page is RECONSTRUCTION_READY.
BAT2-4 Godot Runtime COMPLETE Functional timeline/diagnostic implementation through BAT2-4D remains valid. BAT2-4E closes at source 189c20b after restoring the approved faction rails, ivory control ribbon, portrait-led Company rail and actor-attached event language without changing semantics.
BAT2-5 Source-bound verification COMPLETE Source 189c20b; fresh-archive import, Field and Timeline markers, four normal 100% fixtures, 40 captures, strict diagnostics 0 and exact-once ABG_BAT002_CANDIDATE_OK are recorded in verification/source-bound.json.
BAT2-6 Owner Runtime review COMPLETE Owner confirmed 这个OK啊 on 2026-08-24 after reviewing the repaired actual-size Runtime: complete four-member Company/three-enemy relation, approved faction rails and ivory controls, continuous portrait-led actor rail, actor-attached event language and truthful BAT-003/004/005/006 plus OUT-001 boundaries.

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: M08 activation is committed at 53490a1 before BAT2-1 product documents are authored. BAT2-1 closes in one focused specification commit, BAT2-2 closes in one focused authority commit, and BAT2-3 owns one focused reconstruction-package commit before BAT2-4 may become IN_PROGRESS.

M08 BAT-002 Reconstruction Plan (Closed)

M08_BAT002_LIVE_BATTLE_RECONSTRUCTION owns only the page-specific deconstruction and reconstruction handoff for BAT-002 v001. The player-visible stopping point is a documented, reviewable live-battle composition whose world, complete Party/enemy lines, central action gap, compact rails and subject- attached event geometry can be rebuilt from editable existing assets and engine-owned state. No battle timeline is run in this milestone.

Step Status Acceptance
BAT2-3A Image forensics and layer ownership COMPLETE Approved master/scale proof are inspected at source size; deconstruction board, normalized layer map, dynamic-region map and explicit static/runtime/hit-area ownership preserve complete lines, ordinary-unit scale, action gap and attached rails.
BAT2-3B Engine slots and interaction map COMPLETE Text slots cover every objective, actor, target, event, timer, playback, error and outcome handoff value in zh_CN/en at normal 100%; hit areas stay independent, ordered and at least 48 logical px at the contained 640x360 canvas.
BAT2-3C Existing asset provenance and reconstruction handoff COMPLETE Reused clean field, accepted actor/enemy families and engine-drawn chrome have hashes, contact sheet, dynamic regions, runtime asset manifest and reconstruction spec; no new generation or Runtime edit is introduced.
BAT2-3D Focused package preflight and closure COMPLETE Source f9f50cd; focused BAT-002 reconstruction assertions, page preflight, design-contract/predevelopment validation and Gallery build pass. Owner accepted the deconstruction and zero-generation asset package on 2026-08-24.

Frozen scope: no new image generation or image editing, no Godot Runtime or battle-rule changes, no battle simulation, no BAT-003/004/005/006 or OUT-001 implementation, no content/economy changes, no device/package/store/release work and no unrelated cleanup. Reuse of accepted existing raster assets is allowed only when provenance and ownership are recorded.

Owned paths: docs/design-authority/pages/BAT-002-live-battle/, the focused BAT-002 reconstruction checker/tooling and the BAT-002 entries in the design index/gallery. Forbidden paths: runtime/entry/, runtime/domain/, runtime/presentation/, battle services/rules and later page packages.

Commit boundary: activation is source 2e18f63; the machine-validated package is pushed at f9f50cd. The Owner acceptance closure records the final ABG BAT-002 RECONSTRUCTION READY handoff. BAT2-4 is not activated by this closed plan.

M08 BAT-002 Runtime Plan (Closed)

M08_BAT002_LIVE_BATTLE_RUNTIME owns only the first receipt-bound live observation reconstructed from the accepted BAT-002 package. Its player-visible stopping point is the approved contained battlefield with complete Party and enemy lines, ordinary-unit scale, central action corridor, compact rails and engine-owned forecast/commit/resolve/aftermath facts. Diagnostic controls remain non-combat controls. The timeline locks an immutable outcome for OUT-001 and applies no reward, recovery, next-stage or Company-management operation.

Step Status Acceptance
BAT2-4A Receipt-bound observation service COMPLETE Source 2d4d5a7; begin/preview/commit/retry preserve the original operation, snapshot and one receipt, validate nine event identities/order/hashes and lock the immutable outcome without settlement. Focused service and historical DEV-5 settlement attempts pass with strict diagnostics 0.
BAT2-4B Contained layered live battlefield COMPLETE Source 950b32e; the accepted contained 16:9 field binds the complete Party/enemy lines, compact rails, central waiting/event projection and actor-state rail. Exact waiting copy, normal 100% required landscapes/locales, Settings return, 48px targets, BAT-001 handoff and no-hidden-tick behavior pass with strict diagnostics 0.
BAT2-4C Timeline and diagnostic boundaries COMPLETE Source 0de6c7a; connect waiting/forecast/committed/resolving/resolved timing and pause plus legal 1x/2x/4x presentation speed. Inspect, Settings, retreat, invalid-event retry/safe exit, interruption BAT-006 and outcome OUT-001 remain truthful handoff entries only; speed/pause/error/interruption cannot alter event order, hashes or outcome.
BAT2-4D Focused implementation closure COMPLETE Source 0de6c7a; implementation record and combined source-bound attempt /private/tmp/aetherbound-guild-test-evidence/bat002-closure-source-bound/20260824T071013Z-49976 pass the focused service, Runtime, input, responsive, BAT-001 and legacy DEV-5 checks with strict diagnostics 0. BAT2-5 owns candidate evidence and captures.
BAT2-4E Approved-design visual reconstruction COMPLETE Source 189c20b; focused Field, Timeline, four normal 100% capture fixtures, 17 static assertions and 32/32 package preflight checks pass with strict diagnostics 0. The repair restores the approved rail, portrait and actor-attached event hierarchy without changing semantics.
BAT2-5 Source-bound verification COMPLETE Source 189c20b; fresh import, focused Field/Timeline checks and four normal 100% fixtures pass with strict diagnostics 0. The candidate archive and exact markers are recorded in verification/source-bound.json; the older fea2ae9 captures remain rejected visual provenance.
BAT2-6 Owner Runtime review COMPLETE Owner confirmed 这个OK啊 on 2026-08-24 at actual size. The page closes at the immutable OUT-001 handoff; no reward, recovery, settlement or next-stage mutation is applied.

Acceptance checks: preserve the original operation, Party snapshot and exactly one battle receipt; validate deterministic event identity/order/hash and negative corruption paths; preserve Coin, XP, Recruit history and settlement state through outcome lock; keep all required live/error/interruption states, complete lines and accepted scale; pass 760x360, 844x390, 1280x720, zh_CN/en, normal 100%, touch, keyboard/controller focus, 48px targets and strict Godot diagnostics.

Owned paths: runtime/entry/battle_service.gd, runtime/entry/entry_shell.gd, one BAT-002 engine-art helper under runtime/entry/, focused BAT-002 tests under runtime/tests/dev5/, BAT-002 implementation/verification records and the matching plan/checkpoint entries.

Forbidden paths: runtime/domain/p9_2/ and its historical pixel presenter; editing approved/reconstruction PNGs; new image/audio generation; BAT-003/004/ 005/006 or OUT-001 page implementation; reward/XP/recovery/next-stage, content/economy or Save-schema replacement; device/package/store/release work; unrelated cleanup. Existing untracked .uid, .import and prototype_incremental/ paths are never staged or deleted.

Commit boundary: activation is pushed before BAT2-4A product code. BAT2-4A, BAT2-4B and BAT2-4C each close with a focused pushed commit; BAT2-4C code is remote-visible at 0de6c7a. BAT2-4D closes with the implementation record; the fea2ae9/aa6e0c4 candidate is retained as visually rejected provenance. This Owner-rejection/repair activation was pushed before BAT2-4E product code. BAT2-4E closes at focused visual-repair source 189c20b; BAT2-5 closes with the fresh source-bound record in verification/source-bound.json. BAT2-6 closes with verification/owner-acceptance.md. Each substep receives focused verification and a focused pushed commit before the next substep becomes IN_PROGRESS; a failed check keeps the same step active. Final BAT2-4 handoff remains ABG BAT-002 RUNTIME IMPLEMENTED; no neighboring page or settlement work is authorized without a separately activated durable plan.

Milestone Rules

Every phase receives its own child Goal, frozen contract and implementation plan before product edits. Each plan must:

  1. define one player-visible stopping point;
  2. keep exactly one step IN_PROGRESS;
  3. list owned and forbidden paths;
  4. test static/schema, focused behavior, regressions, simulations and runtime in increasing cost order;
  5. create an explicit focused commit and push it before advancing;
  6. update this roadmap, ../CURRENT_CHECKPOINT.md and the append-only ledger only after the actual state changes.

Ordinary completion advances directly to the next approved phase. Work pauses only at the three Owner checkpoints, a real product redesign boundary, an external service/account blocker, or a separately authorized delivery boundary.

Content Completion Definition

A content identity is complete only when its schema validates, mechanic is implemented, references resolve, localization exists, decision counterfactual passes, production asset/audio state is recorded and the content appears in a real rendered encounter. Count-only JSON or Markdown does not close content.

Bulk Region production must reuse the FG-2 canonical runtime and production pipeline. Do not create another phase-specific duplicate simulator for each Region. Compatibility adapters may preserve immutable regressions, but new gameplay authority must have one source of truth.

Planned Human Review Deliveries

  • Checkpoint 1: short H5 focused on final-direction Market, battle motion, result and recovery. This decides presentation before bulk production.
  • Checkpoint 2: continuous build through RG-04 for strategy-depth and comprehension review.
  • Checkpoint 3: complete first-clear beta and later final local candidate.

H5 export/deployment is activated at each checkpoint; native packaging, signing, device installation, stores and publishing remain outside this plan.

Program Issue Register

ID Status Boundary
FG-I01 RESOLVED_FG1 P10.3 Step 3 proves three Artifact and two promotion valuation reversals.
FG-I02 RESOLVED_FG2_STEP1 The campaign adapter now preserves exact P10.0 snapshots/events and forwards all transactions to canonical services.
FG-I03 REOPENED_VISUAL Event-bound motion/audio logic passed local gates, but pixel production art is rejected and must be replaced.
FG-I04 OPEN_OWNER Human comprehension, fun, visual and listening acceptance remain unproven.
FG-I05 FROZEN_DELIVERY Device, packaging, signing, stores and release require separate Owner authorization.
FG-I06 OPEN_VISUAL_REPAIR Owner rejected pixel Gallery item 5vl2EqsYWkey; accepted hand-drawn direction must be restored before FG-5.

Immediate Next Action

DEV-5 is now closed at its source-bound candidate. Before any DEV-6 product code, activate the separate DEV-6 durable plan for second-cycle Company management; no historical casualty or equipment semantics may be inferred.

FG-4 Japanese 2D Hand-Drawn Redevelopment Plan

Status: OWNER_APPROVED Active implementation step: DEV-5D_KNOCKOUT_RECOVERY Goal: 06_DEVELOPMENT_AND_REVIEW.md Contract: 06_DEVELOPMENT_AND_REVIEW.md Page plan: 03_PAGES_AND_UX.md

Development Sequence

Step Status Player-visible outcome Approval boundary
P0 Project consolidation COMPLETE Product strategy, systems, architecture, Save, pages, UI, art/audio and ordered roadmap are one current contract; no new runtime scope ABG_PREDEVELOPMENT_DESIGN_OK; ABG_DESIGN_CONTRACTS_OK; dependency/cleanup classification recorded; Owner-approved next step is DEV-1 re-review
DEV-0 Planning and cleanup COMPLETE Six current documents define the game, pages, art direction and order. Owner approved entry-first development.
UI-0A Complete UI Style Bible COMPLETE Lock visual identity, page templates, components, buttons, text, modals, states, input, responsive, motion, audio relationship and asset standards before further UI code Written sections in docs/03 and docs/04 are complete; the concrete anchor is the next Owner visual gate
VA-1 Guild Company visual anchor OWNER_ACCEPTED_FOR_CONTINUATION One real Guild scene proves actor scale, scene depth, object-led action, HUD rails and the first accepted visual hierarchy Master B composite, responsive geometry and Chinese runtime placeholder repair are accepted as the restoration baseline; later full dynamic layer replacement remains separate
DEV-1 Boot, first launch and Title IN_PROGRESS_SYS003_RUNTIME_REVIEW Re-review the existing Boot, first-launch, Title and Settings path against the consolidated product/UI contract without changing later gameplay scope. SYS-003 v002 is the only active page; focused behavior, responsive captures and Owner review precede Initial Company
DEV-2 Initial Expedition Company COMPLETE Four equal stable generated offers can be inspected; exactly two are selected and committed as the persistent opening roster of one continuous incremental game. Owner accepted candidate v3 for continuation; source-bound DEV-2 and preserved FG-4 suites pass at source 4352e25.
DEV-3 Guild and first Market COMPLETE The Guild identifies the next action; Market comparison and recruit review build the opening Company. Source 0da89b8; all DEV-1/2/3 checks and 24 normal-render states pass after the 760x360 repair.
DEV-4 Automatic formation and risk COMPLETE Player chooses members; the system orders them and exposes protection, reach, threat and reward before commitment. Source 62db001; all DEV-1/2/3/4 checks and 24 normal-render states pass with no battle receipt.
DEV-5 Battle, result and recovery IN_PROGRESS Real melee, ranged, magic, healing, guard, damage, knockout, reward and next-stage recovery complete the first 15-20 minute loop. Owner completes one full first cycle in a playable H5 and sees the same knocked-out Recruit return next stage.
DEV-6 Second cycle and Company management COMPLETE Persistent roster, equipment, levels, dismissal and voluntary Contract return support the bounded second-cycle management path; promotion, Artifacts and later Contracts remain frozen. Source-bound DEV-6 candidate passes all DEV-1..6 markers and 24 normal-render states at source 9617324; human visual/comprehension/fun, device, package, store and release gates remain open.
DEV-7 RG-01 through RG-04 production conversion PENDING Eight Contracts and eight Bosses use the approved hand-drawn presentation over preserved systems. Replacement midpoint H5 passes depth, clarity and continuation review.
DEV-8 RG-05 through RG-08 and ending PENDING Remaining Regions, Contracts, Bosses, catalogs and the First Chronicle ending are complete. End-to-end first-clear beta reaches the finite ending or Oath Season choice.
DEV-9 Postgame and local release candidate PENDING Hidden Professions, Oath laws, Records, all 50 page states, localization, accessibility, performance and defect closure are complete. Final local candidate is ready for separate human/device/package gates.

Why Player Entry Comes First

The Owner must be able to experience every increment in the same order as a new player. A standalone battle frame can validate art but cannot prove launch, navigation, settings, run creation or tutorial continuity. Development therefore keeps one continuous path from Boot to the current stopping point. Battle visual and motion work begins only after New Run, Market, formation and risk can reach it through real navigation.

Execution Boundary

DEV-1 is locally complete and its human gates remain open. The Owner authorized DEV-2 on 2026-08-17 with one corrected product boundary: the choose-two Recruits become a persistent initial Expedition Company, Contract runs are bounded expeditions inside continuous incremental growth, and a zero-HP Recruit returns for the next stage rather than dying permanently.

DEV-2 may correct current design authority, implement the stable initial draft, the choose-two page, its review/commit persistence and a bounded Guild handoff. It may not implement the Guild/Market, retrofit legacy battle/casualty code, change existing FG-4 results, begin DEV-3, generate bulk assets, package or release. The legacy FG-4 implementation remains preserved evidence until its named player-order conversion step.

DEV-1 Durable Implementation Plan

Player-visible stopping point:

launch the real Godot game
-> watch named local verification progress or recover through Retry
-> complete first-launch language, safe-area and accessibility setup once
-> reach the painted Title with truthful New Game, Continue, Settings and Credits states
-> change and persist every essential DEV-1 setting
-> restart or reset the entry state and repeat the complete path

Only one row may be IN_PROGRESS. A failed check keeps that row active.

Substep Status Owned product boundary Narrow acceptance check Commit boundary
DEV-1A SYS-001 Boot COMPLETE New entry controller, resource/settings/save verification, named progress, recoverable error, Retry and safe diagnostics ABG_DEV1_BOOT_OK; ABG_DEV1_BOOT_RUNTIME_OK; strict attempt runner PASS Focused Boot implementation, test, plan/checkpoint update and push
DEV-1B SYS-002 First launch COMPLETE Persistent language, safe area, 100/115/130% text, reduced motion/flashes, captions and usable first-launch completion ABG_DEV1_FIRST_LAUNCH_OK; Boot runtime handoff regression PASS Focused setup implementation, persistence/layout test, plan/checkpoint update and push
DEV-1C SYS-003 Title COMPLETE Painted guild-threshold Title, truthful New Game/Continue/Settings/Credits state and exact return/back behavior ABG_DEV1_TITLE_OK; first-launch regression PASS Focused Title implementation, state/navigation test, plan/checkpoint update and push
DEV-1D SET-001..006 + SYS-008 COMPLETE Settings index, display/text, motion/flash/power, audio/captions, controls, language/locale, credits/licenses/data notice ABG_DEV1_SETTINGS_OK; Title and first-launch regressions PASS Focused Settings/Credits implementation, behavior/localization test, plan/checkpoint update and push
DEV-1E Entry-flow candidate COMPLETE End-to-end player order, responsive refinement, restart/reset fixtures and candidate evidence Source 43e5bac; ABG_DEV1_CANDIDATE_SUITE_OK; ABG_FG4_MIDPOINT_SUITE_OK; strict diagnostics 0 Candidate docs/evidence closure commit and push
DEV-1F Title chrome visual repair COMPLETE Fixed Title frame translates the accepted reference's enamel, ivory, gold-trim, cut-corner, heraldic and icon-forward grammar without copying its battle composition Six DEV-1 headless checks and parsed touch PASS; 20 normal-render development frames cover 760x360/844x390/1280x720, zh_CN/en and 100/130%; focused, primary and disabled states are legible Focused Title chrome implementation, capture, plan/checkpoint update and push
DEV-1G Entry-page visual repair COMPLETE The approved Title grammar extends coherently to Boot, first launch, Settings and Credits without a card wall Six DEV-1 headless checks and parsed touch PASS; final 20-frame normal-render development matrix covers all required sizes/languages/scales with strict diagnostics 0 Focused remaining-page styling, test, plan/checkpoint update and push
DEV-1H Revised entry candidate COMPLETE Complete player-order entry path is source-bound and ready for renewed Owner review Source d3b9326; revised DEV-1 candidate suite and complete FG-4 regression PASS with strict diagnostics 0 Candidate evidence closure commit and push
DEV-1R Entry re-review IN_PROGRESS_SYS003_RUNTIME_REVIEW Re-open the existing DEV-1 path from Boot through first-launch setup, Title, Settings and Credits against the consolidated product/UI contract; no later page or semantic rewrite Focused Title normal-render frames, parsed input and runtime review at the required landscape/text matrix after SYS-002 acceptance Focused Title review evidence, any approved DEV-1 repair commit, plan/checkpoint update and push

DEV-1 owned paths are runtime/entry/, the minimum integration changes to runtime/main.gd, runtime/main.tscn and runtime/project.godot, DEV-1 tests under runtime/tests/dev1/, and existing plan/checkpoint/ledger sections. Existing hand-drawn entry art may be reused with its provenance unchanged. Later gameplay controllers, domain services, content catalogs, Save-v11 rules, battle assets and later-page implementation are preserved and outside this step.

DEV-1 verification increases in cost: static parse/resource checks, the active substep's focused headless behavior test, applicable repository regression, then normal-render runtime and real parsed input. Formal fresh import/capture attempts use tools/run_test_attempt.py with exact required markers. Candidate evidence is bound to a clean committed source; dirty-tree captures are guidance only.

DEV-1 final handoff is exactly ABG DEV-1 candidate ready. It requires focused pushed commits, HEAD == upstream, a clean worktree, no owned test processes, and aligned plan/checkpoint/ledger facts. Human visual/comprehension, device, package, store and release gates remain OPEN.

DEV-1 Issue Register

ID Status Boundary
DEV1-I01 RESOLVED_DEV-1A A bounded entry controller now owns Boot while the historical gameplay facade remains preserved and hidden during normal launch.
DEV1-I02 RESOLVED_REUSE Existing p9_3_guild_hall.png is a usable hand-drawn entry background; no DEV-1 paid image request is currently required.
DEV1-I03 OPEN_HUMAN_REVIEW_REVISED Owner rejected the earlier generic DEV-1 chrome. The revised source-bound runtime repairs that boundary locally; only renewed Owner review can accept it.
DEV1R-I01 OPEN_VISUAL_FAIL The Boot candidate still uses the rejected procedural entry-chrome grammar. A brighter background and translucent lower rail do not satisfy the Owner reference; replace the visual skeleton before first-launch or Title review.
DEV1-I04 RESOLVED_DEV-1F The Title now carries deep-navy enamel, ivory controls, warm-gold layered trim, cut corners, heraldry, compact icon framing and authored focused/primary/disabled states at actual play size. Remaining entry pages are bounded by DEV-1G.
DEV1-I05 RESOLVED_DEV-1G Boot, first launch, Settings and Credits now reuse the Title's enamel, ivory, gold-trimmed, heraldic and icon-forward controls without changing real behavior.

DEV-2 Durable Implementation Plan

Player-visible stopping point:

launch and reach the real Title
-> choose New Game
-> receive four stable generated Recruit offers in fixed positions
-> inspect each Profession, attributes and one Trait benefit/cost
-> compare any two without changing selection
-> select exactly two and review the opening Expedition Company
-> revise or atomically create the persistent opening roster
-> restart at any pre-commit point without rerolling offers or losing selection
-> stop at a truthful Guild handoff; Market and Contract play remain DEV-3+

Only one row may be IN_PROGRESS. A failed check keeps that row active.

Substep Status Owned product boundary Narrow acceptance check Commit boundary
DEV-2A Continuous-growth authority correction COMPLETE Six current documents consistently define one persistent Expedition Company, Contract expeditions that retain roster growth, non-permanent zero-HP recovery at the next stage, and the exact DEV-2 stopping point Cross-document terminology/semantic scan has no authoritative permanent-death or Contract-roster-discard promise; legacy runtime divergence is explicitly frozen; consolidated design and Recruit-loadout validators pass Focused authority/checkpoint/ledger correction and push
DEV-2B Stable initial draft COMPLETE Seed reservation, exactly four valid generated Recruit records, stable IDs/order, selected-ID persistence, retry-safe load and invalid/corrupt recovery ABG_DEV2_DRAFT_OK; create/load/restart, no reroll, zero-to-two selection, duplicate/unknown/three-ID rejection, backup/candidate recovery and no pre-commit roster pass Focused draft service, persistence tests, plan/checkpoint update and push
DEV-2C Recruit choice COMPLETE Title reaches one real Japanese-fantasy selection page with four equal offers, Inspect, Compare A/B, independent Select toggles and exact 0/2..2/2 gating ABG_DEV2_CHOICE_OK; ABG_DEV2_CHOICE_TOUCH_OK; six applicable DEV-1 markers pass; 16 normal-render frames cover choice/selected/inspect/compare at 760x360/844x390/1280x720, zh_CN/en and 100/130% with layout bounds clean Focused selection UI, tests, plan/checkpoint update and push
DEV-2D Review, commit and handoff COMPLETE Review names selected two and unchosen two; Revise preserves the draft; Create atomically writes one persistent roster and reaches a truthful Guild boundary without implementing DEV-3 ABG_DEV2_COMMIT_OK; ABG_DEV2_COMMIT_TOUCH_OK; six applicable DEV-1 and all earlier DEV-2 markers pass; 24 normal-render frames cover choice/selected/inspect/compare/review/guild with strict diagnostics 0 Focused commit/handoff implementation, tests, plan/checkpoint update and push
DEV-2E Initial Company candidate COMPLETE Complete Boot -> setup if needed -> Title -> choose-two -> review -> restart/revise/create -> Guild handoff path is source-bound Source d199053; ABG_DEV2_CANDIDATE_SUITE_OK; ABG_FG4_MIDPOINT_SUITE_OK; strict diagnostics 0; actual-size agent visual review Candidate evidence closure commit and push
DEV-2F Character-forward visual repair COMPLETE One unified compact actor family stands in a shared painted scene; precise ornamental framing, stable content inset and differentiated return/tool/primary commands support rather than re-box the characters Owner accepted v3 for continuation; source 4352e25 passes complete source-bound DEV-2 and preserved FG-4 suites with strict diagnostics 0 Focused visual implementation, asset ledger, tests, plan/checkpoint update and push

DEV-2 owns runtime/entry/, new DEV-2 tests under runtime/tests/dev2/, the minimum main-entry integration and existing authority/checkpoint/ledger sections. It reuses the accepted entry background and procedural chrome; DEV-2F owns only the bounded 12-base-Profession static unit family required by the current pages. Guild/Market, formation, battle, legacy casualty conversion, economy retuning, later Regions and delivery remain outside DEV-2.

DEV-2 final handoff is exactly ABG DEV-2 candidate ready. It requires focused pushed commits, HEAD == upstream, a clean worktree, no owned test processes and aligned plan/checkpoint/ledger facts. Human comprehension/choice/visual, device, package, store and release gates remain OPEN.

DEV-2 Issue Register

ID Status Boundary
DEV2-I01 RESOLVED_DEV-2A All six current authorities now place the persistent Company/knockout rule first; contradictory FG-4 lifecycle details are explicitly frozen legacy evidence and current New Game/Company pages use the corrected model.
DEV2-I02 FROZEN_LATER_CONVERSION Existing FG-4 gameplay and Save-v11 implement the superseded casualty/run model; DEV-2 preserves them and does not claim they already satisfy the new authority.
DEV2-I03 RESOLVED_REUSE Accepted painted entry art plus procedural enamel/ivory/gold chrome cover the initial-company page; no paid generation is required.
DEV2-I04 RESOLVED_DEV-2B A dedicated Initial Company draft service now persists one seed, four fixed complete offers and zero-to-two selected IDs without creating current_run, a Contract or a Company before commit.
DEV2-I05 RESOLVED_DEV-2C Title now reaches the real four-offer page; Inspect/Compare do not mutate selection, a third selection is visibly rejected, only exactly 2/2 enables Review, and Back/restart preserve the draft.
DEV2-I06 RESOLVED_DEV-2D Review distinguishes the selected persistent pair from two discarded provisional offers; Company creation is atomic and idempotent, stores no Contract reset or unchosen Recruit, and restart reaches a truthful bounded Guild handoff.
DEV2-I07 RESOLVED_OWNER_CONTINUATION Owner accepted frame/spacing candidate v3 and explicitly authorized progression into DEV-3 through DEV-6. Broader comprehension/fun, device and release gates remain separately open.
DEV2-I08 RESOLVED_CHARACTER_FORWARD The final choice, Inspect, Compare, Review and Guild pages use person-bearing controls and one shared painted scene rather than the rejected card/text wall.
DEV2-I09 RESOLVED_UNIFIED_ACTORS The mixed-source set and first tall unified sheet are superseded. All 12 base Professions use one compact 4.5-5-head line/face/cel/light family at accepted choice, Inspect and Guild scales.
DEV2-I10 RESOLVED_BUTTON_HIERARCHY Candidate v2 replaces repeated double-gold boxes and generic diamonds with parchment return tabs, compact A/B markers, plus/check selection, compare arrows and confirmation checks. Owner follow-up does not reopen that button hierarchy; the remaining rejection is frame craftsmanship and spacing in DEV2-I12.
DEV2-I11 ACTIVE_EXECUTION_CONSTRAINT Owner rejects opaque, repeated long regression cycles during visual iteration. DEV-2F uses only the focused current-page interaction check and six representative frames; any check expected to exceed 60 seconds must be named with purpose and duration before it starts, and full DEV-2/FG-4 regression waits for visual-direction acceptance.
DEV2-I12 RESOLVED_OWNER_ACCEPTED_V3 Candidate v3 separates frame and content safe rectangles: one complete cut-corner hairline, four constructed corner fittings and aligned header/footer rails sit outside a stable inner inset. Owner accepted the result for continuation.

DEV-2F Owner Rejection Recurrence Check

Every DEV-2F runtime frame must be checked against all prior Owner feedback before it is sent for review. A later repair does not erase an earlier rule.

  • Recruits remain the first visual read; repeated text plates or a card wall may not reclaim the composition.
  • All 12 base-Profession actors use one approved drawing family: matching face/eye construction, compact proportion, line hierarchy, cel-shadow count, material density, light and play-size treatment. Mixed legacy actor batches are prohibited.
  • Choice and Guild actor scale must retain visible environment and complete silhouettes; Inspect/Compare may enlarge actors without changing their style.
  • Return, A/B tools, comparison, selection and confirmation must have distinct silhouettes and familiar semantic symbols. A generic diamond repeated on every command is prohibited.
  • Initial Company pages use open corner ornaments and header/footer rails; repeated heavy octagonal button frames are prohibited. One precise complete outer hairline is allowed when it is paired with authored corner fittings and a separately inset content rectangle; sparse unfinished corner strokes and content touching ornament are prohibited.
  • Visual iterations use focused behavior plus representative normal-render frames. Full source-bound regression runs once after the Owner-facing visual direction stops changing, not after every chrome adjustment.
  • Before any check expected to exceed 60 seconds, state its exact scope, necessity and expected duration to the Owner. Do not hide a complete legacy suite behind the generic word Runner; the runner is only the required isolation, process-group cleanup, strict-marker and evidence-retention shell.
  • Each Owner rejection or approval updates the active issue row, checkpoint and ledger before the next candidate. human_reviewed remains false until the Owner explicitly accepts the current runtime revision.

DEV-3 Durable Implementation Plan

Player-visible stopping point:

launch and Continue the persistent two-Recruit Expedition Company
-> see the Guild name the first Contract as the next action
-> inspect an unlocked Contract and choose difficulty without changing state
-> confirm one bounded Contract with 52 Coin and Line capacity four
-> enter one stable Market with three Recruit, four equipment and three battle offers
-> inspect an offer without buying from the list
-> review exact Recruit identity, Profession, Trait benefit/cost, attributes,
   starting item, price and Company/Line effect
-> Cancel to the same offer or confirm one atomic hire
-> complete a second independent review and hire
-> stop in the same Market at Company four, Line capacity four and 24 Coin

Only one row may be IN_PROGRESS. A failed check keeps that row active.

Substep Status Owned product boundary Narrow acceptance check Commit boundary
DEV-3A Contract foundation COMPLETE One authoritative migration of the verified Company store adds zero-or-one active Contract, deterministic first-Market state, 52 Coin, Line capacity four, operation receipts and retry-safe persistence without changing the two existing Recruit records ABG_DEV3_CONTRACT_OK; v1 migration, create/retry/conflict, candidate/backup recovery, exact 3/4/3 board and restart stability pass Focused Contract/Market domain service, persistence test, plan/checkpoint update and push
DEV-3B Guild and Contract choice COMPLETE The real Guild identifies the next action, opens one unlocked Contract review, changes difficulty without commitment and creates the bounded Contract only after explicit confirmation ABG_DEV3_GUILD_OK; Continue/Guild/review/cancel/confirm/restart and visible disabled-reason paths pass with no Market purchase or DEV-4 state Focused Guild/Contract UI, input test, plan/checkpoint update and push
DEV-3C Stable Market and Recruit review COMPLETE A physical requisition surface exposes all 3 Recruit, 4 equipment and 3 battle offers; list actions only inspect, while Recruit review shows exact decision data and Cancel returns to the invoking stable offer ABG_DEV3_MARKET_OK; board identity, list/review separation, exact price/affordability/capacity copy, cancel/focus restoration, localization and restart pass Focused Market/review UI, behavior test, plan/checkpoint update and push
DEV-3D Atomic first hires COMPLETE Two separately reviewed affordable level-1 Recruit offers each create one idempotent receipt and update Coin, ownership and offer state atomically from Company 2 to 3 to 4 while Line capacity remains four ABG_DEV3_HIRE_OK; exact combined 28 Coin cost and 24 Coin remainder, double-confirm, new-ID retry, stale/unaffordable/capacity-display and interrupted-write recovery pass Focused hire transaction/UI feedback, persistence/input test, plan/checkpoint update and push
DEV-3E Guild/Market candidate COMPLETE The source-bound Title/Continue -> Guild -> Contract/difficulty -> Market -> two separate Recruit reviews/hires path is responsive, persistent and stops before formation/risk Source 0da89b8; six DEV-1, six DEV-2, four DEV-3 markers and 24 normal-render frames PASS with strict diagnostics 0 Candidate evidence closure commit and push

DEV-3 owns the minimum Company-store migration, Contract/Market domain service, Guild/Contract/Market/Recruit-review runtime in runtime/entry/, focused tests under runtime/tests/dev3/, and existing checkpoint/contract/ledger sections. It reuses the accepted painted Guild scene, unified compact Recruit family and precise inset/frame/button grammar. Equipment and battle offers are inspectable but cannot be purchased or committed in DEV-3. Automatic formation, Party-line editing, risk selection, battle, result, knockout recovery, second-cycle management, later Regions, bulk assets, devices, packages and release remain outside DEV-3.

DEV-3 verification increases in cost from static/domain persistence, to the active focused behavior/input test, then the source-bound DEV-3 path and a small representative normal-render matrix. The preserved full FG-4 suite is not repeated during ordinary DEV-3 substeps; it runs once at the final applicable regression boundary. Any check expected to exceed 60 seconds is named with scope, purpose and expected duration before it starts.

DEV-3 final handoff is exactly ABG DEV-3 candidate ready. It requires focused pushed commits, HEAD == upstream, a clean worktree, no owned test processes and aligned plan/checkpoint/ledger facts. Human visual/comprehension/fun, device, package, store and release gates remain OPEN.

DEV-3 Issue Register

ID Status Boundary
DEV3-I01 RESOLVED_DEV-3A Company schema v2 migrates valid DEV-2 v1 data in place and stores the sole active Contract, deterministic Market and receipts in the same redundant atomic file.
DEV3-I02 FROZEN_LEGACY Historical FG-4 Contract services retain superseded roster-loss semantics and cannot be adopted as current authority without conversion in their named later step.
DEV3-I03 ACTIVE_RECURRENCE_CHECK Guild and Market must preserve character-first staging, stable content/frame insets and differentiated commands. A card/text wall, recommended Recruit, combined Hire two, list-row purchase or silent disabled control is prohibited.
DEV3-I04 OPEN_HUMAN_GATE Automated/runtime evidence cannot grant understanding of Company versus Line capacity, purchase choice quality, visual acceptance or willingness to continue.
DEV3-I05 RESOLVED_CANDIDATE Source a0918bc passed all 16 behavior/touch checks but failed its first normal-render fixture because the 760x360 Market footer extended 2 px below the viewport. Source 0da89b8 contains the short-screen repair and passes the entire fresh source-bound matrix.

DEV-4 Durable Implementation Plan

The Party Line page-production milestone M03_DEV4_PARTY_LINE_DESIGN is closed at source 94a2356 after Owner acceptance. The current page-production milestone is M04_DEV4_PTY002_READINESS_DESIGN; its active stopping point is the written SPEC_READY package under docs/design-authority/pages/PTY-002-readiness-review/.

Player-visible stopping point:

launch and Continue at the stable first Market with four owned Recruits
-> enter Party Line only after both opening hire receipts exist
-> see all four members placed on one rear-left to front-right cord
-> identify exposed position 0, protection, reach and the first known threat
-> select a member and swap destinations without drag
-> compare the exact relation changes, Undo or Reset, then save one atomic order
-> review and accept the frozen readiness snapshot without starting battle
-> compare three stable risk options with no recommendation or automatic choice
-> inspect known threat, uncertainty, entry cost, reward and recovery exposure
-> Cancel safely or open the selected risk commitment with the same party snapshot
-> stop before Begin Battle; DEV-5 owns the first battle receipt and simulation

Only one row may be IN_PROGRESS. A failed check keeps that row active.

Substep Status Owned product boundary Narrow acceptance check Commit boundary
DEV-4A Formation/risk foundation COMPLETE In-place Company/Contract migration adds one deterministic prepared-party draft, rear-left/front-right order rules, three stable first-battle risk projections and retry-safe formation/readiness receipts without creating a battle receipt ABG_DEV4_FOUNDATION_OK; v2 migration, exact four unique owned IDs, deterministic auto-order, swap/reset, stale/capacity rejection, atomic save/retry/recovery and three stable risk projections pass Focused Company/Contract service, domain test, plan/checkpoint update and push
DEV-4B Party Line COMPLETE Market reaches a character-forward horizontal Party Line whose Runtime composition remains faithful to the approved AI master; tap-select/tap-destination previews protection, reach, target and threat changes with usable Undo/Reset/Back Source 94a2356; schema-v2 rendered-pixel gate, ABG_DEV4_PARTY_OK, 48px targets, text fit, main/four responsive captures and strict diagnostics pass; Owner accepted 2026-08-21 Focused Runtime/checker repair, source-bound evidence, authority closure and Owner acceptance
DEV-4C Readiness snapshot COMPLETE Save Order atomically persists the order and a separate readiness page freezes member IDs, positions, relation summary and allowed warnings; Accept records one idempotent prepared snapshot but starts no battle ABG_DEV4_READY_OK; save/retry/conflict, warning ownership, revise/restart and zero battle/risk-commit receipt pass Focused readiness service/UI/test, plan/checkpoint update and push
DEV-4D Risk selection and commitment preview COMPLETE A region-attached risk board compares three stable options in the required known-threat/uncertainty/cost/reward/recovery/coverage order; selection mutates nothing and commitment review retains the frozen party ABG_DEV4_RISK_OK; no auto-selection/recommendation, select/cancel/restart, stale dependency rejection and truthful DEV-5 Begin Battle boundary pass Focused risk board/commitment UI/input test, plan/checkpoint update and push
DEV-4E Formation/risk candidate COMPLETE The source-bound Title/Continue -> Market -> Party Line -> readiness -> risk review path is responsive, persistent, layout-safe and stops before battle commit Source 62db001; six DEV-1, six DEV-2, four DEV-3, four DEV-4 markers and 24 normal-render frames PASS with strict diagnostics 0 Candidate evidence closure commit and push
M04_PTY002_RUNTIME_IMPLEMENTATION COMPLETE Import the accepted PTY-002 static master and command assets, reconstruct the contained 16:9 readiness composition with engine-owned text, actors, relation line, warning group and truthful command boundary; preserve existing FormationRiskService semantics and stop before Risk/Battle Focused readiness behavior/input marker, 760x360/844x390/1280x720 live-resize captures in zh_CN/en at 100%/130%, strict diagnostics, 48px hit areas, text-fit and schema-v2 rendered-pixel gate against the clean static master Runtime implementation and evidence commits a47c6fe, f501f6e
M04_PTY002_OWNER_RUNTIME_REVIEW COMPLETE Owner reviews the source-bound PTY-002 Runtime at actual size and confirms actor scale, warning readability, command hierarchy and no-battle stopping boundary Owner accepted the 760x360/844x390/1280x720 Runtime set; automated evidence remains supporting evidence only Owner acceptance record PTY-002/verification/owner-acceptance.md
M05_RSK001_RISK_BOARD_RUNTIME_REVIEW COMPLETE Implemented the approved RSK-001 Risk Board reconstruction: frozen party header, three equal sourced options, semantic fact rows and local Review boundary; stopped before Risk Commitment receipt ABG_DEV4_RISK_OK with Settings return and no-receipt assertions, 48px targets, strict normal 100% captures at 760x360/844x390/1280x720 in zh_CN/en, package preflight 24/24 and Owner actual-size acceptance on 2026-08-23 Focused RSK-001 package, Runtime, verification and acceptance commits
M06_RSK002_RISK_COMMITMENT_RUNTIME_IMPLEMENTATION COMPLETE Implement the bounded RSK-002 v001 Runtime without expanding visual scope: preserve the cleaned relic/world/rail composition, bind accepted Recruit provenance and keep all semantics engine-owned Focused commitment behavior/input, normal 100% responsive captures, strict diagnostics and 48px targets pass; stop before battle simulation Runtime source 64c1c6f and focused evidence package
M06_RSK002_RISK_COMMITMENT_OWNER_RUNTIME_REVIEW COMPLETE Owner accepted the source-bound RSK-002 Runtime at actual size on 2026-08-23 and confirmed the selected-risk/Party hierarchy, six-fact consequence band, explicit acknowledgement, command rail and BAT-001 stopping boundary Owner acceptance record; automated evidence remains supporting evidence only RSK-002/verification/owner-acceptance.md
M07_BAT001_BATTLE_OPENING_SPEC COMPLETE Define the independently authored BAT-001 Battle Opening contract and state matrix after the accepted RSK-002 handoff; stop before live battle simulation Source 1b3adc6; JSON, design-contract, predevelopment and focused static assertions pass; page is registered SPEC_READY Specification package commit 1b3adc6
M07_BAT001_BATTLE_OPENING_AUTHORITY COMPLETE Reconcile BAT-001 with the existing Owner-approved full-party battle page, scale proof and compact top/bottom HUD hierarchy; the rejected v001 draft is provenance only Owner confirmed OK on 2026-08-23; source b4f51d8 records the authority boundary Focused authority-reconciliation documentation commit b4f51d8
M07_BAT001_BATTLE_OPENING_RECONSTRUCTION COMPLETE Build the page-specific layer map, engine text slots, responsive anchors, hit areas and asset provenance over the accepted battlefield Source 7fccbbc; BAT-001 preflight passes 26/26 and page state is RECONSTRUCTION_READY Reconstruction package commit 7fccbbc
M07_BAT001_BATTLE_OPENING_RUNTIME COMPLETE Implement the static BAT-001 opening and explicit handoff to BAT-002 from the accepted reconstruction package; stop before live simulation Source f892bb6; focused behavior/input/responsive checks and strict diagnostics pass; no second receipt or time advancement Runtime implementation and focused test commits
M07_BAT001_BATTLE_OPENING_OWNER_RUNTIME_REVIEW COMPLETE Owner accepted the source-bound normal 100% candidate on 2026-08-24 and confirmed the full-party scale, field-attached HUD hierarchy and truthful BAT-002 stopping boundary Four retained normal 100% captures, source-bound behavior marker and strict diagnostics 0 support the human acceptance BAT-001/verification/owner-acceptance.md
M08_BAT002_LIVE_BATTLE_SPEC COMPLETE Define the live automatic-battle page contract and state matrix from the accepted BAT-001 receipt; preserve diagnostic-only controls and stop at OUT-001 JSON, six focused BAT-002 assertions, design-contract and predevelopment checks pass; page is registered SPEC_READY BAT-002 specification package and focused push
M08_BAT002_LIVE_BATTLE_AUTHORITY COMPLETE Reconcile BAT-002 to the existing Owner-approved live-battle composition and full-party scale proof without generating a competing page Byte-identical 2048x1152 sources, hashes, provenance, focal/dynamic ownership and four focused assertions pass Approved v001 authority package and focused push
M08_BAT002_LIVE_BATTLE_RECONSTRUCTION COMPLETE Translate the approved live-battle composition into an editable, engine-owned reconstruction package; freeze layer ownership, event slots, hit areas, animation/VFX bindings, existing-asset provenance and responsive policy before Runtime Source f9f50cd; BAT2-3 package preflight passes 32/32, focused assertions pass 17/17 and the Owner accepted the final deconstruction/asset review on 2026-08-24; no Godot code changes Approved reconstruction handoff at RECONSTRUCTION_READY; BAT2-4 requires separate activation
M08_BAT002_LIVE_BATTLE_RUNTIME COMPLETE Reconstruct the first deterministic live-observation Runtime from the accepted layered package, preserving the original receipt and complete-line scale while stopping at an immutable OUT-001 handoff Owner confirmed 这个OK啊 on 2026-08-24 after the BAT2-4D/BAT2-4E implementation and BAT2-5 source-bound evidence passed from 189c20b; the acceptance record closes BAT2-6 and preserves the later-page boundaries Focused Runtime/evidence commits through 189c20b, source-bound record and BAT-002/verification/owner-acceptance.md

DEV-4 owns only the smallest in-place Company/Contract migration, prepared-party and risk projections, Party Line/readiness/risk runtime under runtime/entry/, focused tests under runtime/tests/dev4/, and existing checkpoint/plan/ledger sections. It reuses the accepted painted Guild scene, unified compact Recruit family and precise inset/frame/button grammar. The open world must remain the dominant surface; Party and risk information attach to actors, the horizontal cord or one comparison band rather than becoming a card wall.

Battle receipt creation, battle simulation, result, reward, knockout recovery, second-cycle management, equipment purchase/equip, Artifacts, promotion, dismissal, later Regions, bulk assets, H5/native packages, devices, stores and release remain outside DEV-4. DEV-4 may show the real Begin Battle command only as unavailable with the explicit DEV-5 boundary; it cannot silently respond or pretend a battle was committed.

DEV-4 verification increases from static/domain persistence, to the active focused behavior/input check, then one source-bound path and a representative normal-render matrix. Ordinary substeps do not repeat the complete legacy suite. Any check expected to exceed 60 seconds is named with scope, purpose and expected duration before it starts. Every attempt uses the checked-in runner, retains compact evidence under ABG_EVIDENCE_DIR, and cleans its complete owned process group.

DEV-4 final handoff is exactly ABG DEV-4 candidate ready. It requires focused pushed commits, HEAD == upstream, a clean worktree, no owned test processes and aligned plan/checkpoint/ledger facts. Human visual/comprehension/fun, device, package, store and release gates remain OPEN.

DEV-4 Issue Register

ID Status Boundary
DEV4-I01 RESOLVED_DEV-4A FormationRiskService initializes one optional strict formation block in the schema-v2 Contract. It preserves four Recruit hashes, 24 Coin, the 3/4/3 board and both DEV-3 hire receipts outside newly owned fields.
DEV4-I02 FROZEN_LEGACY Historical automatic-formation/risk/battle controllers contain superseded run/casualty semantics and cannot become current persistence authority; compatible ordering and visual vocabulary may be independently projected through the current Company store.
DEV4-I03 ACTIVE_RECURRENCE_CHECK Party Line and risk must remain actor/scene-first, use stable content insets, keep controls away from frame edges and use differentiated semantic commands. Repeated text cards, decorative diamonds and silent unavailable actions are prohibited.
DEV4-I04 OPEN_HUMAN_GATE Automated/runtime evidence cannot prove that a player understands rear versus front, position 0, protection, reach, threat, uncertainty or the risk tradeoff.
DEV4-I05 FROZEN_DEV-5 DEV-4 ends before the first battle transaction. The commitment preview must name that boundary until DEV-5 is separately activated after a pushed DEV-4 candidate.
PTY002-VIS-01 RESOLVED_OWNER_ACCEPTED Owner accepted the PTY-002 Runtime at actual size; exploratory layout variants remain auxiliary evidence only.
RSK001-VIS-01 RESOLVED_OWNER_ACCEPTED Owner accepted the RSK-001 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's copy-density concern was repaired in source d0dea5b; all six sourced facts, values, hit areas and the no-receipt boundary remain unchanged. Fresh source-bound normal 100% captures pass and the acceptance record closes RSK-001.
RSK002-VIS-01 RESOLVED_OWNER_ACCEPTED Owner accepted v001 at actual size on 2026-08-23. The selected-risk relic, connected consequence band, four-member Party staging and bottom commitment rail are approved as one commitment surface without repeating RSK-001's three-option layout.
RSK002-DEC-01 RESOLVED_OWNER_ACCEPTED Owner accepted the v001 layer map, text slots, normal 100% anchors and transparent hit areas at actual size on 2026-08-23.
RSK002-ASSET-01 RESOLVED_OWNER_ACCEPTED Owner accepted the full-size clean static master and contact sheet on 2026-08-23. The dynamic mask, reused Recruit provenance and no-baked-text policy are closed; the reconstruction handoff passes preflight.
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, explicit acknowledgement, command rail and exact-once BAT-001 handoff are closed at normal 100%; the acceptance record is under RSK-002/verification/owner-acceptance.md.
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 four oversized actors, sparse enemy tableau and parchment panels as a competing direction; it cannot enter deconstruction, assets or Runtime.
BAT001-AUTHORITY-01 RESOLVED_OWNER_ACCEPTED Owner confirmed OK on 2026-08-23 to proceed using prototype/generation/phase6_ui_direction_01/outputs/05_battle_ui_japanese_scale.png and the phase6_battle_scale_04 full-party proof as the sole battle authority. BAT-001 is a static pre-observation adaptation; the rejected v001 draft remains provenance only.
BAT001-DEC-01 RESOLVED_PREFLIGHT_26_26 Source 7fccbbc contains the BAT-001 layer map, engine text slots, responsive anchors, hit-area mapping and asset provenance over the accepted full-party composition; page preflight passes 26/26.
BAT001-ASSET-01 RESOLVED_REUSE_EXISTING The clean Windglass field, four actor textures and Riftblade enemy texture reuse existing accepted provenance with no new AI generation or pixel conversion.
BAT001-RUNTIME-01 RESOLVED_SOURCE_BOUND_PASS Source f892bb6 passes the focused BAT-001 behavior/input check and four normal 100% capture attempts with strict diagnostics 0; phase index remains zero and the handoff keeps one receipt.
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 stopping boundary are recorded under BAT-001/verification/owner-acceptance.md.
BAT002-SPEC-01 RESOLVED_SPEC_READY BAT-002 contract/state matrix define live actor/target/event readability, exact Waiting for next event empty state, invalid-event pause, deterministic interruption behavior and the BAT-003/004/005/006 plus OUT-001 handoffs. JSON, six focused assertions, design-contract and predevelopment checks pass; historical show_battle() remains functional provenance only.
BAT002-AUTHORITY-01 RESOLVED_APPROVED_EXISTING The accepted 05_battle_ui_japanese_scale.png and full-party proof are copied byte-for-byte into the approved v001 package. Hashes, focal regions, dynamic ownership and explicit rejections close the authority boundary; no new generation or image edit occurred.

DEV-5 Durable Implementation Plan

Player-visible stopping point:

Continue from accepted Risk Commitment
-> create one battle receipt from the frozen Party and selected risk
-> read the objective, actor order, enemy-facing direction and first telegraph
-> watch deterministic melee, ranged, magic, healing, guard and damage events
-> pause or resume observation without issuing a combat command
-> reach a truthful Victory/Defeat result with the first decisive cause
-> inspect Coin/XP/reward and the same Recruit's knockout identity if present
-> acknowledge the battle-local knockout and open next-stage recovery
-> see the same Recruit return with stable ID, Profession, Trait and equipment
-> stop at next-stage readiness; equipment/build management remains DEV-6

Only one row may be IN_PROGRESS. A failed check keeps that row active.

Substep Status Owned product boundary Narrow acceptance check Commit boundary
DEV-5A Battle foundation COMPLETE In-place Contract extension creates one retry-safe battle receipt from accepted formation/risk, deterministic event timeline and strict terminal/result/recovery predicates without using historical casualty code ABG_DEV5_BATTLE_OK; begin validation, duplicate/conflict, snapshot/risk identity, exact event kinds/order, deterministic outcome, interruption and no duplicate reward pass Focused battle service/domain test, plan/checkpoint update and push
DEV-5B Battle opening/live observation COMPLETE Real Godot Battle Opening and Live Battle scene uses the painted environment, four compact actors, enemy-facing gap, disclosed threat, automatic playback, pause/resume and causal event rail ABG_DEV5_BATTLE_UI_OK; Title/Continue -> battle, actual actor order, event timing, pause/resume, 130% layouts, touch/controller path and no combat command prompt pass Focused battle runtime/input/capture test, plan/checkpoint update and push
DEV-5C Result and diagnosis COMPLETE Victory/Defeat result names objective, first decisive event, reward, XP and downstream state; one reviewable causal chain precedes Continue ABG_DEV5_RESULT_OK; result receipt, duplicate settlement, reward/XP totals, cause inspect, restart and truthful loss state pass Focused result/diagnosis UI/domain test, plan/checkpoint update and push
DEV-5D Knockout and next-stage recovery COMPLETE Knockout review names stable Recruit identity, current-battle absence and next-stage return; recovery atomically restores battle readiness without permanent death or roster replacement ABG_DEV5_RECOVERY_OK; same ID/Profession/Trait/equipment, recovery receipt, duplicate/retry/candidate recovery, no permanent removal and next-stage handoff pass Focused recovery UI/persistence/input test, plan/checkpoint update and push
DEV-5E First-cycle candidate COMPLETE Source-bound Title/Continue -> Market -> Party -> Readiness -> Risk -> Battle -> Result -> Recovery path completes one first cycle at required landscape sizes and stops before DEV-6 management All applicable DEV-1/2/3/4/5 markers, parsed touch and representative 760x360/844x390/1280x720 zh_CN/en 100/130% normal-render states pass with strict diagnostics 0 Candidate evidence closure commit and push

DEV-5 owns only the minimum battle state, event timeline, result/diagnosis and battle-local knockout/next-stage recovery around the accepted DEV-4 snapshot. It may reuse existing enemy/content catalog rows and unified Recruit textures, but it must not adopt historical permanent-death, Replacement Credit, Company-collapse or roster-archive semantics. The first battle is automatic; pause, speed and inspect are observation controls, not combat actions.

Equipment purchases/equip, Artifacts, promotion, dismissal, second-cycle management, Contract return semantics beyond the recovery handoff, later Regions, bulk assets, devices, packages, stores and release remain outside DEV-5. DEV-6 requires a separately activated plan after ABG DEV-5 candidate ready.

DEV-5 verification increases from battle-domain persistence to focused runtime and parsed input, then source-bound first-cycle rendering. The preserved legacy FG-4 suite remains historical and is not a substitute for the new current Company/battle boundary. Any check expected to exceed 60 seconds is named with scope, purpose and expected duration before launch; every attempt owns and cleans its complete process group under ABG_EVIDENCE_DIR.

DEV-5 final handoff is exactly ABG DEV-5 candidate ready. Human visual/comprehension/fun, device, package, store and release gates remain OPEN.

DEV-5 Issue Register

ID Status Boundary
DEV5-I01 RESOLVED_DEV-5A BattleService independently attaches one current receipt/timeline to the schema-v2 Company/Contract and never calls historical casualty/run services.
DEV5-I02 FROZEN_LEGACY Existing permanent-death, Replacement Credit, Company-collapse and roster-archive behavior cannot be surfaced as current product truth.
DEV5-I03 RESOLVED_DEV-5B_LOCAL Battle keeps actors and event projections dominant, preserves the accepted Japanese 2D scale, and avoids a dashboard/card wall or combat command prompt in the focused runtime check.
DEV5-I04 OPEN_HUMAN_GATE Automated evidence cannot prove that the player understands the first decisive cause, battle-local knockout, reward or next-stage return.
DEV5-I05 FROZEN_DEV-6 Equipment/build management and second-cycle Company decisions begin only after DEV-5 recovery candidate closure.
DEV5-I06 RESOLVED_DEV-5C Settlement keeps exactly nine timeline events, points diagnosis at decisive damage, awards XP only to surviving members and keeps the 130%-text Continue action inside the 844x390 viewport.
DEV5-I07 RESOLVED_DEV-5D Knockout Review and Recovery commit preserve the same Recruit identity, Profession, Trait, level/XP, history and equipment, then return to Market with one retry-safe receipt and no permanent death.
DEV5-I08 RESOLVED_DEV-5E The historical DEV-4 risk marker required a disabled Begin Battle boundary; the DEV-5 candidate omits that superseded assertion and verifies its replacement through the real Risk -> Battle marker.

DEV-6 Durable Implementation Plan

Status: SUSPENDED_BY_P0_PROJECT_CONSOLIDATION Active implementation step: P0_PROJECT_CONSOLIDATION

Player-visible stopping point:

restart at next-stage Market after DEV-5 recovery
-> inspect four persistent equipment offers and their sourced effects/costs
-> review one equipment offer against an eligible Recruit
-> commit one-slot equipment purchase/equip with a retry-safe receipt
-> inspect the same Company's roster, level/XP, Trait, Profession and history
-> restart and return to the same Market/Roster state without duplicating Coin or equipment
-> stop before dismissal, promotion, Artifacts, second Contract creation and a second battle

Only one row may be IN_PROGRESS. Every substep ends with a focused pushed commit and checkpoint update before the next row becomes active.

Substep Status Owned product boundary Narrow acceptance check Commit boundary
DEV-6A Company growth foundation COMPLETE Persistent equipment inventory, one universal equipped slot, sourced purchase/equip receipt, individual level/XP readout and duplicate/conflict/insufficient-Coin behavior ABG_DEV6_GROWTH_OK; equipment offer identity/effect/price, valid and invalid wearer, one-slot replacement, Coin delta, receipt retry/conflict, XP/level persistence and restart pass Focused domain/runtime test, plan/checkpoint update and push
DEV-6B Roster and Recruit detail COMPLETE Guild Roster and Recruit Detail expose stable identity, Profession, Trait, level/XP, equipment, history, readiness and legal navigation ABG_DEV6_ROSTER_OK; list/detail/back/restart and truthful empty/disabled actions pass Focused roster UI/input test, plan/checkpoint update and push
DEV-6C Dismissal and Contract return COMPLETE Dismissal review verifies live-count eligibility; Contract return preserves Company growth and separates voluntary withdrawal from Recruit dismissal ABG_DEV6_RETURN_OK; final-member disabled reason, explicit confirmation, equipment return, Coin preservation, receipt retry/conflict and Guild return pass at /private/tmp/aetherbound-guild-test-evidence/dev6-return/20260818T042042Z-47775; DEV-6A/6B/5 regressions pass Focused dismissal/return domain and UI test, plan/checkpoint update and push
DEV-6D Second-cycle candidate COMPLETE Source-bound next-stage Market -> equipment -> roster/detail -> Guild/Contract Return path completes and stops before new battle/content Source 96173243765bc7fe897c13bafebf0affa8a033e6; ABG_DEV6_CANDIDATE_SUITE_OK, all prior markers, parsed touch, 24 normal-render states and strict diagnostics 0 at /private/tmp/aetherbound-guild-test-evidence/dev6-candidate-final/20260818T043605Z-66692 Candidate evidence closure commit and push
DEV-6V Content-surface visual repair FROZEN_BY_P0 First publish the Owner-provided DEV-3 UI Style Contract, then repair DEV-3 onward Guild, Market, Recruit/Equipment review, Roster/Detail and Return surfaces so characters and scene/HUD hierarchy lead; preserve accepted DEV-1/DEV-2 Boot, Title and choice baseline and all Company/Save/Battle semantics P0 must unify the product/UI contract before DEV-6V resumes Focused presentation commit, H5 export/publish evidence and checkpoint update

DEV-6 may reuse existing equipment catalog rows and hand-drawn Recruit assets, but it must not surface historical P9/FG-4 run-state or permanent-death semantics as current truth. Promotion, Artifacts, dismissal, second Contract creation, later Regions, bulk assets, devices, packaging, stores and release remain frozen until their named DEV-6 substep.

Aetherbound Guild Development Ledger

This append-only ledger records current milestone decisions. Superseded test attempt details remain available in Git history and external evidence roots; they are not duplicated here.

2026-08-20 - HUB-001 Accepted; Party Line Spec Activated

  • Owner replied OK to the final HUB-001 Guild desk runtime candidate. The continuous top rail, compact identity pill, semantic resource slots, rail-seated four-destination icon row and crest-owned Back/Title boundary are now recorded in verification/owner-acceptance.md; HUB-001 is COMPLETE.
  • The next active page is PTY-001 Party Line / Formation at SPEC_READY. Its independent page contract and state matrix make the four-member rear-left to front-right cord, position 0, relation preview, Undo/Reset/Back, atomic Save Order and all empty/stale/invalid/interruption states explicit.
  • Existing DEV-4 runtime/tests remain provenance until the Party Line design passes AI draft, deconstruction, asset and reconstruction gates. No visual implementation changes are authorized in this milestone.

2026-08-20 - PTY-001 AI Draft And Deconstruction Prepared

  • Owner approved the PTY-001 v001 AI draft (OK in HAPI). The generated 2048x1152 master is retained as draft provenance; visible copy and values remain engine-owned.
  • The deconstruction package records layered world, top rail, four runtime Recruit actors, numbered cord markers, relation preview, command rail, text slots and 48px hit areas. The page is now DECONSTRUCTION_REVIEW; no asset generation or coding is authorized until this decomposition is accepted.

2026-08-20 - PTY-001 Deconstruction Accepted And Assets Prepared

  • Owner replied OK to the deconstruction review. Before generation, the displayed board's stale HUB-001 title and two-Recruit/Contract labels were corrected to the actual seven PTY-001 layer groups.
  • One regular 1K 2x2 GPT-Image-2 call produced Undo, Reset, Save Order and Back icons for $0.0085. Magenta-key slicing produced 128px and 192px transparent assets; all eight files pass corner-alpha and non-empty-content verification.
  • PTY-001 is now ASSET_REVIEW. The accepted Guild courtyard and compact Recruit family are reused; no unnecessary background or actor generation was performed. Godot implementation remains frozen pending Owner asset review.

2026-08-20 - PTY-001 Assets Accepted; Reconstruction Ready

  • Owner replied OK to the four-icon contact sheet. The four transparent command assets are copied into runtime/assets/entry/party_line_v001/ with stable source hashes and no baked labels.
  • The PTY-001 runtime package now records the accepted world/Recruit reuse, procedural formation cord and markers, relation preview ownership, command rail bindings, text slots, responsive policy and focus/hit-area order.
  • PTY-001 is RECONSTRUCTION_READY; implementation may begin only in the named Party Line step. Readiness, Risk and Battle remain outside this step.

2026-08-21 - PTY-001 Runtime Candidate Returned For Visual Fidelity Repair

  • Party Line runtime implementation now reuses the accepted Guild world and Recruit family, binds four actors to one rear-left to front-right cord, and renders procedural position shields, selection path and relation preview.
  • The compact command rail uses the four Owner-accepted transparent icons. Back to Guild expands to remain fully readable in English at 130% text scale; all visible copy and values remain Godot-rendered.
  • Focused behavior/input evidence passes with marker ABG_DEV4_PARTY_OK, 16 parsed touches and strict diagnostics 0 at /private/tmp/aetherbound-guild-test-evidence/pty001-party-implementation-focused-final/20260820T234120Z-26347.
  • Normal-render Party Line evidence passes with marker ABG_DEV4_PARTY_CAPTURE_OK and strict diagnostics 0 at /private/tmp/aetherbound-guild-test-evidence/pty001-party-implementation-capture-final2/20260820T234506Z-29232; supplemental DEV-4 fixtures cover 760x360, 844x390 and 1280x720.
  • The first runtime candidate is not promoted to Owner review. The new visual fidelity gate compares the approved master, declared normalized regions and a normal-render capture. It reports FAIL_VISUAL_FIDELITY: runtime aspect ratio 2.1641 vs approved 1.7778, world mean error 0.2497, top rail mean error 0.4370, actor anchor delta 0.12, relation anchor delta 0.07, and command rail mean error 0.2530.
  • The side-by-side, pixel-diff, alpha-overlay, annotated-bounds and JSON report are archived under docs/design-authority/pages/PTY-001-party-line/verification/visual-fidelity/. The candidate returns to IMPLEMENTATION_IN_PROGRESS; the next repair must rebuild against the approved coordinate composition before any Owner runtime review.

2026-08-21 - PTY-001 Clean-Master Repair Pass Invalidated And Gate Rebuilt

  • Source c428d7fd568fab1cabacb92792c5db0a4d9d923b replaces the rejected Guild-derived composition with a clean 2048x1152 static coordinate master, centered as a contained 16:9 canvas. Its production SHA-256 is da0f0db28e8d0749cf18e0cc5f43e8c176415305fc7c11f92ba2abd97d7d843b.
  • The static master owns the painted world and fixed HUD framing only. Godot owns the four Recruit actors, formation cord, position shields, selection path, top-right order diagram, relation summary, visible text and values; no dynamic state is baked into the raster master.
  • The schema-v1 visual-fidelity report initially claimed PASS, but independent review found that dynamic actor/relation checks compared handwritten runtime_bounds copied from the approved bounds. Its zero anchor deltas were declarations, not Runtime measurements; that pass and the associated status promotion are invalidated.
  • Source-bound behavior passes ABG_DEV4_PARTY_OK exactly once with 16 parsed touches and strict diagnostics 0 at /private/tmp/aetherbound-guild-test-evidence/pty001-c428-behavior/20260821T034740Z-26546. The four-frame main capture passes ABG_DEV4_PARTY_CAPTURE_OK exactly once with strict diagnostics 0 at /private/tmp/aetherbound-guild-test-evidence/pty001-c428-capture/20260821T034740Z-26544.
  • Isolated responsive fixtures at 760x360 zh 100%, 844x390 en 130%, 1280x720 zh 100% and 1280x720 en 130% each pass ABG_DEV4_CAPTURE_OK exactly once with strict diagnostics 0 at /private/tmp/aetherbound-guild-test-evidence/pty001-c428-responsive-f0/20260821T034740Z-26545, /private/tmp/aetherbound-guild-test-evidence/pty001-c428-responsive-f1/20260821T034740Z-26543, /private/tmp/aetherbound-guild-test-evidence/pty001-c428-responsive-f2/20260821T034740Z-26547 and /private/tmp/aetherbound-guild-test-evidence/pty001-c428-responsive-f3/20260821T034740Z-26548.
  • Those attempts remain behavior/capture provenance for c428d7f, but do not close the visual gate. Schema-v2 now hashes the clean static master, derives approved and Runtime dynamic masks from rendered pixel deltas, compares measured x/y/width/height/occupancy, and masks dynamic search areas from static MAE. A regression test proves copied JSON bounds cannot force PASS.
  • Independent actual-size review also found cord/effect z-order, 7px/9px copy, weak Save hierarchy and 44px assertions. The local repair splits cord z25, actors z30 and effects z35, fits scaled text inside its physical slots, restores primary/disabled command hierarchy, enforces 48px targets and uses four distinct professions in the review fixture. Local focused behavior, capture, four responsive fixtures and schema-v2 fidelity now pass.
  • PTY-001 remains IMPLEMENTATION_IN_PROGRESS until the repair is committed, pushed and rerun from fresh Git archives. PTY-002 and later pages remain frozen.

2026-08-21 - PTY-001 Owner Accepted; PTY-002 Activated

  • Owner replied OK to the repaired PTY-001 source-bound Runtime candidate. Source 94a2356 passes focused behavior/input, main and four responsive capture attempts, strict diagnostics and schema-v2 rendered-pixel fidelity against the clean static master. The page package, verification JSON and gallery now record COMPLETE.
  • The next active page is PTY-002 Readiness review at SPEC_READY. Its stopping point is a frozen automatic-formation summary with warnings, protection/reach/coverage facts, Reserve state and an explicit Accept boundary that records a reviewable battle-plan snapshot without starting a battle. AI draft, deconstruction, assets and Runtime implementation are gated behind the ordered page-production states.

2026-08-22 - PTY-002 Readiness Draft Ready For Owner Review

  • PTY-002 now has a complete contract and state matrix covering the frozen Party snapshot, position-0 exposure, sourced protection/reach/coverage, grouped warnings, Reserve state, interruption and the no-battle Accept boundary.
  • The first 2K AI candidate was rejected because it baked position numbers and label-like markers into the image. A second original 16:9 candidate removes those dynamic values and leaves clean engine-owned slots for the summary, warnings and commands. It is recorded at DRAFT_REVIEW; Owner approval is required before deconstruction, asset generation or Godot work.

2026-08-22 - PTY-002 Draft Approved; Deconstruction Review Active

  • Owner continued the second candidate workflow in HAPI, which is recorded as approval for deconstruction only. The generated image remains a composition reference and is not a Runtime asset.
  • PTY-002 now has an eight-layer normalized_xywh package with engine-owned localized text slots, explicit 48px-safe logical targets, responsive anchors and a separate unavailable Risk-next boundary. The structure preflight passes 15/15; asset generation and Godot implementation remain frozen until the deconstruction package is reviewed.

2026-08-22 - PTY-002 Asset Generation Activated

  • Owner approved the PTY-002 deconstruction package. Accepted M02 world, Recruit family, rail shell and procedural relation/summary/warning geometry are reused; no new background or actor generation is authorized.
  • The only missing raster assets are four icon-forward commands: Revise Party, Back to Guild, Accept Preparation and the unavailable Risk-next seal. One regular 2x2 sprite-sheet generation is scoped; Runtime and Godot remain frozen until the resulting contact sheet is reviewed.

2026-08-22 - PTY-002 Asset Package Ready For Review

  • The single 1K generation completed as task task_01M0K76MZP0Q14EJ38XQ9KWW6C at $0.0085. Deterministic slicing produced four @2x and four @3x transparent command icons; all corners and content checks pass.
  • Accepted M02 world, rails and Recruit provenance remains reused. The current gate is ASSET_REVIEW; no Runtime asset import or Godot implementation is authorized until the contact sheet is accepted.

2026-08-22 - PTY-002 Reconstruction Package Ready

  • Owner accepted the four-icon contact sheet. PTY-002 now records runtime/reconstruction-spec.json, runtime/asset-manifest.json, runtime/hit-areas.json and a Runtime handoff with the exact contained canvas, layer order, state bindings, localization ownership and 48px targets.
  • Runtime target paths are recorded but not imported. The page is RECONSTRUCTION_READY; Godot implementation, behavior evidence and visual fidelity capture remain separate next-step work.

2026-08-22 - PTY-002 Runtime Implementation In Progress

  • PTY-002 moved to IMPLEMENTATION_IN_PROGRESS after the accepted handoff package was imported. Runtime now uses a contained 16:9 clean static master, the accepted four command icons, the existing four Recruit bindings and engine-owned readiness/warning text. The frozen Company order and FormationRiskService semantics are unchanged.
  • Focused Readiness behavior passes ABG_DEV4_READY_OK with 14 parsed touch events, idempotent Accept/Resume behavior and no Battle receipt. DEV-4 foundation and Party Line regressions pass; Risk regression passes with the DEV-5 Begin Battle action visibly disabled.
  • Four real Runtime captures pass strict diagnostics and layout checks at 760x360 zh_CN 100%, 844x390 en 130%, 1280x720 zh_CN 100% and 1280x720 en 130%. The PTY-002 schema-v2 pixel gate passes 32/32 package checks and all four rendered-fidelity reports against the hashed clean static master. Owner visual/runtime acceptance remains open.

2026-08-22 - Reusable Page Restore Preflight Added

  • tools/run_page_restore_preflight.py and its focused unittest provide the reusable early gate for future pages. A config declares the approved master, clean static master, fidelity contract, layer map, text slots, hit areas, required viewports and optional Runtime captures.
  • The gate validates JSON and asset presence, canvas dimensions/aspect, clean master hash, explicit xywh/xyxy coordinate formats, engine-owned text at 100%/130% zh_CN/en, focus order and Runtime target evidence. With captures it invokes schema-v2 per viewport and emits one responsive side-by-side sheet.
  • PTY-001 structure and target 844x390 fidelity pass. The 760x360 capture exposes a formation-cord size mismatch; it remains an honest warning for the accepted historical page and is not changed by loosening the checker.

2026-08-23 - RSK-001 Copy Density Repair Verified

  • Owner accepted the RSK-001 composition but reported that the six repeated option fact labels made the board feel too text-heavy. The focused repair keeps threat, uncertainty, cost, reward, recovery and coverage values and shortens only their localized labels (威胁/信息/成本/奖励/恢复/覆盖 and THREAT/INFO/COST/REWARD/RECOVERY/COVERAGE). Commitment keeps its full consequence and DEV-5 boundary explanation.
  • Source d0dea5b passes the focused ABG_DEV4_RISK_OK marker with compact-copy assertions, 14 parsed touches, no Company mutation and no battle receipt. Fresh archive captures pass at 760x360 zh_CN 100%, 844x390 en 100% and 1280x720 zh_CN 100%, each with strict diagnostics 0 and one required marker. Attempts are recorded in the RSK-001 verification JSON; page preflight and its three focused unit checks pass.
  • RSK001-VIS-01 remains OPEN_OWNER_REVIEW. The refreshed actual-size set is the next Owner check; later pages and Risk Commitment implementation remain frozen.

2026-08-16 - Complete Game Program Approved

  • The Owner approved plan-driven development toward eight Regions, sixteen Contracts, the First Chronicle ending and Oath Season postgame.
  • Single-session implementation is required. Native delivery remains separate.

2026-08-17 - Functional Midpoint Reached

  • RG-03 and RG-04 gameplay, four Contracts, four Bosses, Save-v11 and five profiles reached a combined automated/simulation/runtime midpoint candidate.
  • Runtime-only Web and Gallery transport passed.
  • These checks did not grant human visual, comprehension, fun or listening acceptance.

2026-08-17 - Pixel Presentation Rejected

  • Owner reviewed Gallery item 5vl2EqsYWkey and rejected its 16-bit pixel-art presentation.
  • Accepted authority remains Japanese 2D thin-line/cel-color characters over softly painted environments. Unit scale follows the accepted reference and Owner review of a real runtime frame, not a fixed percentage.
  • Root cause: FG-2 incorrectly treated a generic portfolio pixel-art rule as stronger than this game's approved product and visual contracts.
  • Gameplay, content, Save, input and event-bound audio remain preserved.
  • FG-5, bulk asset production and delivery are frozen.

2026-08-17 - Planning And Documentation Reset

  • The repository-specific Agent contract now excludes Aetherbound from the portfolio pixel-art rule.
  • Current product documentation is exactly the six numbered Markdown files under docs/; README.md is the clickable review index.
  • Historical milestone Goals, plans, H5 notes, attempt reports and rejected generation Markdown are removed from the current tree; Git history retains them.
  • All 50 canonical pages and the implementation order are defined in 03_PAGES_AND_UX.md.
  • The planning freeze ended when the Owner approved entry-first development. The first product action is the real Boot, first-launch and Title path.
  • Consolidation validation proves both page authorities contain the same 50 IDs and retains 42 Professions, 36 Traits, 320 equipment items, 60 Artifacts, 100 enemies, 16 Bosses and 8 Regions.

2026-08-17 - Entry-First Development Order Approved

  • The Owner rejected a battle-first implementation order and required the game to be developed in the same sequence a new player experiences it.
  • DEV-1 begins with Boot, first-launch setup, Title and essential Settings.
  • Initial Company, Guild, Market, automatic formation, risk, battle, result and later content remain ordered follow-up steps rather than parallel work.
  • One HAPI development session works directly in the current repository and branch; no multi-Agent or new worktree is authorized.

2026-08-17 - DEV-1A Boot Implemented

  • Normal launch now enters a bounded Godot entry shell over the existing hand-drawn guild threshold; the historical gameplay facade remains preserved.
  • Boot verifies required local resources, user storage, settings data and the current save envelope with named progress. Unsafe data is not reset.
  • Recoverable failure retains the branded screen, a stable non-path diagnostic and Retry. Focused service and real-main-scene tests pass with strict markers ABG_DEV1_BOOT_OK and ABG_DEV1_BOOT_RUNTIME_OK.

2026-08-17 - DEV-1B First Launch Implemented

  • A clean profile must apply language, safe-area, 100/115/130% text, reduced motion/flashes and caption settings before reaching Title.
  • Settings use schema validation and verified candidate/backup promotion. A completed setup survives restart and is not forced again; the dedicated reset fixture restores first-launch behavior without changing run data.
  • The focused persistence and screen-state marker ABG_DEV1_FIRST_LAUNCH_OK and the Boot handoff regression pass.

2026-08-17 - DEV-1C Title Implemented

  • The Title uses the approved hand-drawn guild threshold and keeps New Game, Continue, Settings and Credits in a compact operational hierarchy.
  • Continue reflects the verified local-save envelope and shows a visible reason when disabled. New Game and Continue preserve frozen DEV-2/save semantics and state the unavailable downstream review instead of silently doing nothing.
  • Settings/Credits return exactly to Title, while Back opens a non-destructive exit review. ABG_DEV1_TITLE_OK passes with no-save and resumable fixtures.

2026-08-17 - DEV-1D Settings And Credits Implemented

  • SET-001..006 provide stable category navigation and persisted display/text, motion/flash/power, audio/caption, control and locale behavior with explicit Apply/Discard handling and exact Title return.
  • Master mute plus Music/SFX levels apply to real Godot buses. Absent separate Ambience/Voice assets and conflict-safe remapping remain visible with precise unavailable reasons rather than inert controls.
  • SYS-008 names authorship, bundled SIL font license, offline behavior, local data/privacy and the no-external-link policy. ABG_DEV1_SETTINGS_OK and the preceding Title/first-launch regressions pass.

2026-08-17 - DEV-1 Candidate Verified

  • Candidate product source: 43e5bacbf88953ae99676400532189f02143be20.
  • Source-bound DEV-1 attempt: /private/tmp/aetherbound-guild-test-evidence/dev1-candidate/20260817T072754Z-25813; PASS with archive SHA-256 46fedaed64f73519ad0e55aa5094cecbebe95e8c94a1e2fb6ab58a3b5356e947. It covers fresh import, Boot/setup/Title/Settings/Credits behavior, real parsed ScreenTouch, restart/reset, 20 normal-render frames, 760x360/844x390/ 1280x720, English/Chinese and 100/130% text with strict diagnostics 0.
  • Source-bound preserved-system regression: /private/tmp/aetherbound-guild-test-evidence/dev1-fg4-regression-3/20260817T081131Z-73011; PASS with archive SHA-256 6b1dd652e8351d1f4f993dc26cd4a6650513e1905bf626d4a9ff20411864738f. All 30 Godot checks, five Python/media checks, 24 legacy normal-render frames, Save-v11, five-profile midpoint simulation and existing parsed-touch paths remain unchanged and strict.
  • Local runtime inspection at the time reached agent_visual_reviewed: the painted guild threshold was visible, focal order was clear and tested short/130% states did not overlap. This agent-only visual state was later superseded by the Owner's rejection below.
  • DEV-1 used existing approved-direction art and made zero paid image calls. Device, packaging, signing, store and release gates remain open and were not exercised.

2026-08-17 - DEV-1 Entry Chrome Rejected

  • The Owner compared the functional DEV-1 runtime with 05_battle_ui_japanese_scale.png and reported a substantial mismatch.
  • Earliest failed boundary: the runtime used generic translucent rectangles and flat settings controls instead of the reference's deep-navy enamel, ivory control plates, warm-gold layered trim, cut corners, heraldic anchors, icon-forward hierarchy and authored interaction states.
  • The functional DEV-1 and preserved FG-4 evidence remains valid only for its named behavior. DEV-1F reopens visual production at the Title fixed frame; Boot, first launch, Settings and Credits follow only after that grammar works at actual play size. No paid generation is yet justified because approved background art and procedural Godot chrome cover this bounded repair.
  • Human visual/comprehension, device, packaging, store and release gates remain open. DEV-2 and later product implementation remain frozen.

2026-08-17 - DEV-1F Title Chrome Repaired

  • The fixed Title frame now uses a heraldic enamel guild header, ivory utility bridge and bottom command dock with layered gold trim, cut corners and procedural icons. New Game receives initial focus; Continue keeps a distinct disabled state and visible reason.
  • All six DEV-1 headless checks, including real parsed ScreenTouch, pass. A normal-render development matrix produced 20 frames at 760x360, 844x390 and 1280x720 across English/Chinese and 100/130% text with strict diagnostics 0.
  • Development capture root: /private/tmp/abg-dev1-title-dev-capture-2. It guides the visual repair but is not source-bound candidate evidence and does not grant human acceptance.
  • No image-generation calls were made. DEV-1G may extend only this proven UI grammar to Boot, first launch, Settings and Credits after DEV-1F is pushed.

2026-08-17 - DEV-1G Entry Pages Repaired

  • Boot now uses a compact verification deck with named progress; first launch uses an edge-attached setup panel; Settings and Credits use one enamel workspace with ivory selected segments, value plates and explicit toggle, slider, disabled and primary-command states.
  • The first development render exposed a setup GridContainer width regression and incorrect unselected-tab text state. That attempt was rejected; the controls gained real expansion sizing, the state binding was repaired and the same matrix was rerun.
  • Final local checks: all six DEV-1 headless markers, real parsed ScreenTouch and 20 normal-render frames pass with strict diagnostics 0. Development capture root: /private/tmp/abg-dev1-entry-pages-dev-capture-5.
  • The development capture is not source-bound candidate evidence and does not grant Owner visual acceptance. No image-generation calls were made; DEV-2 and all human/device/package/release gates remain open.

2026-08-17 - Revised DEV-1 Candidate Verified

  • Candidate product source: d3b93268776b87b7bfb407c79165011facc438f8.
  • Revised source-bound DEV-1 attempt: /private/tmp/aetherbound-guild-test-evidence/dev1-candidate-revised/20260817T091805Z-82593; PASS with archive SHA-256 980ad2fc2e2b0b667e2d2a46dec84320aaca6959755f1f524ee8e5835c85451e. It covers six headless behavior checks, real parsed ScreenTouch and 20 normal-render frames across 760x360/844x390/1280x720, English/Chinese and 100/130% text with strict diagnostics 0.
  • Revised preserved-system regression: /private/tmp/aetherbound-guild-test-evidence/dev1-fg4-regression-revised/20260817T092203Z-85944; PASS with archive SHA-256 d54963d22411165ad97ea31d256292701670a7cddd339f43d672c88e1b53f56a. All 30 Godot checks, five Python/media/audio checks, Save-v11, five-profile midpoint simulation, parsed touch and 24 legacy normal-render frames remain unchanged with strict diagnostics 0.
  • Source-bound entry frames were inspected at actual play size and reach only agent_visual_reviewed: enamel/ivory/gold hierarchy is coherent, selected, focused, disabled and value states are readable, and required 130% layouts do not overlap. Human visual/comprehension acceptance remains open.
  • No paid image calls were made. Device, packaging, signing, store and release gates remain open and were not exercised.

2026-08-17 - Continuous Initial Company Model Approved

  • The Owner confirmed Aetherbound Guild as a continuous-growth incremental game. New Game's four-offer choose-two draft establishes the persistent initial Expedition Company.
  • A Contract run remains a bounded expedition, but Contract completion retains recruited characters, individual levels/XP, Professions, Traits, equipment and the continuing roster instead of archiving and replacing it.
  • Zero HP removes a Recruit only from the current battle. That Recruit remains owned and returns for the next stage; permanent death and death-funded Replacement Credit are superseded product rules.
  • DEV-2 implements only initial-company creation. Existing FG-4 casualty, run closure, economy and Save-v11 code remains preserved historical behavior for a later player-order conversion and must not be silently presented as already compliant.

2026-08-17 - DEV-2A Continuous-Growth Authority Corrected

  • All six current authorities now define the one-time four-offer choose-two as creation of the persistent initial Expedition Company, followed by a Guild handoff rather than immediate per-run roster creation.
  • A zero-HP Recruit remains owned, leaves only the current battle and is battle-ready again at the next stage with the same stable identity and growth. The exact returned HP amount is intentionally deferred to the later balance conversion because the Owner approved return, not a specific full-heal value.
  • Contract clear or withdrawal retains Recruits, level/XP, Professions, Traits, equipment, history and persistent resources. Old permanent-death, Replacement Credit, Company-collapse and roster-archive detail is explicitly FROZEN_LEGACY_FG4, not current product authority.
  • ABG_PREDEVELOPMENT_DESIGN_SELF_TEST_OK cases=7, ABG_RECRUIT_LOADOUT_LEVEL_OK and git diff --check pass. No runtime code, Save-v11 behavior, media, package or release state changed in DEV-2A.

2026-08-17 - DEV-2B Stable Initial Draft Activated

  • Authority-correction source dd190477684e1eb2279a81645f2ccbc82373ea25 is pushed, clean and equal to upstream.
  • DEV-2B owns only the draft service/store and focused tests: one durable seed, four deterministic complete offers in fixed positions, zero-to-two selected IDs, restart-safe loading, no reroll and explicit invalid/corrupt recovery.
  • Player-facing choice UI, persistent Company commit, Guild/Market behavior, gameplay conversion, media production and delivery remain frozen.

2026-08-17 - DEV-2B Stable Initial Draft Implemented

  • runtime/entry/initial_company_draft_service.gd reserves one 128-bit seed and projects the verified opening Recruit generator into the current one-time Initial Company schema without persisting a Contract or current_run.
  • Each draft contains exactly four hashed offers in fixed positions with unique offer/Recruit IDs, generated name components, appearance seed, base Profession, equal-budget numeric attributes, exactly one Trait benefit/cost, one starting item state, level 1 and XP 0.
  • Atomic primary/backup/candidate handling preserves the same seed, offer order and zero-to-two selected IDs across restart. Duplicate, unknown and third selection inputs mutate nothing; invalid replicas return a named error instead of rerolling.
  • Focused Godot marker: ABG_DEV2_DRAFT_OK created=true offers=4 restart=true no_reroll=true selected=true invalid=true backup=true no_company=true. DEV-2C and later runtime/UI boundaries remain frozen until a separate pushed activation commit.

2026-08-17 - DEV-2C Recruit Choice Activated

  • Stable-draft source b337739336ba7e67484c004bb0b68a0ce8775ef1 is pushed, clean and equal to upstream.
  • DEV-2C owns Title navigation, the four-candidate choice page, Inspect, Compare A/B, independent selection, exact selected-count gating, Back and restart-safe page restoration plus focused headless/touch/layout evidence.
  • Company review/commit, the Guild handoff, DEV-3+, gameplay conversion, new media production and delivery remain frozen.

2026-08-17 - DEV-2C Recruit Choice Implemented

  • Title's New Game action now reaches a real Godot Initial Expedition Company page using the accepted painted entry environment and enamel/ivory/gold, cut-corner, heraldic runtime chrome.
  • Four equal offer plates expose stable name, base Profession, five attributes, Trait and selection state. Inspect shows Profession job, exact Trait benefit/cost and starting item; Compare A/B changes no selection.
  • Independent Select controls persist through the draft service. 0/2 and 1/2 disable Review with a reason, 2/2 enables it, and a third candidate is rejected without automatic eviction. Back and restart retain IDs, order and selection; corrupt data provides Retry and Title return without reroll.
  • Focused markers ABG_DEV2_CHOICE_OK and ABG_DEV2_CHOICE_TOUCH_OK pass with all six applicable DEV-1 markers. Development normal-render root: /private/tmp/aetherbound-guild-test-evidence/dev2-choice-development-dirty-v2; 16 frames cover choice, selected, inspect and compare across required sizes, languages and 100/130% text. This dirty-tree matrix is visual guidance, not source-bound candidate evidence or human acceptance.

2026-08-17 - DEV-2D Review, Commit And Handoff Activated

  • Choice-page source 50f53d882adf16395b2e5697867f11a776ae6c52 is pushed, clean and equal to upstream.
  • DEV-2D owns selected/unchosen review, same-draft Revise, exactly-once persistent Company creation, restart/duplicate handling and a bounded Guild handoff whose later actions state their unavailable reason.
  • Market, Contract selection/play, gameplay lifecycle conversion, new media, device packaging, stores and release remain frozen.

2026-08-17 - DEV-2D Review, Commit And Handoff Implemented

  • Review names the selected pair and both unchosen provisional offers. Revise returns to the same saved draft and selection; Create Company promotes only the selected two Recruit records to persistent owned state.
  • The independent Company file uses verified primary/backup/candidate writes and a deterministic exactly-once receipt. Duplicate commit returns the same receipt, interrupted candidates recover, matching lingering drafts are cleaned, and neither unchosen offers nor a Contract/current-run reset enter persistent Company state.
  • Successful creation and restart reach a bounded Guild handoff showing the two persistent members. Title disables New Game and enables Continue; Settings returns to Guild, while Contract Board and Market remain disabled with visible reasons instead of silently implementing DEV-3.
  • Focused markers ABG_DEV2_COMMIT_OK and ABG_DEV2_COMMIT_TOUCH_OK pass with all six applicable DEV-1 and all earlier DEV-2 markers. Development normal-render root: /private/tmp/aetherbound-guild-test-evidence/dev2-commit-development-dirty; 24 frames cover choice, selected, inspect, compare, review and Guild across required sizes, languages and 100/130% text with strict diagnostics 0. This dirty-tree matrix is guidance, not source-bound candidate evidence or human acceptance.

2026-08-17 - DEV-2E Initial Company Candidate Activated

  • DEV-2D source 71f49a4926499ec8aa4911f9d162df709ecf132f is pushed, clean and equal to upstream.
  • DEV-2E owns only source-bound complete DEV-2, applicable DEV-1, preserved FG-4, parsed-input, normal-render and strict-diagnostic evidence plus the final checkpoint/ledger closure.
  • Market, Contract selection/play, DEV-3+, gameplay lifecycle conversion, new media, device packaging, stores and release remain frozen.

2026-08-17 - DEV-2 Initial Company Candidate Verified

  • Candidate product source: d1990538d5d70059f1203bf4817d1b0e9bf49a74.
  • Source-bound DEV-2 attempt: /private/tmp/aetherbound-guild-test-evidence/dev2-initial-company-candidate/20260817T113907Z-96869; PASS with archive SHA-256 4593256c794c0f74f8a7f88fec9300652e520772f664f3b808ae6006c6e3035d. It covers six applicable DEV-1 checks, six DEV-2 checks including the complete parsed ScreenTouch player journey, and 24 normal-render Initial Company frames across 760x360/844x390/1280x720, English/Chinese and 100/130% text with strict diagnostics 0.
  • Preserved-system regression: /private/tmp/aetherbound-guild-test-evidence/dev2-fg4-regression/20260817T113949Z-99041; PASS with archive SHA-256 f434adb15ed8455cded7da691f91e1352316942d8bbf22065e2f9ff78d2dcbf1. All 30 Godot checks, five Python/media/audio checks, Save-v11, five-profile midpoint simulation, parsed touch and 24 legacy normal-render frames remain unchanged with strict diagnostics 0.
  • Source-bound choice, Review and Guild frames were inspected at actual play size and reach only agent_visual_reviewed: the four equal candidates, selected pair, unchosen-offer consequence, persistent-growth promise and disabled Guild reasons are readable without overlap at the required layout matrix. Human choice/comprehension/visual acceptance remains open.
  • No image-generation or paid media calls were made. Device, packaging, signing, store and release gates remain open and were not exercised.

2026-08-17 - DEV-2F Character-Forward Visual Repair Activated

  • Owner review rejected the source-bound candidate's visual balance: repeated enamel plates and text dominate while Recruit identity is absent. Functional choose-two, persistence, recovery and Guild boundaries remain preserved.
  • DEV-2F first uses the four existing non-pixel hand-drawn actor sources to prove character scale, crop, hierarchy and touch composition. Only after that runtime graybox passes may two regular 2x2 image calls add the eight missing base-Profession sticker sources within the standing task ceiling.
  • The repair owns person-bearing choice buttons, portrait-led Inspect/Compare/ Review, the persistent pair standing in Guild and illustrated but still disabled Contract Board/Market props. Battle animation, later Recruits, regions, DEV-3 behavior, package and release remain frozen.

2026-08-17 - DEV-2F Character-Forward Runtime Implemented

  • The four accepted non-pixel actor sources remain mapped to PF-B01, PF-B04, PF-B05 and PF-B07. Two authorized 2x2 gpt-image-2 calls added only PF-B02, PF-B03, PF-B06, PF-B08, PF-B09, PF-B10, PF-B11 and PF-B12; task IDs are task_01M07V8260ZYFZB7W4B7KCFEH2 and task_01M07VBKAXVYXPMDXFNVE352R2, total recorded cost $0.028.
  • docs/prototype/generation/dev2_character_stickers_01/asset-manifest.json records prompts, raw sheets, provider reports, hashes, edge-connected key removal, closed-hole cleanup, boundary despill and the eight runtime imports. The generated outputs are project-authored; human/device/release flags remain false.
  • Choice now presents four distinct Recruits as the dominant clickable controls over the shared painted environment. Inspect, Compare and Review keep those same identities visible; the committed persistent pair stands in Guild. Contract Board and Market use illustrated object stickers while their real disabled reasons and frozen DEV-3 boundary remain unchanged.
  • Focused worktree attempt /private/tmp/aetherbound-guild-test-evidence/dev2-character-worktree-suite/20260817T130943Z-23198 passes all six applicable DEV-1 and all six DEV-2 behavior/parsed-touch markers with strict diagnostics 0. Normal-render attempt /private/tmp/aetherbound-guild-test-evidence/dev2-character-captures/20260817T130637Z-20886 passes 24 choice/selected/Inspect/Compare/Review/Guild frames across 760x360, 844x390 and 1280x720, zh_CN/en and 100/130% text.
  • Six representative Godot runtime frames were delivered to the Owner for review. This reaches agent_visual_reviewed only; Owner visual/comprehension, device, packaging, store and release gates remain open. Source-bound DEV-2 and preserved FG-4 regression still gate DEV-2F closure.

2026-08-17 - DEV-2F Open-Stage Correction

  • Source-bound commit 9b8a533d86e041c4543e94a10ce42fd7438e9077 passes the complete DEV-2 candidate suite at /private/tmp/aetherbound-guild-test-evidence/dev2-character-candidate/20260817T132045Z-34538 with six DEV-1 markers, six DEV-2 markers, parsed input, 24 normal-render frames and strict diagnostics 0. Its evidence archive SHA-256 is d82750420c6ff7bcc9fc0daa59c184cf9f66b0d66fdb48576786823661fd76ce.
  • Owner comparison against the accepted battle-scale frame keeps the visual gate open: the actor set remains taller and more portrait-like than the unified compact Japanese 2D unit language, while the four vertical choice slots still read too much like cards.
  • The bounded graybox removes opaque full-height candidate plates, exposes one shared painted Guild scene and leaves only edge HUD strips, person controls, ground selection rings, names and commands. Worktree normal-render attempt /private/tmp/aetherbound-guild-test-evidence/dev2-open-stage-captures/20260817T135149Z-71812 passes all 24 required layout frames; focused choice behavior also passes at /private/tmp/aetherbound-guild-test-evidence/dev2-open-stage-choice/20260817T135111Z-71314.
  • The first preserved FG-4 rerun reached the configured 600-second attempt timeout during its later headless tests; no product failure was recorded. A macOS killpg EPERM then exposed a runner terminal-cleanup defect. Commit dd3b0cdb387c92b01773746ac14a30547e12e773 now records permission denial as a harness condition instead of throwing, and ABG_TEST_ATTEMPT_RUNNER_OK passes. The owned workspace and incomplete artifact were explicitly checked against their ownership marker and removed after confirming no process remained.
  • DEV-2F remains IN_PROGRESS. The Owner must review the open-stage screenshot before the remaining standing image allowance is used for a single unified compact-proportion Recruit family. DEV-3 behavior and all later gates remain frozen.

2026-08-17 - DEV-2F Unified Actor Family Authorized

  • The Owner clarified that actor art style, not only character presence, must remain consistent and asked whether the current display scale is too large. Agent review agrees: four reused sources and eight first-pass sources differ in line weight, face construction, body proportion, cel-shadow density and costume detail; the 1280x720 choice actors also dominate too much of the shared scene.
  • DEV-2F will replace all 12 mixed sources in one regular 4x3 sheet so every base Profession shares one line/rendering/proportion/light contract while retaining varied silhouettes and role tools. The accepted battle frame controls only the original compact Japanese 2D unit language; current contacts control only Aetherbound role/tool identity. No names, costumes, layout or other expressive content is copied from outside project authority.
  • Two earlier calls cost $0.028. The next unified sheet may use one call; the fourth and final standing task call is reserved only for failed-cell repair. Choice-page display scale will reduce while Inspect remains deliberately larger. DEV-3 and later actor/content production remain frozen.

2026-08-17 - DEV-2F Unified Compact Actors Integrated

  • The first unified task task_01M0813TXQGV09SBEJVVAZRH5P produced one internally consistent 4x3 sheet for $0.014, but agent comparison rejected the full sheet: 6.5-7-head anatomy and ornate key-art density still diverged from the accepted ordinary field-unit language. Its prompt, provider report, raw sheet, contact sheet and rejection reason remain preserved.
  • The final authorized task task_01M08280KEEFDB3HPCTC0V9H3N used only the accepted battle-scale frame as a visual-language reference and produced all 12 base Professions together for $0.014. The accepted runtime family uses compact 4.5-5-head tactical anatomy, one warm-charcoal line hierarchy, one face construction, one cel-shadow budget, one material density and one upper-left light. Total DEV-2F image use is four calls and $0.056; the task ceiling is exhausted.
  • Deterministic 4x3 slicing, connected key removal, enclosed-key cleanup, despill, 512px export, hashes and contact generation pass marker ABG_DEV2_COMPACT_UNIT_PROCESS_OK with 12 outputs and zero border alpha. InitialCompanyArt now maps every base Profession to exactly one texture. Choice display is reduced while Inspect/Compare remain larger; Guild display is reduced further so the persistent pair retains environmental context.
  • Focused behavior PASS at /private/tmp/aetherbound-guild-test-evidence/dev2-unified-actor-choice/20260817T144520Z-42716. The 24-frame normal-render matrix PASS at /private/tmp/aetherbound-guild-test-evidence/dev2-unified-actor-captures/20260817T144542Z-42958 across 760x360, 844x390 and 1280x720, zh_CN/en and 100/130% text. Agent inspection finds one coherent actor family, complete tools/silhouettes and no control overlap at play size. This reaches agent_visual_reviewed only; Owner visual/comprehension, device, package, store and release gates remain open.
  • Source-bound commit 5700a84f9b5b230b35a6dc4a65ad477586871200 passed all six DEV-1 and six DEV-2 behavior checks, then the fresh-import normal-render process completed 18 frames and accumulated renderer work before the 1280x720 fixture. The 900-second runner terminal is TIMEOUT, not a product failure or PASS, at /private/tmp/aetherbound-guild-test-evidence/dev2-unified-actor-candidate/20260817T145351Z-58238; its complete process group and workspace were removed.
  • The 1280x720/en/130% fixture passes all six states alone in 3.7 seconds at /private/tmp/aetherbound-guild-test-evidence/dev2-split-capture-fixture-3/20260817T151341Z-77767. The candidate harness now gives each of the four viewport/language/text fixtures its own normal-render process and retains the same 24 unique files, layout assertions, exact markers and strict diagnostic scan. Product runtime behavior and visible states are unchanged.

2026-08-17 - DEV-2F Command Chrome Reopened

  • Owner review accepts continued work on the actor-forward pages but rejects their current command presentation: every action is still enclosed by the same heavy double-gold octagonal box, generic diamonds do not communicate Back/A/B/Select intent, and the continuous outer border makes the scene feel like a framed utility panel.
  • The narrow repair owns only DEV-2 procedural chrome and its layout: a light parchment return tab, compact differentiated A/B tools, asymmetric secondary and primary command signs with familiar state symbols, and open corner plus header/footer rails. Existing callbacks, disabled reasons, touch bounds, localization, Recruit art and DEV-3 boundaries remain unchanged.
  • While visual direction remains in Owner review, each iteration runs only the focused DEV-2 input check and six representative normal-render states. One complete source-bound DEV-2 and preserved FG-4 regression will run only after the visual boundary is accepted; the interrupted earlier FG-4 attempt is not a PASS and its runner-owned process group/workspace were removed.
  • Command-chrome candidate v2 is implemented without changing callbacks or page state. The continuous double-line enclosure is replaced by open corner ornaments and separated header/footer rails. Return uses a light parchment tab; A/B tools are compact markers; unselected/selected actions use plus/check semantics; Compare and confirmation use distinct familiar symbols and asymmetric single-line command silhouettes. Guild footer and disabled destination signs use the same hierarchy.
  • Focused choice behavior PASS in 1.6 seconds at /private/tmp/aetherbound-guild-test-evidence/dev2-command-chrome-choice/20260817T153507Z-918. Six 844x390/zh_CN/130% normal-render states PASS in 2.4 seconds at /private/tmp/aetherbound-guild-test-evidence/dev2-command-chrome-review-v2/20260817T153537Z-1291. Agent review caught and repaired duplicate A/B glyphs, unselected checkmarks and old Guild double-frame buttons before Owner delivery. Full regression was deliberately not run; human visual acceptance remains open.
  • Owner follow-up rejects the v2 frame and spacing while retaining the new button hierarchy. Removing the old double enclosure left the content and ornament on one shared rectangle: headings, status copy, actors and footer actions crowd the edge, and the four isolated corner strokes look unfinished. DEV2-I12 now requires a separate content inset inside one precise outer hairline with constructed corner fittings and top/bottom rails. The old source-bound DEV-2 suite subsequently completed PASS, but the visual source is superseded by this explicit Owner rejection and cannot close DEV-2F.
  • Frame/spacing candidate v3 keeps the differentiated v2 buttons and separates ornamental chrome from content layout. The frame owns the project safe area; a second safe rectangle adds inner left/right/top/bottom padding for all page layouts. A single precise cut-corner hairline, four filled corner fittings and aligned header/footer rails replace the sparse strokes without restoring a heavy double enclosure. The same construction applies to choice, Inspect, Compare, Review and Guild.
  • Focused choice behavior PASS in 1.5 seconds at /private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-choice/20260817T154715Z-19139. Six 844x390/zh_CN/130% normal-render states PASS in 2.4 seconds at /private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-review/20260817T154743Z-20697. Full regression remains deferred until Owner visual acceptance.

2026-08-17 - DEV-2F Final Candidate Accepted And Verified

  • The Owner reviewed frame/spacing candidate v3, answered OK and explicitly authorized continuation into DEV-3 through DEV-6. This records human review of the current DEV-2 visual direction and actor family; broader comprehension, fun, device, packaging, store and release acceptance remain independent and open.
  • Final DEV-2 product source: 4352e253a83ee9f3ce3bca6eac99c5e70691f989. Source-bound candidate attempt: /private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-candidate/20260817T155546Z-29597; PASS with archive SHA-256 f30ba5ae6d89f9aaeca66267e1d03d4559ecf8ffeb54685c51aa23b785d1ca68. It covers six DEV-1 checks, six DEV-2 checks, parsed touch and 24 normal-render Initial Company frames with strict diagnostics 0.
  • Preserved FG-4 regression: /private/tmp/aetherbound-guild-test-evidence/dev2-final-fg4-regression/20260817T155717Z-30828; PASS with archive SHA-256 a61c9871e62194b7e9e8fbb97f4923dc3edd584327db3ef3b363330444f540ea. All 30 Godot checks, five Python/media/audio checks, five-profile simulation, parsed touch and 24 legacy normal-render frames pass with strict diagnostics 0. Both attempts removed their complete owned process groups and workspaces.
  • DEV-2F and DEV-2 are complete. Exact handoff: ABG DEV-2 candidate ready. DEV-3 requires a separately activated durable plan and cannot reuse this closure as authorization to skip its own focused commit boundaries.

2026-08-17 - DEV-3 Guild And First Market Activated

  • The Owner authorized autonomous sequential development through DEV-6 and requested one durable Goal plus a complete morning handoff. DEV-3 is the only active milestone; later milestones advance only after focused verification, commit and push of the earlier boundary.
  • DEV-3 stops after two separate first-Market Recruit transactions: the persistent Company advances from two to four owned Recruits, Line capacity remains four, and exact Coin advances from 52 through the two protected prices totaling 28 to 24. No offer is recommended and no combined purchase exists.
  • DEV-3A first adds one migrated authoritative Contract/Market state around the verified Company file. DEV-4 formation/risk, DEV-5 battle/result and DEV-6 second-cycle management remain frozen.

2026-08-17 - DEV-3A Contract Foundation Implemented

  • The existing Company store is now schema v2. A validated v1 Company migrates atomically in place while preserving Company ID, both original Recruit records and the DEV-2 creation receipt; no parallel run file is introduced.
  • One explicit operation creates the first CTR-R1-01 Contract and its fixed Market together: 52 Coin, Line capacity four, three level-1 base Recruit offers at 14 Coin each, four equipment offers and three battle offers. The Contract receipt, board and available IDs survive restart, duplicate confirm, backup recovery and interrupted-candidate recovery without rerolling.
  • Focused persistence PASS: /private/tmp/aetherbound-guild-test-evidence/dev3-contract-foundation-worktree/20260817T164403Z-82290. Focused DEV-2 draft and Company/Guild regression PASS: /private/tmp/aetherbound-guild-test-evidence/dev3-contract-dev2-regression-worktree/20260817T164330Z-80953. Both attempts completed strict diagnostics and full runner cleanup. DEV-3B is now the only active step; no Guild UI or purchase behavior changed in DEV-3A.

2026-08-17 - DEV-3B Guild And Contract Choice Implemented

  • Guild now names Contract Board as the available next action and keeps Market disabled with an exact precondition until Contract creation. The Contract page presents the persistent opening pair in the painted scene, one unlocked First Windglass Crossing, four explicit difficulty segments, exact 52 Coin/ Line-capacity-four consequence, Cancel and Create Contract.
  • Difficulty changes are transient. Cancel returns to the unchanged Guild; Create Contract performs the DEV-3A transaction once, then reaches a bounded Market handoff. Title/Continue and process restart resume that active Market, while returning to Guild exposes Market and prevents a second Contract.
  • Focused English/130%-text parsed-touch PASS with ten touches: /private/tmp/aetherbound-guild-test-evidence/dev3-guild-contract-worktree/20260817T165241Z-93846. The affected DEV-2 Company/Guild behavior and parsed-touch tests PASS at /private/tmp/aetherbound-guild-test-evidence/dev3-guild-dev2-regression-worktree/20260817T165220Z-93616. Strict diagnostics and runner cleanup pass; no Recruit purchase, formation, risk or battle state is created. DEV-3C is now the only active step.

2026-08-17 - DEV-3C Stable Market And Recruit Review Implemented

  • The bounded handoff is replaced by one real physical Market ledger. Recruit, equipment and battle segmented categories expose the exact persistent 3/4/3 board. No row is auto-selected or recommended; list activation only selects an offer and updates the attached context, never purchasing or committing risk.
  • Recruit context alone opens a separate review with the same stable offer ID, full unified figure, exact Profession/role, Trait benefit and cost, five rolled attributes, starting item/effect, level/XP/history, 14-Coin price and Company 2 -> 3 | Line capacity 4 consequence. Cancel restores the same row and focus. Equipment and battle inspection cannot invoke Recruit review.
  • Focused Chinese/130%-text parsed-touch PASS with seven touches: /private/tmp/aetherbound-guild-test-evidence/dev3-market-review-worktree/20260817T170042Z-99698. DEV-3B and affected DEV-2 prior-boundary regression PASS at /private/tmp/aetherbound-guild-test-evidence/dev3-market-prior-regression-worktree/20260817T170008Z-99159. Board hash, 52 Coin, two owned Recruits and zero hire receipts remain byte- stable through every inspection and restart. DEV-3D is now the only active step.

2026-08-17 - DEV-3D Atomic First Hires Implemented

  • Recruit review now exposes one exact Recruit · 14 Coin confirmation only while its stable offer remains available and fewer than two opening hire receipts exist. The Market list remains inspection-only. Success returns to the unselected ledger with a receipt strip; it never chooses the next offer.
  • Each transaction atomically appends one projected persistent Recruit, removes only that available offer, deducts 14 Coin and writes an operation/intent/ offer/board/resource/Company receipt in the same Company file. Duplicate operation, new-operation recovery retry, conflict, price mismatch, unavailable offer, interrupted candidate and restart paths cannot charge twice.
  • Focused domain plus English/130%-text parsed-touch PASS: /private/tmp/aetherbound-guild-test-evidence/dev3-hire-worktree/20260817T170953Z-12028. Eight touches complete two distinct reviews and receipts, visibly advancing Company 2 -> 3 -> 4, Coin 52 -> 38 -> 24 while Line capacity remains four; the third offer stays inspectable with a truthful opening-phase state.
  • DEV-3A/B/C and affected DEV-2 regression PASS at /private/tmp/aetherbound-guild-test-evidence/dev3-hire-prior-regression-worktree/20260817T171027Z-12400. Strict diagnostics and runner cleanup pass. DEV-3E source-bound candidate closure is now the only active step.

2026-08-17 - DEV-3E First Candidate Failed At 760x360

  • Candidate source a0918bc1f618dcd8c43a1bdf4dd524e117305173 passed all six DEV-1, six DEV-2 and four DEV-3 behavior/persistence/parsed- touch checks. The first normal-render fixture then found the Market footer at y=310, height 52, extending 2 px below the 760x360 viewport. The attempt is retained as FAIL, not a candidate PASS, at /private/tmp/aetherbound-guild-test-evidence/dev3-candidate/20260817T172105Z-25636.
  • The narrow repair reduces only short-screen Market header, category, row and footer heights. The same six 760x360/zh_CN/100% states now pass normal render and layout bounds at /private/tmp/aetherbound-guild-test-evidence/dev3-visual-fixture0-repair/20260817T172253Z-27023. DEV-3E remains active until a fresh committed source passes the entire matrix.

2026-08-17 - DEV-3 Guild And First Market Candidate Verified

  • Final DEV-3 product source: 0da89b848c87013038ffa39c49d451fb2da8e3d1. Source-bound candidate attempt: /private/tmp/aetherbound-guild-test-evidence/dev3-candidate/20260817T172359Z-27922; PASS with archive SHA-256 d6b09a763b23932a105bed08eea82a535502886fee52254f38041e7a8f785059.
  • The attempt covers all six DEV-1, six DEV-2 and four DEV-3 behavior, persistence and parsed-touch markers. Four isolated normal-render processes produce 24 unique Guild/Contract/Market/Recruit-review states at 760x360, 844x390 and 1280x720 across zh_CN/en and 100/130% text. Layout bounds and strict diagnostics pass; the runner removed its complete process group and source/HOME/cache/TMP workspace.
  • DEV-3 and DEV-3E are complete. Exact handoff: ABG DEV-3 candidate ready. Human visual/comprehension/fun, device, package, store and release gates remain OPEN. DEV-4 requires a separately activated durable plan and cannot infer those approvals from this local candidate.

2026-08-18 - DEV-4 Automatic Formation And Risk Activated

  • DEV-3 closure source 0b4921b6d8fb5a9d625beb8d856aff8d0e0c541a is pushed, clean and equal to upstream. One stale headless Godot process from the preceding development session was found during activation and its sole process group was terminated before DEV-4 product work began.
  • The Owner authorized sequential unattended development through DEV-6 with durable progress and a complete morning handoff. DEV-4 alone is active; DEV-5 battle/result and DEV-6 second-cycle management remain frozen until the prior milestone has focused verification, commits, push and closure.
  • DEV-4A owns only an in-place formation/risk foundation around the current Company file: deterministic auto-order, exact line semantics, atomic prepared snapshots and three stable risk projections. Runtime Party/risk pages and the battle transaction remain later substeps.

2026-08-18 - DEV-4A Formation And Risk Foundation Implemented

  • FormationRiskService extends the existing schema-v2 Company/Contract file only after both opening hire receipts exist. It derives a stable four-member front-to-rear order, position-0 threat relation, protection/reach/coverage facts and the steady/pressured/elite projections from the persisted 3/4/3 Market; no second run file or battle receipt is created.
  • Order preview and Reset mutate nothing. Save Order and readiness acceptance use separate operation/intent/receipt hashes and are idempotent across retry; malformed, duplicate, unknown, stale and conflicting inputs leave the prior Company hash unchanged. Backup and interrupted-candidate recovery preserve the complete foundation.
  • Focused domain PASS: /private/tmp/aetherbound-guild-test-evidence/dev4-foundation-worktree/20260817T173807Z-45819. Affected DEV-3 two-hire domain/parsed-touch regression PASS: /private/tmp/aetherbound-guild-test-evidence/dev4-foundation-dev3-regression/20260817T173818Z-46589. Both attempts have strict diagnostics 0 and complete runner cleanup. DEV-4B Party Line is now the only active step.

2026-08-18 - DEV-4B Party Line Implemented

  • The completed second hire now enables one real Establish Line command in Market; before that boundary the same visible control states the exact 4/4 requirement. Continue resumes Party Line once its in-place foundation exists.
  • Four unified Recruit figures stand directly in the painted scene on one rear-left to front-right cord. The rightmost actor is position 0; selecting an actor then a destination swaps them without drag and immediately updates target, protection, reach and coverage text. Undo, Reset and Back work, while uncommitted previews never change the stored Company hash.
  • Focused two-language, 130%-text parsed-touch PASS: /private/tmp/aetherbound-guild-test-evidence/dev4-party-worktree/20260817T175842Z-67702. Four normal-render review states PASS at /private/tmp/aetherbound-guild-test-evidence/dev4-party-capture-worktree/20260817T175724Z-66420. Affected DEV-3 hire regression PASS: /private/tmp/aetherbound-guild-test-evidence/dev4-party-dev3-regression/20260817T175842Z-67703. Save & Review remains visibly disabled with its DEV-4C reason; DEV-4C is now the only active step.

2026-08-18 - DEV-4C Readiness Snapshot Implemented

  • Save & Review now calls the foundation's atomic order transaction and opens a separate Readiness Review. The page freezes the exact four IDs, position 0, protection/reach/sustain/control coverage, first threat, no-auto-Reserve rule and next-stage knockout return; Revise reloads the saved line without losing it, and Accept Preparation writes one idempotent readiness receipt.
  • Accepted preparation remains in the same Company/Contract file with 24 Coin, the Market and all earlier receipts unchanged. It creates no battle receipt, risk commitment or simulation checkpoint. Continue after restart resumes the Readiness Review; the later Risk command is visibly disabled with its DEV-4D reason.
  • Focused English/Chinese 130%-text parsed-touch PASS: /private/tmp/aetherbound-guild-test-evidence/dev4-readiness-worktree/20260817T180235Z-73712. Formation, Party Line and DEV-3 hire regressions also pass at /private/tmp/aetherbound-guild-test-evidence/dev4-readiness-foundation-regression/20260817T180254Z-75238, /private/tmp/aetherbound-guild-test-evidence/dev4-readiness-party-regression/20260817T180318Z-77144 and /private/tmp/aetherbound-guild-test-evidence/dev4-readiness-dev3-regression/20260817T180254Z-75239. All attempts have strict diagnostics 0 and complete runner cleanup. DEV-4D risk selection is now the only active step.

2026-08-18 - DEV-4D Risk Selection And Commitment Implemented

  • Readiness now opens a region-attached Risk Board only after the preparation receipt exists. Three stable options render as one comparison band with distinct pressure marks, not a recommended card wall. No option is selected automatically; selection is local until its commitment preview opens.
  • The preview carries the exact accepted party snapshot and compares known threat, uncertainty, entry cost, Coin reward, recovery exposure and current coverage. Cancel returns to the same risk; restart returns to Readiness with no local risk selection. Begin Battle is a real disabled action with a visible DEV-5 boundary and does not create a battle receipt.
  • Focused English/Chinese 130%-text parsed-touch PASS: /private/tmp/aetherbound-guild-test-evidence/dev4-risk-worktree/20260817T181010Z-86834. Three normal-render risk states PASS at /private/tmp/aetherbound-guild-test-evidence/dev4-risk-capture-worktree/20260817T181010Z-86833. Button copy was shortened after the first render exposed 130% ellipsis; the replacement render has complete Readiness and Risk Board labels. DEV-4E formation/risk candidate closure is now the only active step.

2026-08-18 - DEV-4 Automatic Formation And Risk Candidate Verified

  • Final DEV-4 product source: 62db001e8915873bb0b7632cfe90dd40a847530f. Source-bound candidate attempt: /private/tmp/aetherbound-guild-test-evidence/dev4-candidate/20260817T182401Z-99737; PASS with archive SHA-256 615b7803c758e281f4f1342441e1c7d8e2426f6dbf73290d1aaeaf4d4f108bc9.
  • The attempt covers six DEV-1, six DEV-2, four DEV-3 and four DEV-4 behavior, persistence and parsed-touch markers. Four isolated normal-render processes produce 24 unique Market/Party/Readiness/Risk states at 760x360, 844x390 and 1280x720 across zh_CN/en and 100/130% text. Layout bounds and strict diagnostics pass; the runner removed its complete process group and source/HOME/cache/TMP workspace.
  • The first 760x360 development fixture found the three inherited Market category controls at 38 px. DEV-4E raised their stable touch height to 44 px; the same fixture and complete source-bound matrix pass after repair.
  • DEV-4 and DEV-4E are complete. Exact handoff: ABG DEV-4 candidate ready. Human visual/comprehension/fun, device, package, store and release gates remain OPEN. DEV-5 requires a separately activated durable plan and cannot infer those approvals from this local candidate.

2026-08-18 - DEV-5 Battle Result And Recovery Activated

  • DEV-4 closure source 6b8b4d4ca867456b56907f93d60fa40e123948fb is pushed, clean and equal to upstream; no owned test processes remain.
  • The Owner authorized sequential unattended development through DEV-6. DEV-5 is the only active milestone; DEV-6 Company management remains frozen until the first automatic battle, result and next-stage recovery candidate closes.
  • DEV-5A owns only an independently authored current battle receipt and deterministic event timeline around the accepted DEV-4 formation/risk state. Historical battle/casualty services remain preserved but cannot be used as current persistence authority.

2026-08-18 - DEV-5A Battle Foundation Implemented

  • BattleService consumes the exact accepted Party snapshot and one stable risk option to create a single idempotent battle receipt in the existing Contract. A second operation cannot replace it; every phase persists through the same redundant atomic Company store.
  • The deterministic first-battle timeline is exactly opening, telegraph, guard, ranged, magic, healing, damage, knockout and result. Pressured risk awards 27 Coin once (24 -> 51), records one victory for all four participants and one battle-local knockout for the exposed position-0 Recruit. No roster record is removed or replaced.
  • Next-stage recovery records one receipt, keeps all four stable IDs and their Profession/Trait/equipment facts, returns Contract status to Market and releases the old formation snapshot. Duplicate settlement/recovery cannot duplicate Coin or receipts; backup recovery preserves the terminal state.
  • Focused domain PASS: /private/tmp/aetherbound-guild-test-evidence/dev5-battle-foundation-worktree/20260817T183617Z-16166. DEV-4 foundation/risk and DEV-3 hire regressions PASS at /private/tmp/aetherbound-guild-test-evidence/dev5-foundation-dev4-regression/20260817T183633Z-17719, /private/tmp/aetherbound-guild-test-evidence/dev5-foundation-risk-regression/20260817T183633Z-17721 and /private/tmp/aetherbound-guild-test-evidence/dev5-foundation-dev3-regression/20260817T183633Z-17720. All attempts have strict diagnostics 0 and complete runner cleanup. DEV-5B Battle Opening/Live is now the only active step.

2026-08-18 - DEV-5B Battle Opening And Live Implemented

  • Risk Commitment now creates the real Battle Opening/Live page. The painted field keeps four compact actors in rear-left to front-right order, a visible enemy-facing contact corridor, disclosed first threat and the causal event rail projected from the DEV-5A receipt. Playback is automatic and deterministic; Pause/Resume and 1x/2x are observation controls, with no combat command prompt or back path after commitment.
  • Continue from a persisted Company with an active battle receipt returns to the same Battle page. The runtime test uses separate deterministic Companies for zh_CN and en at 130% text, parsed touch input, and verifies the knockout phase remains active before Result is enabled.
  • The first implementation used awaited SceneTreeTimer callbacks and exposed an ObjectDB leak when a Battle Shell was released during playback. Playback now owns a one-shot Timer child and invalidates its generation on tree exit; strict diagnostics are clean.
  • Focused PASS: /private/tmp/aetherbound-guild-test-evidence/dev5-battle-ui-fix/20260818T004251Z-65519. Marker: ABG_DEV5_BATTLE_UI_OK; parsed touch 6; strict diagnostics 0; runner cleanup removed the complete process group and workspace. DEV-5C Result/Diagnosis is now the only active step.

2026-08-18 - DEV-5C Result And Diagnosis Implemented

  • Battle Result now names the objective and outcome, exact 24 -> 51 Coin settlement, 27-Coin reward, 48 total XP, 16 XP per surviving Recruit, first decisive damage and the battle-local knockout identity before Continue. The compact causal summary expands into committed order, target, event hash and reward receipt details without adding combat choices.
  • Result settlement now keeps exactly the authored nine events instead of appending a duplicate result. Three surviving Recruits receive 16 XP each; the knocked-out Recruit receives zero XP and retains level, identity, Profession, Trait, equipment and battle history. A repeated settlement keeps Coin 51 and one settlement receipt.
  • The first 844x390/130%-text render placed Continue partly below the viewport because the full nine-line event list and expanded diagnosis raised the container minimum height. The first viewport now carries a four-node causal chain while technical detail remains expandable; parsed touch reaches Continue without shrinking type.
  • Focused English/Chinese 130%-text PASS: /private/tmp/aetherbound-guild-test-evidence/dev5-result-ui-worktree/20260818T013511Z-8975. Battle foundation, DEV-5B Battle UI and DEV-3 hire/Company regressions PASS at /private/tmp/aetherbound-guild-test-evidence/dev5-result-foundation-regression/20260818T013538Z-9336, /private/tmp/aetherbound-guild-test-evidence/dev5-result-battle-ui-regression/20260818T013538Z-9337 and /private/tmp/aetherbound-guild-test-evidence/dev5-result-hire-regression/20260818T013538Z-9338. All attempts have strict diagnostics 0 and complete runner cleanup. DEV-5D Knockout/Recovery is now the only active step.

2026-08-18 - DEV-5D Knockout And Next-Stage Recovery Implemented

  • Result Continue now opens Knockout Review. The page names each fallen Recruit's stable identity, Profession, Trait, level/XP, equipment ownership, current-battle absence and the explicit next-stage return rule. Acknowledge is a real committed-consequence action and never implies deletion or same-battle return.
  • Recovery is a separate review surface with the unchanged roster and one atomic recover_next_stage operation. Commit retains every Recruit ID, Profession, Trait, level/XP, history and equipment, changes Contract status to Market, removes stale formation state and records one retry-safe recovery receipt. Duplicate recovery returns the original receipt; restart resumes at next-stage Market.
  • Focused bilingual 130%-text parsed-touch PASS: /private/tmp/aetherbound-guild-test-evidence/dev5-recovery-ui-worktree/20260818T020349Z-31847. Marker: ABG_DEV5_RECOVERY_OK; parsed touch 8; strict diagnostics 0; runner cleanup removed the complete process group and workspace. DEV-5E first-cycle candidate is now the only active step.

2026-08-18 - DEV-5E First-Cycle Candidate Verified

  • Source-bound candidate source: 05f89ad7e14323d213287e52112ff927ef812f8d. Candidate attempt: /private/tmp/aetherbound-guild-test-evidence/dev5-candidate/20260818T025343Z-77825 with archive SHA-256 744149b5c3f5c7f0d0e4a52b7ee5e733321a5a94feee716e97a92d12fe673eca.
  • The fresh archive runs six DEV-1, six DEV-2, four DEV-3, three applicable DEV-4 and four DEV-5 markers. The historical DEV-4 risk-disabled marker is intentionally superseded by the real DEV-5 Risk -> Battle path. Four isolated normal-render processes produce 24 Battle Opening/Live, Result, Knockout, Recovery and next-stage Market states at 760x360, 844x390 and 1280x720 over zh_CN/en and 100/130% text. Parsed touch, 44px controls, no permanent death, next-stage Market and strict diagnostics 0 pass; the runner owns and removes the complete process group and source/HOME/cache/TMP/browser workspace.
  • Exact DEV-5 handoff: ABG DEV-5 candidate ready. Human visual, comprehension/fun, device, package, store and release gates remain OPEN. DEV-6 requires a separately activated durable plan.

2026-08-18 - DEV-6 Durable Plan Activated

  • DEV-5 is closed at the exact handoff ABG DEV-5 candidate ready. DEV-6 is now the only active milestone under a new durable plan; no DEV-6 product code was changed before this activation.
  • DEV-6A owns the next player-visible boundary only: restart at the recovered Market, inspect sourced equipment, commit one universal-slot purchase/equip, read individual level/XP and restart without duplicate Coin/equipment. Roster detail, dismissal, promotion, Artifacts, second Contract creation and the second battle remain later named substeps.

2026-08-18 - DEV-6A Company Growth Foundation Implemented

  • Market Equipment review exposes one sourced item effect, fit, tradeoff and price with four real wearer controls. Unaffordable offers disable every wearer with the exact required/current Coin reason; affordable offers commit one purchase/equip operation.
  • The transaction removes one stable offer, changes Coin 24 -> 6, writes one retry-safe equipment receipt, replaces one universal Recruit slot and returns the prior starting item to persistent Company inventory. It preserves every Recruit's stable identity and individual level/XP. Duplicate operations do not charge twice; changed operation/wearer, stale price, unavailable offer and insufficient Coin return explicit errors without partial mutation.
  • DEV-6A upgrades two obsolete DEV-2 invariants narrowly: a starting item may move from equipped to inventory, and Company revision now counts equipment receipts after Contract/hire creation. All other Company/Recruit validation remains strict.
  • 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 at /private/tmp/aetherbound-guild-test-evidence/dev6-growth-dev2-regression/20260818T035307Z-28768, /private/tmp/aetherbound-guild-test-evidence/dev6-growth-dev3-regression/20260818T035307Z-28767 and /private/tmp/aetherbound-guild-test-evidence/dev6-growth-dev5-regression/20260818T035307Z-28769. Strict diagnostics are 0 and runner cleanup is complete. DEV-6B Roster/ Recruit Detail is now the only active step.

2026-08-18 - DEV-6B Roster And Recruit Detail Implemented

  • Guild now exposes a real Roster command. Four stable member controls open a selected summary and Recruit Detail with name/ID authority, Profession, Trait, individual level/XP, current equipped item and battle history. Back returns through Roster to Guild without changing Company state.
  • Dismiss remains visible on both Roster and Recruit Detail and now opens the explicit DEV-6C consequence review; no silent or premature destructive action is present. Restart resumes the authoritative Market destination and preserves every Recruit fact.
  • Focused PASS: /private/tmp/aetherbound-guild-test-evidence/dev6-roster-worktree/20260818T040436Z-36560. DEV-6A growth and DEV-5 recovery regressions PASS at /private/tmp/aetherbound-guild-test-evidence/dev6-roster-growth-regression/20260818T040503Z-36960 and /private/tmp/aetherbound-guild-test-evidence/dev6-roster-recovery-regression/20260818T040503Z-36959. Strict diagnostics are 0 and runner cleanup is complete. DEV-6C Dismissal/ Contract Return is now complete.

2026-08-18 - DEV-6C Dismissal And Contract Return Implemented

  • Roster and Recruit Detail now open an explicit dismissal review. The review names the stable Recruit, Profession, Trait and current equipment, states the no-refund consequence, returns the equipped item to inventory and leaves Coin unchanged. Dismissal is restricted to an unfrozen Market and rejects the final live Recruit with an explicit disabled reason.
  • Market now exposes a separate Contract Return review. It clearly distinguishes voluntary withdrawal from Recruit dismissal, preserves Company members, Coin, levels/XP, equipment and history, and commits one retry-safe receipt to mark the Contract returned before handing back to Guild. A conflicting second Return operation is rejected without mutation.
  • Focused marker ABG_DEV6_RETURN_OK passes with explicit confirmation, equipment return, final-member disabled state, parsed touch and strict diagnostics 0 at /private/tmp/aetherbound-guild-test-evidence/dev6-return/20260818T042042Z-47775. DEV-6A growth, DEV-6B roster and DEV-5 recovery regressions also pass via the owned attempt runner with complete process-group cleanup. DEV-6D source- bound candidate verification follows as the final DEV-6 boundary.

2026-08-18 - DEV-6D Second-Cycle Candidate Verified

  • The source-bound candidate starts from the persistent four-member Company in the next-stage Market, inspects and commits one sourced equipment upgrade, reads the same roster and Recruit Detail facts, reviews voluntary Contract Return and hands back to Guild. It stops before new battle/content and does not introduce a second Contract, promotion or Artifacts.
  • Source-bound candidate source: 96173243765bc7fe897c13bafebf0affa8a033e6. Attempt: /private/tmp/aetherbound-guild-test-evidence/dev6-candidate-final/20260818T043605Z-66692 with archive SHA-256 7f06d4c89d75689c8851a585245149a1a8d4dc5791c598926aa5f20df3f61862. All DEV-1..5 and DEV-6 markers pass, with parsed touch, 24 normal-render states across the required landscape/localization/text-scale matrix and strict diagnostics 0. The runner removed the complete process group and workspace.
  • Exact handoff: ABG DEV-6 CANDIDATE READY. Human visual/comprehension/fun, device, package, store and release gates remain OPEN; no later product scope is activated by this candidate.

2026-08-18 - DEV-3V Content-Surface Visual Repair Candidate

  • DEV-1/DEV-2 Boot, Title and initial-choice presentation remain unchanged. DEV-3 Guild, Contract Board, Market, Recruit Review and post-hire Market now use the bright hand-painted field, an open scene frame, field-attached HUD rails and differentiated content commands. The Company/Save/hire semantics are unchanged.
  • Source-bound candidate source: e979af7aeb5de9aead65a13f65429120ad6578d2. Attempt: /private/tmp/aetherbound-guild-test-evidence/dev3v-candidate/20260818T053424Z-20989. All DEV-1/2/3 markers, parsed touch, 24 normal-render states and strict diagnostics 0 pass. The fresh-start H5 visual check is published at the Gallery share URL recorded in CURRENT_CHECKPOINT.md.
  • DEV-3V remains IN_PROGRESS until the Owner reviews the H5 visual result; DEV-4+ presentation work remains frozen.

2026-08-23 - RSK-001 Accepted; RSK-002 Specification Activated

  • The Owner replied OK after reviewing the RSK-001 Risk Board Runtime at actual size. The frozen four-member snapshot, three equal sourced options, six risk facts, local selection and truthful no-receipt Review boundary are recorded as COMPLETE in the page package. The acceptance evidence is kept in pages/RSK-001-risk-board/verification/owner-acceptance.md.
  • The RSK-001 acceptance closure is pushed in source 9327116. Its focused behavior, normal 100% captures, page preflight and strict diagnostics remain supporting evidence; they do not replace the Owner gate.
  • M06_RSK002_RISK_COMMITMENT_SPEC is now the sole IN_PROGRESS step. The new RSK-002 page contract and state matrix are complete, and the v001 AI draft is now AI_DRAFT; they require the selected risk and frozen Party snapshot to remain readable together, explicit confirmation before Begin Battle, one idempotent commitment receipt, and safe handling for stale dependencies, insufficient Coin, invalid options and interrupted resume. Runtime and BAT-001 remain frozen until the design and reconstruction gates are passed.

2026-08-23 - RSK-002 v001 AI Draft Generated

  • One authorized GPT-Image-2 2K call generated the independent RSK-002 v001 composition. The draft uses a singular selected-risk relic, one connected six-fact consequence band, four compact Party actors on one physical staging arc and a bottom commitment rail with a disabled Begin Battle slot. It does not copy RSK-001's three-option board layout and contains no intended runtime labels, values or readable text.
  • Generation task task_01M0PDGEAFA46QBJ6VAGV3FV64 cost $0.014; the source manifest records the prompt hash, raw download hash and expiring source URL under pages/RSK-002-risk-commitment/drafts/v001/.
  • RSK002-VIS-01 is OPEN_OWNER_REVIEW. Owner actual-size visual review is required before deconstruction, asset generation or any Godot Runtime work.

2026-08-23 - RSK-002 v001 Draft Accepted; Deconstruction Activated

  • The Owner replied OK after reviewing the RSK-002 v001 AI draft at actual size. The singular selected-risk relic, connected six-fact consequence band, frozen four-member Party staging and bottom commitment rail are now the approved composition authority.
  • The approved master and Owner records are under pages/RSK-002-risk-commitment/approved/v001/; the source hash remains sha256:6787f1804545710807152166fc83a6da8e4b385c1778945d374016f3b12b1713. This approval authorizes deconstruction only; no asset or Runtime work has started.
  • M06_RSK002_RISK_COMMITMENT_DECONSTRUCTION is now the sole IN_PROGRESS step. RSK002-DEC-01 is the next Owner gate for layer ownership, engine text slots, normal 100% responsive anchors and transparent hit areas.

2026-08-23 - RSK-002 v001 Deconstruction Package Prepared

  • The approved RSK-002 master is now mapped as a coordinate-master hybrid. The package separates painted world, selected-risk relic, frozen four-member Party entities, the six-fact consequence band, the commitment rail and the Settings utility slot. Dynamic labels, values, state reasons, selection and receipt semantics remain engine-owned.
  • normalized_xywh text slots and transparent hit areas are recorded under approved/v001/; the 760x360 contained canvas is treated as 640x360 so all command targets meet the 48px minimum. The deconstruction board and review record are under reconstruction/v001/.
  • RSK002-DEC-01 remains OPEN_DECONSTRUCTION_REVIEW. Owner approval is required before any asset generation, reconstruction package promotion or Godot Runtime work.

2026-08-23 - RSK-002 Deconstruction Accepted; Asset Processing Activated

  • The Owner replied OK after reviewing the RSK-002 v001 deconstruction board, layer map, text slots and hit-area map at actual size. The package's ownership boundaries and normal 100% anchors are accepted.
  • M06_RSK002_RISK_COMMITMENT_ASSET_GENERATION is now the sole IN_PROGRESS step. Asset work is intentionally bounded to cleaning dynamic regions from the approved master and reusing accepted Recruit/command provenance; no new AI asset call or Runtime implementation is authorized by this transition.
  • RSK002-ASSET-01 is the next Owner gate for the clean static master, dynamic-region mask, provenance hashes and contact sheet.

2026-08-25 - M31 MVP Release Readiness Activated

  • M30 Recovery Controller is closed at source 2556be9; the complete first cycle is now the verified local MVP stopping point. The next bounded step is M31_MVP_RELEASE_READINESS, recorded in docs/plans/M31_MVP_RELEASE_READINESS.md and reflected in CURRENT_CHECKPOINT.md.
  • M31 audits the existing Title -> next-stage Market first-cycle path, persistence/restart, duplicate/negative/recovery boundaries, strict Godot diagnostics, parsed touch and normal 100% captures at 760x360, 844x390 and 1280x720. It may make only the smallest correctness repair proven by a failing check; accepted page visuals and Battle/Economy/Save/Recovery semantics remain frozen.
  • 130% text scale is explicitly outside the current automated release- readiness gate and is not a blocker. Device, package, iOS, signing, store, release and uncoached human comprehension/fun acceptance remain separate Owner-authorized gates.
  • M31-B closes without a first-cycle product defect. The exploratory DEV-6 second-cycle candidate is retained as M31-I03 because its legacy test expects a removed MarketReturnContract control; second-cycle repair is not part of the current MVP release-readiness gate.
  • M31-C closes with normal 100% representative-state inspection and no release-blocking visual defect. Human visual/comprehension, audio listening, device, package/signing, store and release gates remain open.
  • M31-D closes the local MVP release-readiness boundary. No new product scope is activated by this closure; the next implementation requires an explicit Owner-authorized plan for iOS packaging or a separate second-cycle goal.

2026-08-25 - M32 Page View Architecture Refactor Activated

  • The Owner requested a durable architecture for future expansion, module isolation, runtime stability and easier implementation, and explicitly asked that page View construction be split out of entry_shell.gd. The sole active plan is M32_PAGE_VIEW_ARCHITECTURE_REFACTOR, recorded in docs/plans/M32_PAGE_VIEW_ARCHITECTURE_REFACTOR.md.
  • The target is a layered Passive View + Presenter/ViewData + Application/Domain Service + explicit Router/Context flow. Views own only Godot nodes, layout, focus and intent emission; Controllers/Presenters own copied view data and command eligibility; Domain Services remain the only mutation/receipt/Save authority. New Views and Controllers must not import the historical facade, Save or a global event bus.
  • M32-A freezes the migration order and the Recovery pilot acceptance surface before Runtime product changes. The pilot must preserve the accepted OUT-004 visuals, input, localization and persistence semantics; later page extraction remains separately bounded.
  • M32-A closes at source 9bde014. M32-B is now the only active step and may add only the UI-only PageView/PageContext contract plus the bounded OUT-004 Recovery View extraction described in the durable plan.
  • M32-B closes at source 23924a2. The extracted Recovery capture is byte-equivalent to the pre-migration baseline at 760x360, 844x390 and 1280x720 in zh_CN/en; M32-C is now the sole active verification step.
  • M32-C closes at source 088f46b. The source-bound View contract, DEV-5 candidate and full MVP first-cycle audit pass with exact-once markers, strict diagnostics 0, parsed touch, owned cleanup and 128 normal 100% frames. The focused equivalence record is docs/runtime/M32_PAGE_VIEW_ARCHITECTURE_VISUAL_AUDIT.md. M32-D is now the sole active handoff step; no claim is made that every View has been split.
  • M32-D closes at source 088f46b. The Recovery pilot, boundary audit and ordered next-extraction map are complete. The next page migration requires a new explicitly activated durable plan; no new gameplay or visual scope is opened by M32.

2026-08-25 - M33 Reward Choice Page View Refactor Activated

  • The Owner asked to continue splitting page Views after the M32 Recovery pilot. M33_REWARD_CHOICE_PAGE_VIEW_REFACTOR is now the sole active plan in docs/plans/M33_REWARD_CHOICE_PAGE_VIEW_REFACTOR.md.
  • M33 targets only OUT-003 Reward Choice. It preserves the M29-accepted deterministic options, paid Coin, selected detail, Claim/Skip receipts and Recovery continuation. ABGRewardChoicePageView will own Godot nodes and intent emission; EntryShell remains the composition root; Controller and BattleService remain the data and transaction authorities.
  • M33-A freezes the current composition, presentation-ready equipment-name input and forbidden imports before Runtime product code changes. Result, Knockout, Recovery, Market and Battle Views remain outside this plan.
  • M33-A closes at source 331db7d. M33-B is now the only active step and may add only the UI-only Reward Choice View plus its explicit intent wiring.
  • M33-B closes at source 3d477ef. The extracted Reward Choice View preserves the accepted node tree, explicit Claim/Skip/selection intents and normal capture pixels; M33-C is now the sole active verification step.
  • M33-C closes at source f609464. The source-bound View contract, controller/runtime regressions, DEV-5 candidate and full MVP audit pass with exact-once markers, strict diagnostics 0, parsed touch and 128 normal frames. Reward Choice captures are byte-equivalent to the M29 baseline; the report is docs/runtime/M33_REWARD_CHOICE_PAGE_VIEW_VISUAL_AUDIT.md.
  • M33-D closes at source f609464. Reward Choice View extraction, boundary audit and the ordered next-extraction map are complete. The next page migration requires a new explicitly activated durable plan; M33 opens no new gameplay or visual scope.

2026-08-25 - M34 Knockout Review Page View Refactor Activated

  • M33 Reward Choice View is closed. The next Owner-requested architecture milestone is M34_KNOCKOUT_REVIEW_PAGE_VIEW_REFACTOR, with its durable plan under docs/plans/.
  • M34 is limited to extracting OUT-002 Knockout Review into a passive ABGKnockoutReviewPageView. The accepted M28 composition, member portrait and identity text, battle-local gap, Back/Acknowledge controls and continuation routes remain frozen.
  • M34-A is complete at source 9bbdbb9, freezing the dependency direction, forbidden imports, _readiness_member() presentation treatment, exact node names and normal 100% M28 capture-equivalence target before product code.
  • M34-B is complete at source 7a4c1ca (product integration; docs recorded at d6208d8): the UI-only Knockout Review View and explicit deferred EntryShell intent wiring preserve the accepted page. M34-C is complete at source 4c7a0ac; M34-D closes at source 5b811fb with the final handoff. No Battle, Economy, Save, localization, packaging or 130% scope is opened.

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. See 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; 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 is limited to extracting OUT-001 Battle Result into a passive ABGBattleResultPageView. The accepted M27 composition, outcome/causal facts, diagnosis toggle, Continue target and downstream routes remain frozen.
  • M35-A is the sole IN_PROGRESS step. It freezes the dependency direction, forbidden imports, exact node names, UI-only formatting boundary and normal 100% M27 capture-equivalence target before product code. No Battle, Economy, Save, localization, packaging or 130% scope is opened.

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 is now the sole IN_PROGRESS step and may add only ABGBattleResultPageView plus deferred diagnosis/continue intent wiring. Settlement, Reward/Knockout/Recovery routes, Save and visual 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. See 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. At closure no later page migration was active; a new durable plan is required for further extraction.

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; 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. Any further View migration requires a new Owner-authorized durable plan.

2026-08-25 - M36 Risk Commitment Page View Refactor Activated

  • M35 Battle Result View is closed. The next Owner-requested architecture milestone is M36_RISK_COMMITMENT_PAGE_VIEW_REFACTOR, recorded in docs/plans/M36_RISK_COMMITMENT_PAGE_VIEW_REFACTOR.md.
  • M36 is limited to extracting the RSK-002 Risk Commitment page into a passive ABGRiskCommitmentPageView. The accepted custom 16:9 normalized composition, static master, six consequence facts, complete frozen Party, acknowledgement boundary, disabled Begin Battle state and settings access remain frozen.
  • M36-A is the sole IN_PROGRESS step. It freezes the dependency direction, forbidden imports, exact semantic node names, six-intent boundary and M24 normal-capture equivalence target before Runtime product code. Readiness, Risk Board and later preparation Views remain outside this plan.

2026-08-25 - M36 Risk Commitment View Extraction Started

  • M36-A closes at source e9ab79d, freezing the RSK-002 custom 16:9 composition, static-master boundary, exact semantic node names, six-intent command boundary, forbidden imports and M24 normal-capture equivalence target.
  • M36-B is the next bounded product step and may add only ABGRiskCommitmentPageView plus deferred EntryShell intent wiring. Risk, Formation, Battle, Save, localization and visual semantics remain frozen.

2026-08-25 - M36 Risk Commitment View Product Integration Complete

  • M36-B completes the passive ABGRiskCommitmentPageView extraction. The normalized 16:9 canvas, static master, four frozen Party portraits, six consequence facts, command rail and deferred six-intent boundary are now owned by the View; EntryShell remains the composition root.
  • The former Risk Commitment UI builder/helpers were removed from entry_shell.gd. Controller, FormationRiskService, BattleService, receipt, Save and route semantics remain unchanged. M36-C is now the sole IN_PROGRESS step for focused verification and visual equivalence.

2026-08-25 - M36 Risk Commitment View Verification Complete

  • M36-C passes at source 26190debe41f1eab2863991807769ee779146b25. The source-bound View contract, M24/controller and route regressions, DEV-4 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 Risk Commitment captures are byte-identical to the M24 baseline at 760x360/zh_CN, 844x390/en, 1280x720/zh_CN and 1280x720/en. Evidence is recorded in docs/runtime/M36_RISK_COMMITMENT_PAGE_VIEW_VISUAL_AUDIT.md.
  • M36-D is now the sole IN_PROGRESS handoff step; no Readiness or later preparation View migration is included.

2026-08-25 - M36 Risk Commitment View Pilot Closed

  • M36-D closes at source 3a82056. RSK-002 Risk Commitment is now a passive ABGRiskCommitmentPageView with explicit deferred six-intent wiring; Risk, Formation, Battle, Save, receipt, localization and visual semantics remain unchanged.
  • The source-bound contract, regressions, DEV-4 candidate, MVP audit and four-fixture byte-equivalence evidence are recorded in docs/runtime/M36_RISK_COMMITMENT_PAGE_VIEW_VISUAL_AUDIT.md.
  • M36 is complete. The next extraction is Readiness and requires a separate Owner-authorized durable plan; no later migration is active.

2026-08-25 - M37 Readiness Page View Refactor Activated

  • M36 Risk Commitment View is closed. The next Owner-requested architecture milestone is M37_READINESS_PAGE_VIEW_REFACTOR, recorded in docs/plans/M37_READINESS_PAGE_VIEW_REFACTOR.md.
  • M37 targets only PTY-002 Readiness Review. It preserves the accepted custom 16:9 composition, static master, complete four-member formation, PartyLineTrack cord/effects layering, coverage/warning/receipt facts, command eligibility, focus order and normal 100% presentation.
  • M37-A is complete at source 8fc239f, freezing the PTY-002 composition, dependency direction, exact node/layer contract, seven-intent boundary and M22 normal-capture equivalence target. M37-B is complete at source a83963f: the passive Readiness View, deferred seven-intent wiring and isolated View contract are integrated; existing Readiness behavior passes and all four normal fixtures are pixel-equivalent to the M22 baseline. M37-C is complete at source 7da8d05 with source-bound regressions, candidate/audit evidence, strict diagnostics 0 and four-fixture byte-equivalence recorded in docs/runtime/M37_READINESS_PAGE_VIEW_VISUAL_AUDIT.md. M37-D is now the sole IN_PROGRESS handoff step; Party Line, Risk Board, Battle, Economy, Save and 130% scope remain frozen.

2026-08-25 - M37 Readiness Page View Pilot Closed

  • M37-D closes at source 6c9259b. PTY-002 Readiness Review is now a passive ABGReadinessPageView with deferred seven-intent wiring; FormationRiskService, readiness receipts, Party/Risk routes, Save and visual semantics remain unchanged.
  • The source-bound contract, focused regressions, DEV-4 candidate, MVP audit, normal capture set and four-fixture byte-equivalence evidence are recorded in docs/runtime/M37_READINESS_PAGE_VIEW_VISUAL_AUDIT.md.
  • M37 is complete. No later View migration is active; a separate durable plan is required for the next extraction.

2026-08-25 - M38 Risk Board Page View Refactor Activated

  • M37 Readiness View is closed. The next Owner-requested architecture milestone is M38_RISK_BOARD_PAGE_VIEW_REFACTOR, recorded in docs/plans/M38_RISK_BOARD_PAGE_VIEW_REFACTOR.md.
  • M38 targets only RSK-001 Risk Board. It preserves the accepted custom 16:9 composition, static master, frozen four-member Party header, three sourced options, no-auto-selection boundary, local selection, Review/Back/Settings commands, focus order and normal 100% presentation.
  • M38-A is complete at source 5fca587, freezing the RSK-001 composition, dependency direction, exact node/option contract, four-intent boundary and M23 normal-capture equivalence target. M38-B is complete at source eea6b8e: the passive Risk Board View is mounted from EntryShell, the former Risk Board UI builders are removed, and deferred select_risk/review/ back/settings intents preserve the existing application boundary. M38-C is complete: source-bound View/controller/route regressions, the DEV-4 candidate and full MVP first-cycle audit pass with strict diagnostics 0, and all four normal 100% Risk Board captures are byte-equivalent to the M23 baseline. Evidence is recorded in docs/runtime/M38_RISK_BOARD_PAGE_VIEW_VISUAL_AUDIT.md. M38-D closes at source c62b86d; no later View migration is active, and Risk Commitment, Battle, Economy, Save, packaging and 130% scope remain frozen until a new owner-authorized plan is activated.

2026-08-25 - M38 Risk Board Page View Pilot Closed

  • M38-D closes at source c62b86d. RSK-001 Risk Board is now a passive ABGRiskBoardPageView with deferred four-intent wiring; controller-owned snapshots, local risk selection, Risk Commitment handoff, FormationRiskService semantics and Save boundaries remain unchanged.
  • The source-bound contract, focused regressions, DEV-4 candidate, MVP audit, normal capture set and four-fixture byte-equivalence evidence are recorded in docs/runtime/M38_RISK_BOARD_PAGE_VIEW_VISUAL_AUDIT.md.
  • M38 is complete. No later View migration is active; a separate durable plan is required for the next extraction.

2026-08-25 - M39 Party Line Page View Refactor Activated

  • M38 Risk Board View is closed. The next Owner-requested architecture milestone is M39_PARTY_LINE_PAGE_VIEW_REFACTOR, recorded in docs/plans/M39_PARTY_LINE_PAGE_VIEW_REFACTOR.md.
  • M39 targets only the accepted Party Line preparation page. It preserves the custom 16:9 master, four-member rear-left/front-right line, PartyLineDiagram, cord/effects tracks, preview-only swaps, Undo/Reset/ Save/Back commands and normal 100% presentation. FormationRiskService, Save/Readiness/Risk semantics, packaging and 130% scope remain frozen.
  • M39-A is complete at source dfddb17, freezing the Party Line normalized canvas, static master, diagram/track layer contract, exact node names and five-intent boundary. M39-B is complete at source 0d59caa: the passive Party Line View is mounted from EntryShell, the former Party Line master builders/helpers are removed, and deferred select_member/undo/reset/ save/back intents preserve the existing application boundary. The focused View contract and DEV-4 Party regression pass with strict diagnostics 0. M39-C is complete: source-bound View/controller/route regressions, the DEV-4 candidate and full MVP first-cycle audit pass with strict diagnostics 0, and opening/preview-swap Party Line captures are byte-equivalent to the M21 baseline at all four fixtures/locales. Evidence is recorded in docs/runtime/M39_PARTY_LINE_PAGE_VIEW_VISUAL_AUDIT.md. M39-D closes at source cf14bc8; no later View migration is active.

2026-08-25 - M39 Party Line Page View Pilot Closed

  • M39-D closes at source cf14bc8. Party Line is now a passive ABGPartyLinePageView with deferred five-intent wiring; FormationRiskService, preview-only swaps, Save/Readiness handoff, formation rules and route semantics remain unchanged.
  • The source-bound contract, focused regressions, DEV-4 candidate, MVP audit, normal capture set and eight-state/four-fixture byte-equivalence evidence are recorded in docs/runtime/M39_PARTY_LINE_PAGE_VIEW_VISUAL_AUDIT.md.
  • M39 is complete. No later View migration is active; a separate durable plan is required for the next extraction.

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 is limited to extracting SHP-002 Recruit Review into a passive ABGRecruitReviewPageView. The accepted portrait-led static master, stable offer identity, Profession/Trait/attribute/item/history facts, Company/Line impact, sourced price, Hire eligibility, same-offer Cancel return and normal 100% presentation remain frozen.
  • The approved invisible RecruitReviewSettings hit area is included only as a non-visual intent boundary; it may not alter the accepted captures. GuildContractService remains the Hire/receipt authority and EntryShell remains the composition root.
  • M40-A is complete at source 24579e6; it freezes the dependency direction, forbidden imports, exact semantic node names, three deferred intents (cancel, hire, settings) and M18 normal-capture equivalence target.
  • M40-B is complete at source 0cf4ffb: ABGRecruitReviewPageView now owns the static master, portrait/detail presentation and command hit areas; EntryShell remains the composition root and translates only deferred intents. The former Recruit Review UI builder is removed, and controller, transaction, Market and return-route semantics remain unchanged.
  • 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; the 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 with the source-bound audit, four-fixture byte-equivalence and scope boundary recorded in docs/runtime/M40_RECRUIT_REVIEW_PAGE_VIEW_VISUAL_AUDIT.md. M40 is complete; Market, Contract Choice, Guild, Battle, Economy, Save, packaging, release and 130% scope remain outside this plan and require a new owner-authorized plan.

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 is now the sole IN_PROGRESS step for source-bound candidate, MVP and visual-equivalence verification.

2026-08-26 - M41 Market Page View Verification and Handoff Complete

  • M41-C passes at source b88b211508e5f72b350835872119692e2324859c. The isolated ABGMarketPageView contract, Market/Recruit Review controller and runtime regressions, Hire and downstream route checks, DEV-3 candidate and full MVP first-cycle audit all pass with exact-once markers, strict diagnostics 0, parsed touch and owned workspace/process cleanup.
  • The accepted M41 Market capture set is retained at m41-market-capture-final/20260826T004255Z-2253 with evidence archive SHA-256 babffdb460420fb2b3b750255cec20ffbeeb3b0385f723306e4627707f58bfb8. The immutable baseline capture from 8d377f0 is retained at m41-market-baseline/20260826T004644Z-6065 with archive SHA-256 625dd42ca41bdc918ef315cd22fa5455edf0a19e8ae33dbbc2b86ef6fe9610fd. All four normal 100% fixtures (760x360/zh_CN, 844x390/en, 1280x720/zh_CN, 1280x720/en) are byte-identical with zero decoded pixel differences. Full evidence is recorded in docs/runtime/M41_MARKET_PAGE_VIEW_VISUAL_AUDIT.md.
  • M41-D closes at source b88b211. SHP-001 Market is now a passive ABGMarketPageView with explicit deferred intents; Controller, GuildContractService, Hire/economy, Save, localization, review routes and Battle semantics remain unchanged. M41 is complete. Contract Choice, Guild, later Battle work, second-cycle systems/content, device/package/signing, store and human comprehension/fun gates remain outside this plan and need a new Owner-authorized plan or gate.

2026-08-26 - M42 Contract Choice Page View Refactor Activated

  • M41 Market View is closed. The next bounded architecture slice is M42_CONTRACT_CHOICE_PAGE_VIEW_REFACTOR, recorded in docs/plans/M42_CONTRACT_CHOICE_PAGE_VIEW_REFACTOR.md.
  • M42-A was the sole active step at activation. It froze the existing Contract Choice framed composition, Company/recruit presentation, First Windglass Crossing facts, four difficulty segments, local selection, Confirm/Cancel boundary, exact semantic node names, forbidden View dependencies and the M19 normal 100% capture-equivalence target before product code.
  • The existing ABGContractChoicePageController and GuildContractService.create_contract remain the view-data and transaction authorities. M42 must not change Contract, economy, Save, Guild, Market or localization semantics; no visible Settings control is added by this plan.

2026-08-26 - M42 Contract Choice View Extraction Started

  • M42-A closes at the activation boundary. The Contract Choice node tree, focus/touch inventory, copied Controller snapshot and explicit select_difficulty/confirm/back intents are frozen before Runtime code.
  • M42-B is now the sole active step. It adds only the passive ABGContractChoicePageView and deferred EntryShell intent translation; Contract creation, difficulty validation, Save, Guild/Market routes and localization semantics remain outside the extraction.

2026-08-26 - M42 Contract Choice View Extraction Complete

  • M42-B closes at source 885506f. ABGContractChoicePageView now owns the framed Contract Choice composition, Company portraits, local difficulty controls, focus and explicit intents; EntryShell remains the application boundary for selection, confirmation and return.
  • M42-C was the sole active step for strict source-bound regressions, candidate coverage, full first-cycle audit and four-fixture capture equivalence against the M19 baseline.

2026-08-26 - M42 Contract Choice View Verification Complete

  • M42-C closes at source da94e8a. The isolated View contract, M19/DEV-3 regressions, source-bound candidate and full MVP first-cycle audit all pass with strict diagnostics 0, exact-once markers and owned cleanup; the four normal 100% Contract Choice captures are byte-equivalent to the M19 baseline. Evidence is recorded in docs/runtime/M42_CONTRACT_CHOICE_PAGE_VIEW_VISUAL_AUDIT.md.
  • M42-D became the sole active step for the bounded handoff and checkpoint closure. No new gameplay, economy, Save, packaging or release work was authorized by this milestone.

2026-08-26 - M42 Contract Choice View Pilot Closed

  • M42-D closes at source da94e8a. The source-bound audit records the View contract, regressions, candidate suite, full MVP first-cycle audit, strict diagnostics 0, exact-once markers, owned cleanup and four-fixture normal 100% byte-equivalence to the M19 baseline.
  • Contract Choice is now a passive ABGContractChoicePageView with deferred select_difficulty/confirm/back intents. Controller, Contract service, Guild/Market routing, economy, Save and localization semantics are unchanged. M42 is complete; no later migration is active.

2026-08-26 - M43 Guild Page View Refactor Activated

  • M42 Contract Choice View is closed at source 975c77d. The next bounded architecture slice is M43_GUILD_PAGE_VIEW_REFACTOR, recorded in docs/plans/M43_GUILD_PAGE_VIEW_REFACTOR.md.
  • M43-A was the sole active step at activation. It froze the live HUB-001 layered Guild desk (GuildMasterWorldExtension / GuildMasterDesignCanvas / GuildMasterLayeredWorld), fixed top/bottom rails, Company/status/kiosk presentation, truthful empty/active/returned Contract states, focus/touch targets and the eight explicit destination/utility intents before product code.
  • GuildPageController.snapshot() remains the view-data authority and the existing EntryShell application/service boundaries remain authoritative for routing, Contract, Market, Party, Risk, persistence and current Company. M43 changes no gameplay, economy, Save, localization or visible Guild semantics; normal 100% landscape is the blocking visual scope and 130% remains non-blocking.

2026-08-26 - M43 Guild Page View Extraction Started

  • M43-A closes at the activation boundary. The source-bound HUB-001 baseline (m43-guild-baseline/20260826T014743Z-34444, source 975c77db2aa742189fca1edf4c066ab66370c252) passes the layered Guild, Contract and four-fixture normal capture checks with strict diagnostics 0; evidence archive SHA-256 is c8c9c017bbca46eb6fdc2d148af019e4981f4dfcd5102f556215159d8f8ec958.
  • M43-B is now the sole active step. It adds only the passive ABGGuildPageView and deferred utility/destination intent translation; GuildPageController, current Company, routing, Contract/Market/Party/Risk, persistence, gameplay and localization semantics remain outside the extraction.

2026-08-26 - M43 Guild Page View Extraction Complete

  • M43-B closes at source 5220acb. ABGGuildPageView now owns the live HUB-001 layered world, contained 16:9 canvas, segmented rails, actor/kiosk presentation, engine text, focus and hit areas. EntryShell remains the composition root and translates only the eight explicit utility/destination intents (title, settings, roster, equipment, party, risk, contract, market).
  • The Guild Controller snapshot, current Company, route/application services, Contract/Market/Party/Risk transactions, persistence, gameplay, economy, Save and localization semantics remain unchanged. Historical compatibility and Godot metadata are retained by repository contract.
  • M43-C is now the sole active verification step. The accepted HUB-001 capture family and normal 100% blocking scope remain frozen; 130% text scale is non-blocking.

2026-08-26 - M43 Guild Page View Verification Complete

  • M43-C passes at source 5220acb in the corrected source-bound focused attempt m43-guild-view-focused-v2/20260826T021613Z-65045. The isolated View contract, M20 Guild controller/runtime, DEV-3 Contract/Market/Hire, M09/M10 regressions, layered reconstruction and HUB-001 candidate all pass with exact-once required markers, strict diagnostics 0, 24 normal-render captures and owned workspace/process cleanup. Evidence archive SHA-256: 19cdb8eb77af91d103ece5d02d6d9072fab96a87544139814b2a2898396ca57e.
  • The source-bound full MVP first-cycle audit m43-mvp-audit-v2/20260826T022147Z-70440 passes ABG_M43_GUILD_VIEW_CONTRACT_OK and ABG_MVP_FIRST_CYCLE_AUDIT_OK exactly once, with 128 normal 100% frames, parsed touch/restart coverage, strict diagnostics 0 and owned workspace/process cleanup. Evidence archive SHA-256: da5cee766bc47a278e02b654a1035644cb7cbf575609787615a566d2e54314f1.
  • All 24 capture files in the M43-A baseline (m43-guild-baseline/20260826T014743Z-34444, archive SHA-256 c8c9c017bbca46eb6fdc2d148af019e4981f4dfcd5102f556215159d8f8ec958) and corrected M43 candidate are byte-identical with zero decoded-pixel differences. The four-fixture family preserves the two blocking 100% fixtures and two retained 130% supplemental fixtures.
  • M43-D is complete at source 710dc6b; the Guild View pilot is closed. No gameplay, economy, Save, packaging or release work is authorized by this milestone, and no later migration is active.

2026-08-26 - M43 Guild View Pilot Closed

  • M43-D closes at source 710dc6b. The durable plan docs/plans/M43_GUILD_PAGE_VIEW_REFACTOR.md and checkpoint now mark M43 COMPLETE with no later migration active.
  • ABG M43 GUILD VIEW PILOT COMPLETE is the handoff record. The accepted Guild composition and all application/domain boundaries remain unchanged; future page migrations require a separate owner-authorized plan.

2026-08-26 - M44 Company Page View Refactor Activated

  • M43 Guild View is closed at source 710dc6b; the next Owner-authorized architecture slice is M44_COMPANY_PAGE_VIEW_REFACTOR, recorded in docs/plans/M44_COMPANY_PAGE_VIEW_REFACTOR.md.
  • M44 targets only the existing DEV-6 Roster and Recruit Detail surfaces. ABGCompanyPageController remains the copied-facts authority while the passive Views will own only Godot composition, local formatting, portraits, focus and explicit selection/detail/dismiss/back intents.
  • Dismissal Review, voluntary Contract Return, Company/Market/Contract transactions, Save, economy, accepted MVP pages, assets, packaging and release remain frozen. Normal 100% landscape is the blocking visual scope; 130% text scale is supplemental and non-blocking.
  • At activation, M44-A was the sole IN_PROGRESS step. The immutable baseline was bound to source 93164c8 before any Company View product code changes; the next ledger entry records its completion and M44-B activation.

2026-08-26 - M44 Company Baseline Complete; View Extraction Started

  • M44-A closes at the activation/baseline boundary. The successful source-bound attempt m44-company-baseline/20260826T032132Z-32104 uses source 93164c87b845d3f0d6f1b64b6d1b06e7c4b8d66d and archive SHA-256 43028f703434b5fe59a97153635b4a4500623ce7ee317c550c08b74699bcb86d. ABG_M16_COMPANY_PAGES_OK, ABG_DEV6_ROSTER_OK and ABG_M16_COMPANY_CAPTURE_OK each appear exactly once; strict diagnostics are 0, eight normal 100% captures, parsed touch and owned cleanup pass.
  • The fresh-archive import failure is retained as a harness failure only; it is not acceptance evidence. The accepted baseline imports Godot resources before running tests.
  • M44-B is now the sole IN_PROGRESS step. It adds only the passive Roster and Recruit Detail Views plus deferred EntryShell intent translation; Company, dismissal, Contract, Market, Save, economy and route semantics remain frozen.

2026-08-26 - M44 Company View Extraction Complete; Verification Started

  • M44-B closes at source 19bf1392ce72f744e0fc9de79ef6393d5f165b9b. ABGCompanyRosterPageView and ABGRecruitDetailPageView now own only the existing Roster/Recruit Detail node construction, local presentation, portraits, focus and hit areas. EntryShell translates only the documented deferred selection/detail/dismiss/back intents; the Company controller, dismissal transaction/review, Contract/Market, Save and route boundaries remain authoritative and unchanged.
  • The source-bound focused attempt m44-company-view-focused/20260826T041010Z-79337 passes ABG_M44_COMPANY_PAGE_VIEW_CONTRACT_OK, ABG_M16_COMPANY_PAGES_OK, ABG_DEV6_ROSTER_OK, ABG_DEV6_GROWTH_OK, ABG_DEV5_RECOVERY_OK and ABG_M12_OUTCOME_RECOVERY_DOMAIN_OK exactly once with strict diagnostics 0, parsed touch coverage and complete owned cleanup. It is the focused prerequisite for M44-C.
  • M44-C is now the sole IN_PROGRESS step for the source-bound DEV-6 candidate, full MVP first-cycle audit and four-fixture normal 100% Roster/Recruit Detail capture comparison. M44-I01 records the existing Contract Return test failure at the M44-A baseline as a known, out-of-scope second-cycle issue; no M44 product scope expands to repair it.

2026-08-26 - M44 Company View Verification Complete

  • M44-C closes at source 687160dd17c1af8b40163af9a060d7792a0d52a2. The source-bound View contract, M16/DEV-6 Company, equipment and recovery regressions pass with strict diagnostics 0, exact-once markers, parsed touch and owned cleanup. The full MVP first-cycle audit also passes ABG_MVP_FIRST_CYCLE_AUDIT_OK exactly once with 128 normal 100% frames and 180 evidence files.
  • The source-bound Company capture attempt m44-company-capture-final/20260826T042045Z-21165 passes ABG_M16_COMPANY_CAPTURE_OK exactly once and retains eight normal frames. Every Roster and Recruit Detail PNG is byte-identical to the M44-A baseline at 760x360/zh_CN, 844x390/en, 1280x720/zh_CN and 1280x720/en, with zero decoded-pixel differences.
  • The DEV-6 candidate reaches the existing Contract Return failure in M44-I01; the immutable M44-A baseline reproduces the same failure. This remains a second-cycle Shell-owned issue and is not a Company View blocker or scope expansion.
  • M44-D is now the sole IN_PROGRESS step for the bounded handoff.

2026-08-26 - M44 Company View Pilot Closed

  • M44-D closes at source 687160dd17c1af8b40163af9a060d7792a0d52a2. The durable plan and checkpoint mark M44_COMPANY_PAGE_VIEW_REFACTOR COMPLETE, with no later implementation step active.
  • The source-bound audit, architecture boundary, visual-equivalence matrix, exact marker records and M44-I01 issue register are recorded in docs/runtime/M44_COMPANY_PAGE_VIEW_VISUAL_AUDIT.md.
  • ABG M44 COMPANY PAGE VIEW PILOT COMPLETE is the handoff record. Only the Company Roster and Recruit Detail Views were closed; Dismissal Review, Contract Return, second-cycle systems/content, regions, endgame, device/package/signing, store/release and human acceptance remain outside this milestone and require separate authorization.

2026-08-26 - M45 Contract Return Repair Activated

  • M44 is closed at source 8ce939d. The next bounded implementation is M45_CONTRACT_RETURN_REPAIR, recorded in docs/plans/M45_CONTRACT_RETURN_REPAIR.md.
  • M45 addresses only the known M44-I01 Market -> Contract Return boundary: restore the real MarketReturnContract command, preserve the existing Shell-owned review and ABGGuildContractService.return_contract() receipt semantics, and verify cancel/confirm/retry/conflict/restart behavior.
  • M45-A closes at source a22c211. The immutable baseline attempt m44-baseline-contract-return/20260826T040851Z-77954 reproduces the missing MarketReturnContract command and downstream contract_return_receipts access failure, with owned process/workspace cleanup recorded. M45-B is now the sole IN_PROGRESS step. No new Contract, Battle, economy, Save schema, packaging or release work is authorized.

2026-08-26 - M45-B Market Contract Return Boundary Restored; Receipt Safety Started

  • M45-B closes at source 23c9bc5. MarketPageController now copies the 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 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 MVP UI Consistency Pass Activated

  • M45 is closed at source b40e5dd. The Owner explicitly authorized a bounded MVP presentation/component consistency pass, recorded in docs/plans/M46_MVP_UI_CONSISTENCY_PASS.md.
  • M46 targets shared command states, typography/spacing tokens, icon grammar and common notice/status surfaces across the already-complete MVP pages. It preserves each accepted page composition, static master, normalized hit rectangles, explicit intents, gameplay, economy, Save/Receipt and routing semantics.
  • M46-A is now the sole IN_PROGRESS step for the baseline and UI contract. No product UI code changes are authorized until this activation boundary is committed and pushed. 130% remains supplemental and non-blocking; device, package, signing and release work remain outside the plan.

2026-08-26 - M46-A UI Consistency Baseline Complete; Shared Foundation Started

  • M46-A closes at source a10b3d2. The baseline inventory is recorded in docs/runtime/M46_UI_CONSISTENCY_BASELINE.md and confirms the earliest repair boundary: cross-page command/icon/type consistency rather than gameplay or Save/Receipt behavior.
  • The inventory records 14 Passive Views, eight shared command-helper users, six custom button/style families, mixed icon paths, and legacy EntryShell builders. Existing page compositions and static masters remain accepted and frozen.
  • M46-B was the sole IN_PROGRESS step for the presentation-only shared foundation and focused test boundary; it is now closed. M46-C owns the bounded page migration below.

2026-08-26 - M46-B Shared UI Foundation Verified; Control Migration Started

  • M46-B closes at source f736d7a. ABGUI_Tokens, ABGUIFactory, ABGUIIcon and the upgraded ABGSharedButton now supply the shared presentation-only command, type, spacing, notice and icon grammar. Existing callbacks, semantic node names, page composition and Risk UI_FONT inheritance compatibility remain unchanged.
  • The source-bound focused 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 may migrate only repeated MVP commands, notices and Unicode command glyphs; gameplay, economy, Save/Receipt, routing, static masters and release scope 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, owned 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.

2026-09-05 - M47 Unified UI MVP Activated

  • The Owner requested a directly playable MVP to prove that the game reads as one authored product, with UI consistency as the primary risk.
  • M47 is bounded to Market, Readiness and Battle Result. It preserves existing gameplay, controllers, services, Save/Receipt behavior, routes, static masters, localization semantics and the approved Japanese 2D hand-drawn direction.
  • M47-A closes at source 1d3a526. M47-B closes with the shared-shell implementation and focused marker ABG_M47_UNIFIED_UI_MVP_OK. M47-C closes at source f911095 after the focused Market, Readiness and Result View contracts pass. M47-D closes at source 1a08127 after the source-bound full first-cycle audit passes with 128 normal captures, strict diagnostics 0, parsed touch/restart and owned cleanup. M47 is complete at its written stopping point; Gameplay and domain scope remain frozen.