Files
aetherbound-guild/CURRENT_CHECKPOINT.md
T

1197 lines
78 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Current Checkpoint
## Authority
- Product and player contract: `docs/01_GAME_DESIGN.md`
- Gameplay, balance, failure and Save authority:
`docs/02_GAMEPLAY_AND_BALANCE.md`
- Page plan and complete state map: `docs/03_PAGES_AND_UX.md`
- Visual, animation and audio authority: `docs/04_ART_ANIMATION_AUDIO.md`
- Complete content authority: `docs/05_CONTENT_CATALOG.md`
- Program Goal, active repair contract, implementation plan and ledger:
`docs/06_DEVELOPMENT_AND_REVIEW.md`
## Current State
- Stage: `M15_RUNTIME_FOUNDATION_IN_PROGRESS`
- Active implementation step: `M15-B Additive foundation types`
(M14 repository cleanup remains complete; the first-cycle product route is
frozen while the additive Runtime Foundation migration begins.)
- Active durable plan: `docs/plans/M15_RUNTIME_FOUNDATION.md`
- M15 scope is limited to an additive shared service/UI foundation and a
Settings integration pilot. No mass page rewrite, gameplay change, asset
generation, cleanup, packaging or release work is authorized by this plan.
- Repository cleanup baseline and first two safe deletion batches are complete
at `f848e20` and `e8d7a95`; M14 is closed at
`docs/plans/M14_REPOSITORY_CLEANUP.md`.
- Previous product steps: `SYS-005 Initial Company`, `HUB-001 Guild desk`,
`PTY-001 Party Line / Formation`, `PTY-002 Readiness Review`, `RSK-001 Risk
Board` and `RSK-002 Risk Commitment` are complete after Owner runtime
acceptance. BAT-001 Battle Opening is also complete after Owner acceptance
of its source-bound Runtime on 2026-08-24. The independent v001 draft was
rejected because it contradicted the previously Owner-approved battle page
and scale reference; that output is preserved as rejected provenance only.
The accepted battle direction remains
`prototype/generation/phase6_ui_direction_01/outputs/05_battle_ui_japanese_scale.png`,
with the full-party scale proof under `phase6_battle_scale_04`. The pushed M07
closure at `155d775` activated the M08 BAT-002 boundary. The specification
package is remote-visible at `7ededea`, authority reconciliation is
remote-visible at `1ef7a5f`, and the BAT2-3 package is remote-visible at
`f9f50cd`. The Owner accepted the final deconstruction board and asset contact
sheet on 2026-08-24, so BAT-002 reached `COMPLETE`. The
receipt-bound observation service is remote-visible at `2d4d5a7`, the
contained live battlefield is remote-visible at `950b32e`, and the timeline
and diagnostic boundary implementation is remote-visible at `0de6c7a`;
BAT2-4D functional closure is recorded in the BAT-002 page package. BAT2-5
source-bound candidate verification passed at source `fea2ae9`, but the Owner
rejected its visual presentation on 2026-08-24 as substantially different
from the approved battle master. BAT2-4E visual reconstruction is now
implemented and pushed at `189c20b`: beveled faction rails, centered ivory
controls, portrait-led actor-state cards and actor-attached event paths are
recorded in `verification/visual-repair.json`. A fresh source-bound import,
Field, Timeline and four normal `100%` capture fixtures from `189c20b` pass
with strict diagnostics 0; the candidate archive and markers are recorded in
`verification/source-bound.json`. The Owner confirmed the repaired actual-size
Runtime with `这个OK啊` on 2026-08-24; BAT2-6 and the M08 BAT-002 Runtime
milestone are complete. Result/recovery and all later pages remain frozen.
- M12 `OUT-001..004` is complete under the Owner's August 24, 2026 delegation
that intermediate pages may be inspected and closed by the agent. Source
`f6320026cfa6b64cd2cf9a1841e2679eef826b3b` passes the domain, Runtime route
and candidate capture boundaries: `ABG_M12_OUTCOME_RECOVERY_DOMAIN_OK`,
`ABG_M12_RUNTIME_OK` and `ABG_M12_CAPTURE_OK`. The candidate archive records
four normal `100%` fixtures × eight states (32 frames), strict diagnostics 0,
and restart -> next-stage Market with the same Recruit identities. All four
OUT packages now carry implementation, behavior/input/responsive/capture,
source-bound and delegated acceptance records. The MVP first-cycle route is
complete; second-cycle systems/content, broader region/endgame production,
device/package/store/release and human comprehension/fun gates remain outside
this MVP checkpoint and require a new durable plan.
- M13 MVP first-cycle audit is complete. The final source-bound attempt from
revision `e68f888` is
`/private/tmp/aetherbound-guild-test-evidence/mvp-first-cycle-audit-v9/20260824T234547Z-76868`;
marker `ABG_MVP_FIRST_CYCLE_AUDIT_OK` appears exactly once, strict diagnostics
are `0`, the owned workspace/process group is removed, and 128 normal `100%`
frames pass across `760x360`, `844x390` and `1280x720` in `zh_CN`/`en`.
The audit reconciles the historical MarketTitle/MarketFormation assumptions,
explicit BAT-001 -> BAT-002 handoff, current live control names and the
waiting/outcome-lock states without changing product semantics. 130% remains
non-blocking.
- M09 `SHP-001 Market` is complete under the Owner's August 24, 2026 delegation that
intermediate pages may be inspected and closed by the agent. Its contract,
state matrix, Owner-approved direction and reconstruction package are under
`docs/design-authority/pages/SHP-001-market/`. The previous DEV-3 Market and
hire receipts remain behavior provenance only; v001's card-heavy draft is
rejected provenance. v002 is `COMPLETE`; the clean static master,
runtime asset manifest, hit areas and engine-owned text slots are now the
implementation boundary. Source-bound behavior, input, responsive and
normal-render evidence pass at the four required normal `100%` fixtures;
130% evidence is outside this active scope. The agent's actual-size review
found no blocking overlap, clipped text or false recommendation state; the
acceptance record is under the page verification package. SHP-002 and all
later first-cycle pages are now closed under the same MVP audit.
- M10 `SHP-002 Recruit Review` is complete under the same delegated intermediate
review. Its original portrait-led review master, engine-owned decision facts,
one-receipt Hire boundary and same-offer Cancel focus are recorded under
`docs/design-authority/pages/SHP-002-recruit-review/`. Source-bound behavior
and four normal `100%` captures pass from `d24b4dd`; BAT-003/BAT-004 and the
M12 outcome/recovery pages are also closed in the current first-cycle audit.
- Planning baseline: `d59555c5a3cf95fc44de79ba06c02e650eb3df3b`
- Documentation consolidation baseline:
`53824d2394e7facdc8dca19aa20a690a5c960aca`
- Current review set: exactly six validated Markdown files under `docs/`.
- Cleanup baseline: `docs/design-authority/repository-cleanup-manifest.json`.
- Cleanup closure: M14 removed only the stale taskgraph metadata and
superseded prototype validators/build helper. Godot `.uid`/`.import` and
`prototype_incremental/` were explicitly retained.
- Page production contract:
`docs/design-authority/page-production-contract.json`.
- HUB-001 Guild desk was accepted by the Owner on 2026-08-20 after the final
continuous-rail, compact identity, semantic resource-slot and four-destination
repair. Its page package, runtime evidence and owner-acceptance record are
`COMPLETE`; the final source-bound attempt is
`/private/tmp/aetherbound-guild-test-evidence/hub001-rail-language-source-candidate/20260820T103441Z-72079`.
- DEV-4 Party Line / Formation is `COMPLETE` after Owner acceptance of source
`94a2356` on 2026-08-21. Schema-v2 measures actual Runtime pixels against the
hashed clean static master, masks dynamic regions out of static comparison,
and rejects copied bounds. The accepted repair separates cord/actor/effect
layers, restores Save emphasis, fits localized text in authored slots and
enforces 48px targets. PTY-002 is `COMPLETE` after Owner runtime acceptance;
later pages and Runtime code remain frozen until BAT2-2 is pushed and BAT2-3
is separately activated.
- Reusable `tools/run_page_restore_preflight.py` now validates each page package
before Runtime work and can run the schema-v2 pixel gate for exact/minimum
captures. PTY-001 target capture passes; the minimum 760x360 cord-size finding
is retained as evidence rather than hidden by a threshold change.
- PTY-002 now has a complete page contract and state matrix. The second 2K
16:9 AI candidate preserves four complete actors, a frozen readiness band,
grouped warning notices and a dominant Accept boundary with blank engine-text
slots. The first candidate is retained as rejected provenance because it
baked position numbers and label-like markers. Owner approval and runtime
acceptance are recorded; the page is complete.
- PTY-002 Runtime implementation is complete after Owner Runtime Review.
The imported clean master,
four accepted command icons, four Recruit bindings, readiness summary,
grouped warnings and disabled-before-accept Risk boundary are rendered on a
contained 16:9 canvas. Focused readiness, DEV-4 foundation/Party/Risk
regressions and four real responsive captures pass with strict diagnostics;
schema-v2 fidelity passes 32/32 package checks. Its owner gate is closed.
- RSK-001 Risk Board now has a complete deconstruction/reconstruction package
and Godot Runtime implementation. The contained 16:9 page renders the
frozen four-member snapshot, three equal sourced options, threat,
uncertainty, cost, reward, recovery and coverage facts, local selection and
the disabled-until-selected Review boundary. The copy-density repair in
`d0dea5b` keeps all six facts while shortening repeated labels. Fresh
source-bound `ABG_DEV4_RISK_OK` and normal 100% captures at 760x360,
844x390 and 1280x720 pass with strict diagnostics 0. The behavior attempt
is `/private/tmp/aetherbound-guild-test-evidence/rsk001-copy-density-final-behavior/20260823T014204Z-60739`;
the three capture attempts are recorded in the RSK-001 package, and page
preflight passes 24/24. Owner accepted the page at actual size on
2026-08-23; the next boundary is the separate RSK-002 commitment page.
- RSK-002 Risk Commitment v001 is `COMPLETE` after Owner runtime acceptance on
2026-08-23. Its singular selected-risk relic, connected six-fact consequence
band, frozen four-member Party staging and bottom commitment rail are visual
authority. The accepted Godot Runtime binds the cleaned static master,
engine-owned facts and independent hit areas; focused behavior/input, normal
`100%` captures, strict diagnostics and the exact-once BAT-001 handoff pass.
Battle simulation, result/recovery and later pages remain frozen.
- BAT-001 Battle Opening v001 is `COMPLETE` after Owner Runtime acceptance on
2026-08-24.
The rejected GPT-Image-2 output is archived under
`pages/BAT-001-battle-opening/rejected/v001/` with its prompt, task, cost and
hashes; it is not a page reference. The Godot candidate adapts the accepted
full-party battle composition and compact top/bottom HUD hierarchy to the
static pre-observation handoff. The reconstruction package passed 26/26
preflight checks in source `7fccbbc`; Runtime and four source-bound normal
`100%` capture attempts pass in source `f892bb6`. The Owner accepted the
complete Party/enemy scale, compact field-attached HUD and truthful BAT-002
stopping boundary; the acceptance record is under the page verification
package.
- BAT-002 Live Battle v001 is `COMPLETE` after Owner Runtime acceptance on
2026-08-24; the acceptance record is under
`pages/BAT-002-live-battle/verification/owner-acceptance.md`.
Its page contract and state matrix
define the automatic diagnostic-only battle surface, live actor/target/event
bindings, exact `Waiting for next event` state, invalid-event pause,
deterministic interruption routing and BAT-003/004/005/006 plus OUT-001
boundaries. JSON, six focused static assertions, design-contract and complete
predevelopment checks pass. The existing approved live-battle master and
full-party scale proof are copied byte-for-byte into a page-specific package;
focal/dynamic ownership, hashes and rejected alternatives pass four focused
authority assertions. Its accepted deconstruction and zero-generation asset
package pass preflight. The non-settling service and contained waiting field
are pushed. BAT2-4C implements the bounded timeline and diagnostic handoffs;
BAT2-4D focused closure is source-bound and recorded. BAT2-5 candidate
verification passed functionally with 40 captures across the four normal
100% fixtures, but those captures are rejected visual provenance. BAT2-4E
restores the approved top faction rails, ivory control ribbon, continuous
portrait-led bottom rail and actor-attached event language at `189c20b`.
Source-bound BAT2-5 Field, Timeline and candidate verification pass from that
source, and the Owner accepted the actual-size candidate. The complete page
keeps BAT-003/004/005/006 and OUT-001 as truthful handoff boundaries and
applies no reward, recovery, settlement or next-stage mutation.
- `M01 Entry` direction v001 was generated as a 2x3 board covering Boot,
first launch, Title continuity, Settings, Credits and shared overlays. The
single 2K call cost `$0.014`; the board is not a runtime asset and no
individual page implementation is activated by its generation.
- Owner approved `M01 Entry` direction v001 on 2026-08-19. The shared world,
materials, physical workspaces, compact HUD and overlay family are frozen as
the entry-module baseline. This activates individual page design at
`SYS-001`, but does not authorize Godot implementation before the page's own
reconstruction gate.
- `SYS-001 Boot` v001 design was approved and reconstructed. One 2048x1152
coordinate master uses the approved M01 threshold, empty pre-Company world,
lower verification rail and engine-owned text/action slots. The initial
design call cost `$0.014`; runtime assets are recorded in the page package.
- Owner approved `SYS-001 Boot` v001 for reconstruction on 2026-08-19. Normal
loading will hide the right-side failure actions; they remain legal anchors
for recoverable and unsafe states.
- `SYS-001 Boot` runtime candidate now uses a clean independent background,
horizontally stretchable NinePatch rail, fixed square status seals and
state-bound Retry/Diagnostics/Exit controls. Focused import, behavior, parsed
touch, live resize and normal-render checks pass with strict diagnostics 0.
Owner accepted SYS-001 Boot; First-launch was then activated as the next page.
- Source `19c884a` passes fresh-archive focused behavior/input/resize at
`/private/tmp/aetherbound-guild-test-evidence/sys001-source-focused/20260819T114340Z-65610`
and eight Loading/Error normal-render frames at
`/private/tmp/aetherbound-guild-test-evidence/sys001-source-captures/20260819T114841Z-69192`,
plus the complete 20-frame entry matrix at
`/private/tmp/aetherbound-guild-test-evidence/sys001-source-entry-matrix/20260819T115309Z-72858`.
All three have strict diagnostics 0 and complete runner cleanup.
- `SYS-001 Boot` and `SYS-002 First-launch` are `COMPLETE` after Owner
acceptance. SYS-002's existing v001 image remains draft provenance only.
- `SYS-002 First-launch` v002 was approved and reconstructed. One 2048x1152 design uses
a responsive left preview, six stretchable setting rows, fixed square icons
and one wide apply command. The call cost `$0.014`; the approved runtime
package records the layered assets, engine text slots and responsive policy.
- SYS-002 runtime reconstruction now uses the approved world, preview frame,
six stretchable setting rows, fixed square icons, value plates and wide Apply
command. Focused settings/persistence, responsive resize, parsed touch and
eight-frame normal-render checks pass with strict diagnostics 0. Runtime
visual acceptance was accepted on 2026-08-20; typography was refined for
100%/130% Chinese and English hierarchy without changing settings semantics.
- SYS-003 Title v002 was accepted on 2026-08-20. Its contained 16:9 master,
truthful entry actions and responsive runtime evidence are now complete.
- SYS-005 Initial Company v001 is complete after Owner runtime acceptance. Its design uses four
person-bearing Recruit figures in one shared courtyard, foot selection
markers and a separate Inspect/Compare/Review command region. Its staged contract
covers four stable offers, exact choose-two gating, Inspect/Compare, Review,
atomic Create Company, interruption recovery and the Guild handoff. Existing
DEV-2 runtime/evidence remains provenance; the current implementation keeps
- HUB-001 Guild desk v001 passed AI-draft, deconstruction and initial asset
review. Source `cb6a078` replaced the historical composite with a real
layered world, two runtime Recruits, clean Contract Board and segmented
rails, but Owner runtime review on 2026-08-20 returned the candidate to
`IMPLEMENTATION_IN_PROGRESS`: the top resource cells lost their required
fixed icons, Settings detached from the rail, the bottom destinations became
tiny text tabs instead of authored icon commands, and typography did not
scale with the contained canvas. The active repair owns only those HUD and
typography boundaries; all later pages remain frozen. The repaired source
`2417b74` restores fixed semantic icons, an attached Settings command,
icon-forward bottom destinations and canvas-aware typography. Its fresh Git
archive passes layered structure, 10 parsed touches and 24 frames with strict
diagnostics 0. Owner follow-up then identified a remaining right-end assembly
error: the bottom stretch center ended before an oversized 27% fixed region,
leaving the Compass base visually detached. The page is returned to
`IMPLEMENTATION_IN_PROGRESS` for that single endcap boundary. Source
`e2acbd2` reduces the fixed region to the actual 9% endcap and extends the
clean center to meet it. A fresh archive passes the adjacency assertion,
layered structure, 10 parsed touches and 24 frames with strict diagnostics 0;
the endcap boundary is correct. Owner follow-up then rejected the five left
bottom commands' scale and placement: percentage-based button rectangles grow
too large and too far apart at 720p, while their medallions sit above the
visible wood rail. Source `2b732b6` replaces that geometry with 50-76px capped
hit targets, 4-8px compact spacing, rail-seated placement and independently
capped medallion art. Its fresh archive passes the layered constraints, 10
parsed touches and 24 frames with strict diagnostics 0 at
`/private/tmp/aetherbound-guild-test-evidence/hub001-bottom-nav-source-candidate/20260820T093954Z-34122`.
The page is again `VERIFIED_AWAITING_OWNER_ACCEPTANCE`; later pages remain
frozen until explicit Owner acceptance. Owner review then found that both
rails still contradict the approved master: the top overlays opaque resource
cards and an oversized identity plate over a continuous inlaid rail, while
the bottom uses undersized generic medallions plus labels instead of the
approved rail-integrated icon hierarchy. The page returns to
`IMPLEMENTATION_IN_PROGRESS` for those two rail presentation boundaries only.
Source `c32967d` restores the approved continuous top rail, compact identity
pill, icon-plus-value cells, native-width caps and four bottom destinations;
Title/Back reuses the left Guild crest instead of adding a fifth medallion.
Its fresh archive passes the expanded layered constraints, 10 parsed touches
and 24 frames with strict diagnostics 0 at
`/private/tmp/aetherbound-guild-test-evidence/hub001-rail-language-source-candidate/20260820T103441Z-72079`.
The page is again `VERIFIED_AWAITING_OWNER_ACCEPTANCE`; later pages remain
frozen until explicit Owner acceptance.
- Rejected pixel Gallery item: `5vl2EqsYWkey`
- Latest functional evidence: combined RG-03/RG-04 midpoint systems, Save-v11,
five-profile simulation, runtime regression and Web transport passed.
- Human visual evidence: `FAIL`; the Owner rejected the pixel-art presentation
as a contradiction of the accepted Japanese 2D hand-drawn direction.
- Superseded DEV-1 functional source: `43e5bacbf88953ae99676400532189f02143be20`.
- DEV-1 functional evidence: source-bound entry suite and complete preserved
FG-4 midpoint regression both PASS. On 2026-08-17 the Owner rejected its
generic translucent entry chrome as substantially different from the
accepted Japanese 2D fantasy UI reference.
- DEV-1F local evidence: six focused DEV-1 headless checks, real parsed touch
and 20 normal-render development frames pass after the Title gained enamel,
ivory, gold-trimmed, heraldic and icon-forward runtime chrome. This is not a
renewed candidate or human visual pass.
- DEV-1G local evidence: the same six checks, parsed touch and final 20-frame
development matrix pass after Boot, first launch, Settings and Credits adopt
the same chrome. The first compressed setup-grid attempt was rejected and
repaired before this pass.
- Revised DEV-1 candidate source:
`d3b93268776b87b7bfb407c79165011facc438f8`.
- Revised source-bound DEV-1 suite and complete preserved FG-4 regression PASS
with strict diagnostics 0. Source-bound entry frames reach
`agent_visual_reviewed`; only the Owner can grant human visual acceptance.
- Latest Owner product decision, 2026-08-17: New Game's choose-two Recruits form
the persistent initial Expedition Company; Contract runs are bounded
expeditions inside continuous incremental growth, do not discard the roster,
and zero-HP Recruits return for the next stage instead of dying permanently.
- DEV-2A authority correction is complete: all six current documents place that
rule above frozen FG-4 lifecycle evidence. The exact next-stage HP amount
remains a later balance decision; DEV-2 guarantees return and persistence but
does not invent a full-heal value.
- DEV-2B implementation is locally complete: one saved seed creates exactly
four complete deterministic Recruit offers in fixed positions; zero-to-two
selected IDs survive restart; duplicate, unknown, third-selection, corrupt
replica and interrupted-candidate boundaries are explicit; no Company or
Contract state exists before commit.
- DEV-2C implementation is locally complete: Title reaches the real four-offer
page; Inspect/Compare preserve selection; exact `0/2..2/2` gating, visible
third-selection rejection, Back/restart restoration and parsed touch pass.
Sixteen normal-render development frames cover required sizes, languages and
100/130% text; this is not source-bound candidate or human acceptance.
- DEV-2D implementation is locally complete: Review names the selected two and
unchosen two; Revise preserves the draft; Create Company atomically writes
exactly the selected persistent Recruits with a deterministic receipt, then
reaches the bounded Guild handoff. Duplicate commit, candidate recovery,
lingering-draft cleanup, restart/Continue, Guild Settings return and visible
disabled-action reasons pass. Twenty-four normal-render development frames
cover all six DEV-2 page states at the required layout matrix; this remains
dirty-tree guidance, not source-bound candidate or human acceptance.
- DEV-2D implementation source:
`71f49a4926499ec8aa4911f9d162df709ecf132f`; pushed, clean and equal to
upstream before DEV-2E activation.
- DEV-2 candidate source:
`d1990538d5d70059f1203bf4817d1b0e9bf49a74`.
- Source-bound DEV-2 candidate suite and complete preserved FG-4 regression
PASS with strict diagnostics 0. The candidate covers the complete parsed
Boot/setup/Title/choose-two/Review/Revise/restart/Create/Guild path plus 24
normal-render Initial Company frames. Actual-size source-bound frames reach
`agent_visual_reviewed`; only the Owner can grant human visual/comprehension
acceptance.
- Owner visual review, 2026-08-17: `FAIL_CHARACTER_ABSENCE`. The candidate is
functionally correct but still reads as repeated cards and text. Reopened
DEV-2 must make generated Recruits the dominant visual choice through real
person-bearing controls, larger Inspect/Compare/Review portraits and the
persistent pair standing in Guild; decorative text panels cannot substitute.
- DEV-2F implementation is locally complete: all 12 base Professions now have
one-to-one non-pixel Recruit stickers; four person-bearing candidate controls,
portrait-led Inspect/Compare/Review, the persistent Guild pair and illustrated
Contract Board/Market props render over a visible shared environment rather
than opaque repeated cards. The eight missing stickers used exactly two 2x2
`gpt-image-2` calls costing `$0.028`; four accepted sources were reused.
- Controlled worktree evidence passes all six applicable DEV-1 and all six
DEV-2 behavior/parsed-touch checks with strict diagnostics 0 at
`/private/tmp/aetherbound-guild-test-evidence/dev2-character-worktree-suite/20260817T130943Z-23198`.
Twenty-four normal-render frames pass the required 760x360, 844x390 and
1280x720, zh_CN/en and 100/130% matrix at
`/private/tmp/aetherbound-guild-test-evidence/dev2-character-captures/20260817T130637Z-20886`.
The six representative runtime frames were sent to the Owner; human visual
acceptance remains open.
- Source-bound DEV-2F implementation commit
`9b8a533d86e041c4543e94a10ce42fd7438e9077` passes the complete DEV-2
candidate suite at
`/private/tmp/aetherbound-guild-test-evidence/dev2-character-candidate/20260817T132045Z-34538`:
six DEV-1 checks, six DEV-2 checks, parsed input and 24 normal-render frames,
with strict diagnostics 0. This does not override the open human gate.
- Owner follow-up, 2026-08-17: `FAIL_NOT_YET_ALIGNED`. The first sticker pass
improves subject presence but the four tall portrait-like actors and vertical
choice slots still do not read as the accepted compact Japanese 2D unit/HUD
system. A worktree graybox now removes the four full-height plates and places
all candidates in one visible painted scene with HUD strips and selection
rings; 24-frame evidence passes at
`/private/tmp/aetherbound-guild-test-evidence/dev2-open-stage-captures/20260817T135149Z-71812`.
Actor proportion/style alignment remains open. The Owner then explicitly
required one consistent actor style and questioned the current size; DEV-2F
is authorized to replace all 12 mixed sources with one unified compact unit
sheet and reduce choice-page display scale while preserving larger Inspect.
- The first unified 4x3 sheet was internally consistent but still failed the
accepted ordinary-unit boundary with 6.5-7-head anatomy and key-art detail.
The final authorized repair call produced all 12 together at compact
4.5-5-head tactical proportions with one face, line, cel-shadow, material and
light contract. All 12 now use one-to-one runtime textures; choice actors are
reduced, Guild actors are further reduced, and Inspect/Compare stay larger.
Focused behavior PASS:
`/private/tmp/aetherbound-guild-test-evidence/dev2-unified-actor-choice/20260817T144520Z-42716`.
Twenty-four normal-render frames PASS:
`/private/tmp/aetherbound-guild-test-evidence/dev2-unified-actor-captures/20260817T144542Z-42958`.
Agent review finds complete silhouettes, coherent style and usable scale at
760x360, 844x390 and 1280x720; Owner acceptance remains open.
- The first source-bound suite from `5700a84` passed all 12 DEV-1/DEV-2
behavior checks, then its single normal-render process accumulated resources
after 18 frames and timed out before the 1280x720 fixture. Runner cleanup
completed at
`/private/tmp/aetherbound-guild-test-evidence/dev2-unified-actor-candidate/20260817T145351Z-58238`;
this is a harness timeout, not a product PASS or visual failure. The isolated
1280x720 fixture passes six states in 3.7 seconds at
`/private/tmp/aetherbound-guild-test-evidence/dev2-split-capture-fixture-3/20260817T151341Z-77767`.
Candidate capture now owns one normal-render process per fixture while
retaining the same 24-frame matrix and strict diagnostics.
- Owner follow-up rejects the current DEV-2 button and outer-frame treatment:
repeated double-gold cut-corner boxes, generic diamond medallions and one
continuous enclosing border still read as utility chrome rather than an
authored Japanese fantasy command layer. DEV-2F remains active for a narrow
procedural-chrome repair; all button behavior and DEV-3 scope stay frozen.
- Owner requires every review correction to remain durable and prevent repeat
failures. The active plan now has a DEV-2F recurrence checklist covering
character priority, unified actor style/scale, open framing, differentiated
semantic commands, focused visual iteration and explicit human-gate status.
- Owner also rejects repeated opaque long-running checks during visual review.
DEV-2F now limits each visual iteration to the focused current-page behavior
check and six representative frames. Any check expected to exceed 60 seconds
must be named with purpose and duration before launch; full DEV-2/FG-4
regression waits for visual-direction acceptance.
- DEV-2F command-chrome candidate v2 is implemented in real Godot UI: Initial
Company pages now use open corner ornaments plus header/footer rails;
parchment return tabs, compact A/B markers, plus/check selection commands,
compare arrows and confirmation checks replace generic diamond medallions.
Guild footer and disabled destinations now use the same lighter hierarchy.
Focused behavior passes in 1.6 seconds at
`/private/tmp/aetherbound-guild-test-evidence/dev2-command-chrome-choice/20260817T153507Z-918`;
six 844x390 zh_CN 130% frames pass in 2.4 seconds at
`/private/tmp/aetherbound-guild-test-evidence/dev2-command-chrome-review-v2/20260817T153537Z-1291`.
Human visual acceptance remains open. Owner follow-up rejects v2's content
spacing and frame finish: content and ornament share one rectangle, so titles,
state copy, actors and footer controls sit too close to the edge; sparse corner
strokes read as unfinished rather than intentionally open. DEV-2F remains
active for a separate outer-frame/content-inset repair.
- DEV-2F frame/spacing candidate v3 now renders frame and content in separate
safe rectangles. One complete cut-corner hairline, four constructed corner
fittings and aligned header/footer rails sit outside a stable inner inset for
headings, actors, copy and commands. Focused behavior passes in 1.5 seconds at
`/private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-choice/20260817T154715Z-19139`;
six 844x390 zh_CN 130% frames pass in 2.4 seconds at
`/private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-review/20260817T154743Z-20697`.
Human visual acceptance remains open.
- Owner accepted DEV-2F frame/spacing candidate v3 for continuation on
2026-08-17. DEV-2 source `4352e253a83ee9f3ce3bca6eac99c5e70691f989`
passes the source-bound candidate suite at
`/private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-candidate/20260817T155546Z-29597`
and the preserved FG-4 regression at
`/private/tmp/aetherbound-guild-test-evidence/dev2-final-fg4-regression/20260817T155717Z-30828`,
both with strict diagnostics 0 and complete runner cleanup. DEV-2 is complete.
- DEV-3 is activated under one durable five-substep plan. DEV-3A owns only the
authoritative Company-store migration and deterministic first Contract/
Market persistence: v1 Company compatibility, one active Contract, 52 Coin,
Line capacity four, exact 3/4/3 offers and retry-safe receipts. Guild UI,
Market review and hiring remain later DEV-3 substeps.
- DEV-3A is locally complete: Company schema v2 atomically migrates valid v1
data without changing Company/Recruit identity and stores one active first
Contract in the same file. Contract creation fixes 52 Coin, Line capacity
four, a deterministic 3/4/3 Market and an idempotent receipt. Focused DEV-3A
and two affected DEV-2 checks pass with strict diagnostics and runner cleanup.
- DEV-3B is locally complete: Guild exposes one unlocked Contract, four
difficulty segments, truthful Market preconditions, Cancel and explicit
confirmation. Confirm reaches a persisted 52-Coin Market handoff; Continue
and restart resume it without purchases. English/130%-text parsed touch and
the two affected DEV-2 Company/Guild checks pass with strict diagnostics.
- DEV-3C is locally complete: one stable physical 3/4/3 Market ledger keeps all
rows inspection-only; a separate Recruit review shows exact identity,
Profession, Trait benefit/cost, attributes, item, history, price and Company/
Line effect. Cancel restores the same offer/focus. Chinese/130%-text parsed
touch and prior-boundary regression pass with strict diagnostics.
- DEV-3D is locally complete: two separately confirmed 14-Coin Recruit
transactions append two persistent members and distinct idempotent receipts,
advancing Company `2 -> 3 -> 4` and Coin `52 -> 38 -> 24` while Line capacity
remains four. Duplicate/conflict/price/candidate/restart tests and English/
130%-text parsed touch pass; a third offer remains inspection-only at the
DEV-3 stopping point.
- DEV-3E candidate source `a0918bc` passed all 16 behavior/persistence/touch
checks but failed the first normal-render fixture: 760x360 Market footer
controls extended 2 px below the viewport. A narrow short-screen height repair
passes the same six-state fixture; DEV-3E remains active pending a new source-
bound full candidate.
- DEV-3 final source `0da89b848c87013038ffa39c49d451fb2da8e3d1`
passes the complete source-bound candidate at
`/private/tmp/aetherbound-guild-test-evidence/dev3-candidate/20260817T172359Z-27922`:
six DEV-1, six DEV-2 and four DEV-3 markers plus 24 normal-render states,
parsed touch, layout bounds and strict diagnostics 0. Runner cleanup is
complete. DEV-3 is complete; human visual/comprehension/fun, device, package,
store and release gates remain open.
- DEV-4 is activated under one durable five-substep plan. DEV-4A owns only an
in-place prepared-party/risk foundation: deterministic four-member auto-order,
explicit rear-left/front-right position semantics, atomic order/readiness
receipts and three stable first-battle risk projections. Runtime Party/risk
pages remain DEV-4B/D, and DEV-5 owns the first battle transaction.
- DEV-4A is locally complete: one strict optional formation block in the
schema-v2 Contract preserves four Recruit hashes, 24 Coin, the Market board
and both hire receipts while adding deterministic order, relation/coverage
facts, three stable risk projections and idempotent order/readiness receipts.
Focused domain and affected DEV-3 two-hire touch regression pass with strict
diagnostics and complete runner cleanup. DEV-4B Party Line is active.
- DEV-4B is locally complete: Market enables Establish Line only at Company
4/4; four unified actors stand rear-left to front-right with position 0 at the
right, and parsed tap-select/tap-destination, relation preview, Undo, Reset,
Back and restart pass in Chinese/English at 130% text. Four normal-render
review frames pass; Save & Review names its DEV-4C boundary.
- DEV-4C is locally complete: Save & Review atomically persists the exact
order, Readiness freezes IDs/position/coverage/threat, Revise preserves it,
and Accept records one idempotent preparation receipt without a battle or
risk commit. English/Chinese 130% parsed-touch and restart paths pass with
strict runner cleanup. DEV-4D Risk Selection is active.
- DEV-4D is locally complete: accepted Readiness opens a three-option risk
board with no auto-selection, local compare/cancel/restart semantics and a
frozen-party commitment preview. Begin Battle is disabled with a DEV-5 reason
and no battle receipt. Chinese/English 130% parsed-touch and three
normal-render risk states pass with strict runner cleanup. DEV-4E candidate is
active.
- DEV-4 final source `62db001e8915873bb0b7632cfe90dd40a847530f`
passes the complete source-bound candidate at
`/private/tmp/aetherbound-guild-test-evidence/dev4-candidate/20260817T182401Z-99737`:
six DEV-1, six DEV-2, four DEV-3 and four DEV-4 markers plus 24 normal-render
states, parsed touch, 44px controls, layout bounds and strict diagnostics 0.
No battle receipt exists and runner cleanup is complete. DEV-4 is complete;
human visual/comprehension/fun, device, package and release gates remain open.
- DEV-5 is activated under one durable five-substep plan. DEV-5A owns only a
current battle receipt, deterministic event timeline, result/diagnosis data
and battle-local knockout state around the accepted DEV-4 snapshot. DEV-5B-D
runtime/result/recovery pages and DEV-6 Company management remain pending.
- DEV-5A is locally complete: one idempotent current battle receipt freezes the
accepted Party/risk, persists nine exact event kinds, settles pressured
victory once at Coin `24 -> 51`, records one battle-local knockout without
removing a Recruit and recovers the same four stable IDs for the next stage.
Focused domain and DEV-3/4 regressions pass with strict runner cleanup.
- DEV-5B is locally complete: Risk Commitment now creates a real Battle
Opening/Live scene with four compact actors, enemy contact corridor, disclosed
threat, automatic deterministic playback, Pause/Resume, 1x/2x observation and
the exact DEV-5A event rail. Continue restores an active receipt without
issuing combat commands. The playback timer is owned by the Shell and is
invalidated on tree exit; the prior SceneTreeTimer leak is resolved.
Focused bilingual parsed-touch PASS:
`/private/tmp/aetherbound-guild-test-evidence/dev5-battle-ui-fix/20260818T004251Z-65519`.
DEV-5C Result/Diagnosis is now complete.
- DEV-5C is locally complete: Battle Result names outcome/objective, exact Coin
and XP settlement, first decisive damage, battle-local knockout identity and
a compact causal chain before Continue. Settlement now keeps exactly nine
events instead of duplicating `result`; three surviving Recruits each receive
16 XP while the knocked-out Recruit receives zero. Continue reaches an
Knockout Review and explicit DEV-5D recovery handoff, and restart returns to
Result without a duplicate settlement. Focused bilingual parsed-touch PASS:
`/private/tmp/aetherbound-guild-test-evidence/dev5-result-ui-worktree/20260818T013511Z-8975`.
Foundation, DEV-5B UI and DEV-3 hire regressions pass with strict runner
cleanup. DEV-5D Knockout/Recovery is now complete.
- DEV-5D is locally complete: Result Continue opens Knockout Review with the
stable member identity and current-battle gap, Acknowledge opens Recovery,
and one atomic commit returns the same Recruit IDs/Profession/Trait/level/XP/
history/equipment to next-stage Market. Duplicate recovery returns the
original receipt; no Recruit is deleted or replaced. Focused bilingual
parsed-touch PASS:
`/private/tmp/aetherbound-guild-test-evidence/dev5-recovery-ui-worktree/20260818T020349Z-31847`.
DEV-5E first-cycle candidate is now complete.
- DEV-5E source-bound candidate is complete at source
`05f89ad7e14323d213287e52112ff927ef812f8d`:
`/private/tmp/aetherbound-guild-test-evidence/dev5-candidate/20260818T025343Z-77825`.
Six DEV-1, six DEV-2, four DEV-3, three applicable DEV-4 and four DEV-5
markers pass, along with 24 normal-render cycle states, parsed touch, strict
diagnostics 0, no permanent death and next-stage Market. The old DEV-4
disabled-Begin-Battle assertion is explicitly superseded by DEV-5's real
Risk -> Battle marker. Exact handoff: `ABG DEV-5 candidate ready`.
- DEV-6A is locally complete: Equipment review exposes sourced effect, fit,
tradeoff, price and four wearer choices. One atomic purchase/equip replaces a
Recruit's universal slot, returns the previous item to persistent inventory,
removes one Market offer and records one receipt; duplicate, conflict,
insufficient-Coin, level/XP and restart behavior pass. Focused PASS:
`/private/tmp/aetherbound-guild-test-evidence/dev6-growth-worktree/20260818T035436Z-29672`.
DEV-2 creation, DEV-3 hire and DEV-5 recovery regressions pass with strict
cleanup. DEV-6B Roster/Recruit Detail is now the only active step.
- DEV-6B is locally complete: Guild exposes a real Roster entry; four member
controls and Recruit Detail show stable identity, Profession, Trait,
individual level/XP, current equipment and battle history. Back and restart
preserve the Company; Dismiss now opens the DEV-6C review with a real
consequence summary. Focused PASS:
`/private/tmp/aetherbound-guild-test-evidence/dev6-roster-worktree/20260818T040436Z-36560`.
- DEV-6A growth and DEV-5 recovery regressions pass with strict cleanup.
- DEV-6C is locally complete: Roster and Recruit Detail expose explicit
dismissal review; Market-only dismissal returns current equipment to
inventory, leaves Coin unchanged, preserves Company growth and blocks the
final live member with a visible reason. Market exposes a separate voluntary
Contract Return review; confirmation writes one retry-safe receipt, marks
the Contract `returned`, preserves roster/Coin/growth and reaches Guild.
Focused PASS:
`/private/tmp/aetherbound-guild-test-evidence/dev6-return/20260818T042042Z-47775`.
DEV-6B roster, DEV-6A growth and DEV-5 recovery regressions pass with strict
runner cleanup. Focused commit `9e6eef9067ff9137f8e1918e9de9cb179187a0bb`
is pushed and equals upstream.
- DEV-6D source-bound candidate is complete at source
`96173243765bc7fe897c13bafebf0affa8a033e6`:
`/private/tmp/aetherbound-guild-test-evidence/dev6-candidate-final/20260818T043605Z-66692`.
All DEV-1..5 and DEV-6 behavior markers pass, plus parsed touch and 24
normal-render management frames across 760x360, 844x390 and 1280x720,
zh_CN/en and 100/130% text. Strict diagnostics are 0, archive SHA-256 is
`7f06d4c89d75689c8851a585245149a1a8d4dc5791c598926aa5f20df3f61862`, and
runner cleanup owns/removes the complete process group and workspace.
- Owner review accepts the DEV-1/DEV-2 Boot, Title and initial-choice baseline
for continuation, but rejects the DEV-3 onward content surfaces: Guild,
Market, Recruit/Equipment review, Roster/Detail and later management pages
still read as repeated cards with small actors and generic command rows. The
shared H5 origin can also resume an old browser save. DEV-6V is a narrow
content-surface repair only; DEV-1/DEV-2 behavior and visual baseline remain
frozen, and Company/Save/Battle semantics remain unchanged.
- DEV-3V focused source-bound candidate passes at source
`e979af7aeb5de9aead65a13f65429120ad6578d2`:
`/private/tmp/aetherbound-guild-test-evidence/dev3v-candidate/20260818T053424Z-20989`.
The candidate keeps DEV-1/2 behavior, covers Guild, Contract, Market,
Recruit Review and post-hire Market across 24 normal-render frames, parsed
touch and strict diagnostics 0. H5 visual check:
`https://gallery.aichickenfarm.cn/item/OmkTW9cqlO6I?share=ff6dec4644691d79c8c6e0bd3efbb738680abec9c2bf73b1b53574edfbe78f37&fresh=1`.
DEV-3V remains IN_PROGRESS pending Owner visual review.
- Before further DEV-3V code changes, the Owner-provided `IMG_8573` reference
is now decomposed into the written `DEV-3 Owner UI Style Contract` in
`docs/04_ART_ANIMATION_AUDIO.md`: world-first composition, full readable
actors, object-led commands, open HUD rails, no nested card wall and the
required landscape/text-scale acceptance matrix. UI implementation is
frozen until this written contract is accepted.
- P0 consolidation is complete. `docs/01` is the
positive product contract; `docs/02` is systems/economy/Save authority;
`docs/03` is pages/components/states; `docs/04` is art/audio; and `docs/06`
is the ordered roadmap and evidence gate. The written Style Bible is the
reference; the next proof is the concrete `VA-1_GUILD_COMPANY_ANCHOR` page.
DEV-1R, DEV-3V and later presentation/gameplay expansion remain frozen until
the anchor is Owner-reviewed.
- P0 checks pass: `ABG_DESIGN_CONTRACTS_OK` and
`ABG_PREDEVELOPMENT_DESIGN_OK` (`documents=6`, `pages=50`, `errors=0`).
The design validator was updated to read the current consolidated docs
instead of the retired `docs/product` split. No safe tracked dead product
file was found; historical runtime/evidence remains preserved.
- DEV-1R Boot repair is implemented at source
`23f34bbe669b2d119929d9d4c47e4466cfa2116c`. Resource/save verification,
recoverable Retry and the Boot -> first-launch runtime handoff pass through
the owned runner. Normal-render review replaces the opaque full plate with a
bright painted scene and lower field-attached verification rail at 760x360
and 844x390. Fresh-start H5 review:
`https://gallery.aichickenfarm.cn/item/8pe4Em72THsp?share=652f6a7f6605215742502da8ac72b22c30406b111904be2aef0cfe999e50266f&fresh=1`.
DEV-1R remains frozen by the visual anchor step and its human visual review is `FAIL`: the current
frame still inherits the rejected procedural entry-chrome grammar. The H5 is
not a valid acceptance candidate; first-launch setup is not yet reopened.
- `VA-1A_GUILD_ANCHOR_DECOMPOSITION` is complete. The current Guild runtime
uses the locked Master B background, canonical B actor cutouts, AI-generated
HUD/kiosk/medallion assets, engine text and independent hit areas. It no
longer uses the old full-page frame, right utility panel or footer layout.
- VA-1 is `agent_visual_reviewed / OWNER_REVIEW_OPEN`. Master B normalized
coordinates now determine the top rail, actor foot line, kiosk and bottom
rail at 760x360, 844x390 and 1280x720. Focused behavior PASS:
`/private/tmp/aetherbound-guild-test-evidence/va1-master-coordinates-behavior-v2/20260819T005226Z-2313`.
Required captures PASS at
`/private/tmp/aetherbound-guild-test-evidence/va1-master-coordinates-capture-v3/20260819T010012Z-7453`,
`/private/tmp/aetherbound-guild-test-evidence/va1-master-coordinates-fixture-0/20260819T010257Z-9294`
and `/private/tmp/aetherbound-guild-test-evidence/va1-master-coordinates-fixture-3/20260819T010257Z-9292`.
- VA-1 exact-composition candidate now uses the confirmed Master B composite
as the visual coordinate master, with independent engine text and transparent
hit areas. This is a visual-anchor checkpoint, not yet the final dynamic
layer split. Focused behavior and Guild capture pass at
`/private/tmp/aetherbound-guild-test-evidence/master-b-composite-behavior-v2/20260819T022004Z-64324`
and `/private/tmp/aetherbound-guild-test-evidence/master-b-composite-capture-v2/20260819T022101Z-64892`.
- Owner review reopened VA-1 responsive geometry on 2026-08-19: the 16:9
Master B canvas must never stretch to a phone's device ratio. Wider or
narrower landscape space belongs to the independent World layer while all
engine text and hit areas remain centered with the complete master canvas.
This narrow repair is `IN_PROGRESS`; prior captures do not close it. The
focused responsive check now covers 800x500, 960x540 and 1280x600 with a
live viewport resize, including vertical World extension on narrow screens.
- Responsive repair verification passes at
`/private/tmp/aetherbound-guild-test-evidence/va1-responsive-layout/20260819T032630Z-17579`
(`ABG_DEV3_GUILD_RESPONSIVE_OK`), parsed Guild navigation at
`/private/tmp/aetherbound-guild-test-evidence/va1-responsive-behavior-final-r2/20260819T032739Z-18460`,
and normal-render Guild/Contract/Market matrices at
`/private/tmp/aetherbound-guild-test-evidence/va1-responsive-capture-final-760/20260819T032656Z-17824`,
`/private/tmp/aetherbound-guild-test-evidence/va1-responsive-capture-final-844/20260819T032656Z-17825`
and `/private/tmp/aetherbound-guild-test-evidence/va1-responsive-capture-final-1280-r2/20260819T032739Z-18459`.
- Owner follow-up requests the Guild frame to use Chinese runtime copy and to
remove the AI-master horizontal lines/plus marks that read as placeholders.
The active VA-1 repair therefore adds compact engine-rendered resource and
command labels, repositions kiosk/member copy and keeps the existing English
branch and navigation semantics intact.
- Chinese HUD/placeholder repair passes focused Guild navigation at
`/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-behavior-final/20260819T035831Z-42009`,
live-resize geometry at
`/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-responsive-final/20260819T035831Z-42011`,
and normal-render Guild/Contract/Market states at
`/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-capture-760-final/20260819T035831Z-42010`,
`/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-capture-844-final-r2/20260819T035831Z-42013`
and `/private/tmp/aetherbound-guild-test-evidence/va1-chinese-hud-capture-1280-final/20260819T035831Z-42012`.
- Owner accepted the repaired Guild visual anchor for continuation on
2026-08-19 and then explicitly redirected entry reconstruction to the Title
page before Boot/first-launch re-review. `VA-2` retains its existing parsed
Guild interaction evidence but is not a separate active implementation step.
- Title v001 was superseded after Owner review found two presentation defects:
the separate World
extension visibly joined a different image at non-16:9 edges, and the Title
identity sat too high against the crest. Owner approved the replacement v002
design on 2026-08-19. V002 uses one complete 16:9 master with a clean
sky-toned matte outside the canvas, never a second image, and moves the
engine-rendered identity lower with smaller type. The v001 current-tree
design/runtime copies were removed in cleanup batch 1; Git history retains
their provenance.
- `SYS-003 Title` v002 runtime candidate preserves New Game/Continue/Settings/
Credits semantics and passes focused behavior at
`/private/tmp/aetherbound-guild-test-evidence/title-v002-behavior-final/20260819T062925Z-70066`,
wider/exact/narrower live resize at
`/private/tmp/aetherbound-guild-test-evidence/title-v002-responsive-final/20260819T062925Z-70064`,
parsed entry touch at
`/private/tmp/aetherbound-guild-test-evidence/title-v002-touch-final/20260819T063140Z-71569`,
and the 20-frame entry capture matrix at
`/private/tmp/aetherbound-guild-test-evidence/title-v002-capture-final/20260819T062925Z-70065`.
V001 remains provenance only; v002 is the sole current Title authority and
still awaits Owner runtime acceptance before another entry page is activated.
- A `SYS-002 First-launch Setup` v001 image draft was generated after three
zero-cost provider failures; the fourth attempt completed for `$0.014`.
It is preserved under
`docs/design-authority/pages/SYS-002-first-launch/drafts/v001/` with status
`DRAFT_REVIEW`. It is not approved design authority, is not imported into
the runtime and does not supersede the active Title review boundary.
- Broader human comprehension/fun, device, package and release gates remain
`OPEN`.
## Preserve
- Verified DEV-1 runtime, behavior and source-bound evidence.
- Existing FG-4 runtime and Save-v11 evidence as historical implementation
until their newly superseded casualty/Contract-close semantics reach their
named later conversion step; do not delete or rewrite them inside DEV-2.
- Touch, localization, accessibility and audio-event routing.
- Rejected pixel assets and H5 only as Git/evidence history.
## Frozen
- Product Runtime changes are restricted to the active BAT2-4D focused closure
plus the BAT2-4C timeline and diagnostic implementation. The observation service is
frozen at `2d4d5a7` and the contained field is frozen at `950b32e`; later
battle pages, economy settlement and unrelated battle-rule changes remain
frozen until their named substeps are activated after a focused push.
- No page may move from AI draft to Godot implementation without the explicit
state transitions in `page-production-contract.json`.
- Promotion, Artifacts, second Contract creation and second battle remain
frozen at the DEV-6 stopping point.
- Pixel asset expansion.
- FG-5 and later Regions.
- No new BAT-002 image generation or image editing is authorized. The closed
BAT2-3 package reuses accepted environment, actor, enemy and engine-chrome
assets with explicit provenance; BAT2-4 must reconstruct from that package.
- Native packaging, devices, signing, stores and release.
- Concurrent edits to the same Runtime ownership boundary; multi-Agent
deconstruction, asset, test and read-only review work uses one Runtime writer.
## PTY-002 Review Issue Register
- `PTY002-VIS-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the 760x360, 844x390 and 1280x720 Runtime captures at zh_CN/en 100%/130% text scale. The complete four-person line, position 0 exposure, summary and warning hierarchy, command emphasis and disabled-before-accept Risk boundary are confirmed. Layout experiment variants remain auxiliary evidence only.
## RSK-001 Review Issue Register
- `RSK001-VIS-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the normal 100%
Runtime captures and live path at actual size on 2026-08-23. The three-column
reading hierarchy, frozen party snapshot and truthful command rail are
confirmed.
- `RSK001-VIS-02` `RESOLVED_COPY_DENSITY`: Owner accepted the page
composition but reported that the repeated fact labels read too densely.
Source `d0dea5b` shortens localized labels and helper copy only; all six
sourced facts, values, selection semantics, hit areas and the Risk
Commitment boundary remain unchanged. Fresh source-bound normal 100%
captures pass; the Owner acceptance record closes RSK-001.
## RSK-002 Review Issue Register
- `RSK002-VIS-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the v001 AI draft at
actual size on 2026-08-23. The singular selected-risk composition, connected
consequence band, four-member Party staging and bottom commitment rail are
approved for reconstruction; the approval record is under
`pages/RSK-002-risk-commitment/approved/v001/`.
## RSK-002 Deconstruction Issue Register
- `RSK002-DEC-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the v001 layer map,
text slots, hit areas and deconstruction board at actual size on 2026-08-23.
## RSK-002 Asset Issue Register
- `RSK002-ASSET-01` `RESOLVED_OWNER_ACCEPTED`: Owner replied `OK` to the
full-size clean static master and contact sheet on 2026-08-23. World/relic
continuity, dynamic mask ownership, reused Recruit provenance and the
no-baked-text policy are accepted; the reconstruction handoff is the next
separate boundary.
## RSK-002 Runtime Issue Register
- `RSK002-RUNTIME-01` `RESOLVED_OWNER_ACCEPTED`: Owner accepted source
`64c1c6f` at actual size on 2026-08-23. The selected-risk/Party hierarchy,
six-fact consequence band, acknowledgement gate, command rail and exact-once
BAT-001 handoff are closed at normal `100%`; the acceptance record is under
`pages/RSK-002-risk-commitment/verification/owner-acceptance.md`.
## BAT-001 Specification Issue Register
- `BAT001-SPEC-01` `RESOLVED_SPEC_READY`: The BAT-001 contract and state matrix
are complete in source `1b3adc6`; the static pre-observation boundary,
normal `100%` layout, input order and frozen scope are validated before any
art or Runtime work.
- `BAT001-DRAFT-01` `RESOLVED_REJECTED_WRONG_AUTHORITY`: Source
`task_01M0QAKYKS41600MSY318C2VZP` is preserved under
`pages/BAT-001-battle-opening/rejected/v001/`. Owner rejected its sparse
four-actor tableau, oversized units and parchment panels as a competing
battle direction. It cannot be used for deconstruction, assets or Runtime.
- `BAT001-AUTHORITY-01` `RESOLVED_OWNER_ACCEPTED`: Owner confirmed `OK` to
proceed on 2026-08-23. The existing approved battle page and
`phase6_battle_scale_04` proof remain the BAT-001 visual authority; the
rejected v001 composition is provenance only.
## BAT-001 Reconstruction Issue Register
- `BAT001-DEC-01` `RESOLVED_PREflight_26_26`: The page-specific layer map,
engine text slots, responsive anchors and transparent hit areas passed the
focused preflight in source `7fccbbc`; the accepted full-party battlefield
and compact rail hierarchy remain intact.
- `BAT001-ASSET-01` `RESOLVED_REUSE_EXISTING`: No new AI generation was used.
The clean Windglass field, four actor textures and Riftblade enemy texture
are bound to existing accepted provenance with no pixel conversion.
## BAT-001 Runtime Issue Register
- `BAT001-RUNTIME-01` `RESOLVED_SOURCE_BOUND_PASS`: Source `f892bb6` renders the
static opening with the exact Party/enemy bindings, explicit handoff and no
hidden phase advance. The focused behavior attempt and four normal 100%
capture attempts pass with strict diagnostics 0.
- `BAT001-RUNTIME-02` `RESOLVED_OWNER_ACCEPTED`: Owner accepted the source-bound
normal `100%` Runtime on 2026-08-24. The complete Party/enemy relation,
compact field-attached rails, first-threat disclosure and explicit BAT-002
handoff are closed; the record is under
`pages/BAT-001-battle-opening/verification/owner-acceptance.md`.
## Closed M07 Plan
`M07_BAT001_BATTLE_OPENING_OWNER_RUNTIME_REVIEW` owned the actual-size review of
the bounded Godot reconstruction after the accepted battle authority, validated
contract/state matrix, rejected v001 output, complete reconstruction package
and source-bound Runtime evidence. The player-visible stopping point is a
truthful Battle Opening surface where the objective, complete bound Party
order, enemy-facing direction and first disclosed threat are readable before
observation starts while preserving the accepted battle page's full-party
scale, continuous field and compact top/bottom HUD hierarchy. The Runtime
candidate authorizes only the static opening surface and explicit handoff to
BAT-002. The Owner accepted that bounded surface on 2026-08-24. All five M07
steps are complete; BAT-002 live simulation and later pages remain outside this
closed milestone.
Ordered checks:
1. Build BAT-001 from the reconstruction spec using the clean accepted field,
exact RSK-002 Party snapshot and committed enemy offer.
2. Keep the complete Company line, compact ordinary-unit scale, enemy-facing
corridor, top status rail and bottom Company rail readable at the required
landscape sizes.
3. Require explicit Start Observation, preserve the original receipt exactly
once and hand off to BAT-002 without advancing a tick or mutating Company.
4. Run focused behavior/input/responsive checks through the source-bound
attempt runner with strict diagnostics and retain the four normal 100%
captures.
5. Owner reviewed and accepted the actual-size candidate and truthful BAT-002
stopping boundary on 2026-08-24.
Frozen scope: no new image generation, asset generation, live battle
timeline, combat simulation, result/recovery UI, new content, economy changes,
second-cycle management, device validation, packaging, store submission,
release or unrelated cleanup.
Commit boundary: the reconstruction package is closed in source `7fccbbc`.
Runtime implementation is committed in `f892bb6`; focused source-bound behavior
and capture evidence are retained under the four `bat001-*` attempt families
before the now-closed Owner Runtime review step. The Owner acceptance is
recorded in the BAT-001 verification package.
## BAT-002 Specification Issue Register
- `BAT002-SPEC-01` `RESOLVED_SPEC_READY`: BAT-002 `page-contract.json` and
`state-matrix.json` reconcile the accepted BAT-001 receipt with the
authoritative automatic-battle rules. They define live actor/target/event
readability, exact `Waiting for next event` empty state, invalid-event pause,
BAT-003/004/005/006 handoffs and the OUT-001 stopping boundary. JSON, six
focused assertions, design-contract and predevelopment checks pass.
## Closed BAT2-1 Plan
`M08_BAT002_LIVE_BATTLE_SPEC` owned only the BAT-002 page contract and state
matrix. The player-visible stopping point is a readable automatic battle
surface reached from the accepted BAT-001 receipt: objective, encounter-only
knockout rule, complete Party/enemy relation, current urgent cause, live actor
state, source/target relation and recent event sequence remain visible while
the deterministic timeline runs. Pause, legal speed, inspect and retreat entry
are diagnostic controls only; there is no manual attack or skill command. The
page stops when the immutable outcome is ready for OUT-001 and does not render
result, reward or recovery UI.
Ordered checks:
1. Author `BAT-002` `page-contract.json` and `state-matrix.json` from the
accepted BAT-001 receipt and current gameplay/UX/art authority.
2. Define normal `100%` landscape anchors, zh_CN/en text ownership, touch/
keyboard/controller focus, reduced-motion/flash/low-power behavior and
explicit BAT-003/004/005/006 handoffs.
3. Require the exact no-current-event copy `Waiting for next event`; invalid
event data pauses and offers Retry Snapshot or Safe Exit; backgrounding
freezes simulation and routes through BAT-006.
4. Validate JSON, the complete design contract, predevelopment authority and
focused BAT-002 static assertions.
5. Commit and push the specification package before activating authority
reconstruction, assets or Runtime. BAT2-1 remains the closed boundary until
that push is remote-visible.
Frozen scope: no image generation, page reconstruction, Runtime edits,
authoritative battle-rule replacement, new content, economy change, BAT-003
inspect implementation, BAT-004 pause overlay, BAT-005 retreat confirmation,
BAT-006 resume review, OUT-001 result UI, second-cycle management, device
validation, packaging, stores, release or unrelated cleanup.
Commit boundary: one focused BAT-002 specification commit after the separate
plan-activation source `53490a1`. No later step becomes active in that commit.
Final handoff: `ABG BAT-002 SPEC READY`.
## BAT-002 Authority Issue Register
- `BAT002-AUTHORITY-01` `RESOLVED_APPROVED_EXISTING`: The accepted
`05_battle_ui_japanese_scale.png` and `phase6_battle_scale_04` proof are copied
byte-for-byte into the BAT-002 approved v001 package. Hashes, focal regions,
dynamic ownership and explicit rejections preserve both full lines,
ordinary-unit scale, central action gap, top status/control rails,
urgent-event geometry and bottom actor-state rail. Historical `show_battle()`
and static BAT-001 Runtime remain functional/neighboring provenance only.
## Closed BAT2-2 Plan
`M08_BAT002_LIVE_BATTLE_AUTHORITY` owned only page-specific reconciliation of
the existing Owner-approved live-battle reference and full-party scale proof.
It does not generate a new design or start deconstruction, assets or Runtime.
Ordered checks:
1. Copy the accepted live-battle reference and full-party scale proof into a
page-specific approved v001 package without modifying either image.
2. Record hashes, original repository sources, Owner authority, focal regions,
live-state dynamic ownership and explicit rejected alternatives.
3. Confirm the reference retains complete Party/enemy lines, ordinary actor
scale, action gap, compact top controls and bottom actor-state rail at normal
`100%` landscape size.
4. Run focused authority/hash/static checks, design-contract and predevelopment
validation, then rebuild Gallery.
5. Commit and push the authority package before BAT2-3 deconstruction becomes
`IN_PROGRESS`. BAT2-2 remains closed until the push is remote-visible.
Frozen scope: no new image generation, image editing, deconstruction board,
runtime assets, Godot changes, battle-rule/economy/content changes, later-page
implementation, device validation, packaging, stores, release or unrelated
cleanup.
Commit boundary: one focused authority package and push after specification
source `7ededea`. Final handoff: `ABG BAT-002 AUTHORITY READY`.
## BAT-002 Reconstruction Issue Register
- `BAT002-DEC-01` `RESOLVED_OWNER_ACCEPTED`: the Owner replied `OK` on
2026-08-24 after reviewing the final deconstruction board and asset contact
sheet. The accepted live-battle composition, complete-line scale, layer
ownership, engine slots, hit areas and existing-asset provenance are closed.
No Runtime code or battle simulation was part of BAT2-3.
Machine evidence: BAT-002 reconstruction/spec/authority assertions pass
`17/17`; reusable page preflight passes `32/32`; design-contract,
predevelopment and 50-page Gallery builds pass. The clean field remains
byte-identical to the accepted BAT-001 clean master, no generated player asset
exists, and the deconstruction/asset package is `human_reviewed`. Runtime,
device and release states remain false.
## Closed BAT2-3 Plan
`M08_BAT002_LIVE_BATTLE_RECONSTRUCTION` owns only the BAT-002 v001
deconstruction and reconstruction handoff. Its player-visible stopping point
is a reviewable live-battle composition with a continuous painted field,
complete Party/enemy lines, central action gap, compact top controls, bottom
actor-state rail and subject-attached event geometry. The deterministic
timeline begins only in BAT2-4.
Ordered checks:
1. Inspect the approved master and scale proof at source size, then record the
deconstruction board, focal bounds, normalized layer ownership and dynamic
regions. Static art, Runtime overlays and hit-area-only regions must have one
owner each.
2. Author engine-owned text slots for objective, actor/target/event state,
timer, playback, waiting/error and OUT-001 handoff copy in `zh_CN` and `en`
at normal `100%`; author independent hit areas, focus order and non-
interactive field regions with 48 logical px minimum targets.
3. Reuse the accepted clean Windglass field, existing Recruit/enemy families
and engine-drawn battle chrome only. Record hashes, source paths, dynamic
masks/regions, animation/VFX event bindings, contact sheet and runtime asset
manifest; do not generate or edit player-facing imagery.
4. Run focused BAT-002 reconstruction assertions, page preflight,
design-contract/predevelopment validation and Gallery build. Source
`f9f50cd` is remote-visible; the Owner accepted the final deconstruction and
zero-generation asset package on 2026-08-24.
Frozen scope: no image generation/editing, Godot Runtime or battle-rule
changes, live simulation, BAT-003/004/005/006, OUT-001, content/economy,
device/package/store/release work or unrelated cleanup. Runtime code remains
frozen until BAT2-4 is separately activated.
Commit boundary: activation is source `2e18f63`; the focused package is source
`f9f50cd`. This Owner acceptance closure records
`ABG BAT-002 RECONSTRUCTION READY`; it does not activate BAT2-4.
## BAT-002 Runtime Issue Register
- `BAT002-RUNTIME-01` `RESOLVED_SERVICE_PASS`: source `2d4d5a7` adds a
backward-compatible receipt-bound observation path. The historical
`advance_battle()` settles immediately at its final phase and mutates Coin,
XP, Recruit history and settlement receipts; BAT-002 now uses separate
begin/preview/commit/retry operations, validates event and journal hashes and
stops at an immutable outcome lock. The focused service attempt and legacy
DEV-5 settlement regression pass with strict diagnostics 0.
- `BAT002-RUNTIME-02` `RESOLVED_FIELD_PASS`: source `950b32e` replaces the
rejected card/container surface with the accepted contained field, complete
four-member Party and three-enemy lines, central event projection and ordered
actor-state rail. The exact English waiting copy, sparse waiting density,
normal `100%` responsive layouts, 48px targets, Settings return and no-hidden-
tick handoff pass with strict diagnostics 0.
- `BAT002-RUNTIME-03` `RESOLVED_TIMELINE_PASS`: historical
`battle_runtime_test.gd` expects immediate autoplay, active pause and 1x/2x
controls on the rejected card UI. Its settlement semantics remain covered by
`battle_foundation_test.gd`; timeline, pause and legal 1x/2x/4x behavior now
run on the accepted field in `battle_live_timeline_test.gd` without restoring
the old surface. Source `0de6c7a`; strict timeline, field, BAT-001,
observation-service and legacy DEV-5 regressions pass.
- `BAT002-RUNTIME-04` `RESOLVED_IMPLEMENTATION_CLOSURE`: BAT2-4C is implemented
and source `0de6c7a` passes the combined source-bound field, timeline,
BAT-001, observation-service and legacy DEV-5 closure attempt with strict
diagnostics 0. The implementation record moves BAT-002 to
`IMPLEMENTED_AWAITING_OWNER_RUNTIME_REVIEW`.
- `BAT002-RUNTIME-05` `RESOLVED_SOURCE_BOUND_CANDIDATE`: source `fea2ae9`
passes the owned candidate runner with four normal 100% fixtures and 40
captures; marker `ABG_BAT002_CANDIDATE_OK` appears exactly once, strict
diagnostics are 0, and the archive SHA-256 is
`a00f1b915f34ec9ac84b955ffc2eab7313830bcfccb9c1c1f79d4651161fb7d0`.
Representative captures and the complete archive record are under the
BAT-002 verification package, but the Owner rejected their visual fidelity;
they remain functional provenance only.
- `BAT002-RUNTIME-06` `OWNER_REJECTED_VISUAL_FIDELITY`: the candidate replaced
the approved asymmetric blue/red status rails and centered ivory control
ribbon with plain blocks, replaced the portrait-led Company rail with a
text-heavy strip and oversized Retreat block, and used a debug-like event
band instead of actor-attached event language. Automated PASS results do not
overrule this visual rejection.
- `BAT002-RUNTIME-07` `OPEN_APPROVED_DESIGN_RECONSTRUCTION`: BAT2-4E owns the
visual repair against the approved master. Functional timeline, receipt,
hashes and later-page boundaries remain frozen. No later battle page or
settlement work is authorized.
- `BAT002-RUNTIME-08` `RESOLVED_APPROVED_DESIGN_RECONSTRUCTION`: source
`189c20b` restores the approved asymmetric rails, centered ivory controls,
portrait-led actor-state rail and actor-attached event projection without
changing battle semantics. Field and Timeline markers, four normal 100%
capture fixtures, 17 focused static assertions and 32/32 package preflight
checks pass with strict diagnostics 0. The visual-repair record is
`docs/design-authority/pages/BAT-002-live-battle/verification/visual-repair.json`;
BAT2-5 source-bound verification is complete and BAT2-6 is the next active
boundary.
- `BAT002-RUNTIME-09` `RESOLVED_SOURCE_BOUND_REPAIR_CANDIDATE`: source
`189c20bc4a97071577b43912ebd49bc6d4a3be30` passes fresh-archive import,
`ABG_DEV5_BATTLE_LIVE_FIELD_OK` and `ABG_DEV5_BATTLE_TIMELINE_OK` exactly
once, plus `ABG_BAT002_CANDIDATE_OK` exactly once with 40 normal `100%`
captures across the four required fixtures. All terminals report strict
diagnostics 0 and the retained 45-file candidate archive SHA-256 is
`165b35d9c5869bf335858011aa40683357758a982efe5f451a9aa3f733d918a9`.
Full attempt records are in `pages/BAT-002-live-battle/verification/source-bound.json`.
- `BAT002-RUNTIME-10` `OPEN_OWNER_RUNTIME_REVIEW`: BAT2-6 owns actual-size
review of the repaired source-bound candidate. Acceptance must confirm the
complete Party/enemy relation, normal `100%` readability and truthful
BAT-003/004/005/006 plus OUT-001 boundaries; no later page or settlement
work is authorized before this gate closes.
- `BAT002-RUNTIME-11` `RESOLVED_OWNER_ACCEPTED`: the Owner confirmed the
repaired source-bound Runtime with `这个OK啊` on 2026-08-24 at actual size.
The four-member Company/three-enemy relation, approved blue/red faction
rails, centered ivory controls, continuous portrait-led actor rail and
actor-attached event language are accepted at normal `100%`. Strict
source-bound diagnostics remain `0`; BAT-003/004/005/006 and OUT-001 stay
truthful boundaries, with no reward, recovery, settlement or next-stage
mutation. The acceptance record is
`pages/BAT-002-live-battle/verification/owner-acceptance.md`.
## BAT2 Runtime Plan (Closed)
`M08_BAT002_LIVE_BATTLE_RUNTIME` owns only the bounded first live-observation
Runtime reconstructed from the accepted BAT-002 package. The player-visible
stopping point is the accepted contained battlefield with the complete Party
and enemy lines, ordinary-unit scale, central action corridor, compact rails
and an engine-owned automatic event timeline. The player can read forecast,
commit, source-to-target resolution and stable aftermath for melee/damage,
ranged, magic, healing, guard, enemy pressure and knockout, use diagnostic
controls, and stop at an immutable OUT-001 handoff. BAT-002 never applies
reward, recovery, next-stage or Company-management operations.
Ordered substeps:
1. `BAT2-4A` `COMPLETE` - add a backward-compatible observation service
bound to the original operation, snapshot and single battle receipt. Begin
observation without advancing a tick; preview and commit deterministic
events with stable identity/order/hash validation; persist an
`outcome_locked` record without settlement. Prove idempotency, corruption
rejection, no reward/history mutation and legacy DEV-5 settlement
compatibility in a focused service test.
Source `2d4d5a7`; the final worktree service attempt is
`/private/tmp/aetherbound-guild-test-evidence/bat002-observation-service-worktree/20260824T044254Z-46139`
and the separate legacy attempt is
`/private/tmp/aetherbound-guild-test-evidence/bat002-observation-legacy-dev5-worktree/20260824T044215Z-45630`.
2. `BAT2-4B` `COMPLETE` - replace the historical card/container `show_battle()`
surface with the accepted contained 16:9 layered field. Bind all four Party
actors, the committed enemy line, objective/rules, actor-state rail and
reserved event geometry to the validated observation snapshot; keep exact
`Waiting for next event` copy and 48px targets at the required landscapes.
Source `950b32e`; the final normal-render worktree attempt is
`/private/tmp/aetherbound-guild-test-evidence/bat002-live-field-final-worktree/20260824T052342Z-74920`.
BAT-001 handoff, observation-service and historical settlement regressions
pass separately with strict diagnostics 0.
3. `BAT2-4C` `COMPLETE` - connect forecast/commit/resolving/resolved timing and
diagnostic-only pause, legal 1x/2x/4x speed, inspect, Settings and retreat
entries. Add invalid-event Retry Snapshot/Safe Exit, interruption BAT-006
handoff and immutable OUT-001 handoff states without implementing those
neighboring pages. Source `0de6c7a`; playback-speed invariance and frozen
pause/error/interruption behavior pass.
4. `BAT2-4D` `COMPLETE` - run the focused service/Runtime/input/responsive
regression set, record the implementation boundary and move the page only
to `IMPLEMENTED_AWAITING_OWNER_RUNTIME_REVIEW`. Source
`0de6c7a723ebec5d4202966c926b8fac0fb3332f`; combined source-bound attempt:
`/private/tmp/aetherbound-guild-test-evidence/bat002-closure-source-bound/20260824T071013Z-49976`.
5. `BAT2-4E` `COMPLETE` - source `189c20b` reconstructs the approved battle
presentation in Runtime: asymmetric blue/red crest endcaps and beveled
faction rails; centered ivory pause/speed/inspect ribbon; a continuous
dark-gold bottom rail with event/timer module, numbered portrait cards,
HP/resource/status slots and a compact boundary command; field-attached
objective/event facts, source-target paths, urgent markers and floating
values. Focused visual-repair evidence passes without changing battle
semantics.
6. `BAT2-5` `COMPLETE` - source-bound verification from
`189c20bc4a97071577b43912ebd49bc6d4a3be30` runs fresh import, Field,
Timeline and four normal `100%` fixtures. The three PASS attempts, exact
markers, 40 captures and archive hash are recorded in
`verification/source-bound.json`; the `fea2ae9`/`aa6e0c4` captures remain
rejected visual provenance.
7. `BAT2-6` `COMPLETE` - the Owner accepted the repaired actual-size candidate
with `这个OK啊` on 2026-08-24. BAT-002 is closed at the immutable OUT-001
handoff; later pages remain frozen until separately planned.
Acceptance checks: the approved master remains the visual authority; top rail
silhouette/material hierarchy, centered control ribbon, field dominance,
ordinary actor scale, continuous portrait-led bottom rail and actor-attached
event language must read as the same UI family at actual size. Also preserve
one original receipt and unchanged snapshot identity;
event-preview/commit hashes and order; no Coin, XP, Recruit-history,
settlement, recovery or next-stage mutation; exact required state names and
waiting copy; complete Party/enemy lines and accepted scale; contained 16:9 at
`760x360`, `844x390` and `1280x720` in `zh_CN`/`en` at normal `100%`; touch,
keyboard/controller focus and 48px targets; strict Godot diagnostics; preserved
BAT-001 handoff and legacy DEV-5 settlement regressions.
Owned paths: `runtime/entry/battle_service.gd`,
`runtime/entry/entry_shell.gd`, a BAT-002-specific engine-art helper under
`runtime/entry/`, focused BAT-002 tests under `runtime/tests/dev5/`, the
BAT-002 page implementation/verification records, and the BAT-002 entries in
this checkpoint and `docs/06_DEVELOPMENT_AND_REVIEW.md`.
Forbidden paths: `runtime/domain/p9_2/` and its historical pixel presenter;
approved/reconstruction PNG editing; new image/audio generation; BAT-003,
BAT-004, BAT-005, BAT-006 or OUT-001 page implementation; reward, XP, recovery,
next-stage, content/economy or Save-schema replacement; device/package/store/
release work; unrelated cleanup. Do not stage or delete untracked `.uid`,
`.import` or `prototype_incremental/` files.
Commit boundaries: this plan/checkpoint activation was pushed before BAT2-4A
product edits. Each substep receives its narrowest focused verification and
focused pushed commit before the next substep becomes `IN_PROGRESS`; a failed
check leaves the current substep active. BAT2-4D closes at source `0de6c7a`;
the `fea2ae9`/`aa6e0c4` candidate is retained as visually rejected provenance.
This rejection/repair activation was pushed before BAT2-4E product code.
BAT2-4E closes at focused visual-repair commit `189c20b`; BAT2-5 closes with
the fresh source-bound attempts recorded in `verification/source-bound.json`.
BAT2-6 closes with the Owner acceptance record in
`verification/owner-acceptance.md`. Final BAT2-4 handoff remains
`ABG BAT-002 RUNTIME IMPLEMENTED`; no neighboring page or settlement work is
authorized without a separately activated durable plan.
## Next Action
M09, M10 and M11 `BAT-003`/`BAT-004` are closed. M12 `OUT-001..004` is
closed at source `f632002` with domain, Runtime and candidate capture markers
passing under `tools/run_test_attempt.py`. M13 then completed the source-bound
first-cycle audit at `e68f888`. The MVP stopping point and M14 cleanup are
complete:
New Game -> Company -> Guild -> Market -> two hires -> Party/Readiness -> Risk
-> Battle -> Result -> Knockout -> Reward Choice -> Recovery -> next-stage
Market. No active product step remains. Second-cycle systems/content, broader
region/endgame production, device/package/store/release and human
comprehension/fun gates are the remaining non-MVP work; start them only under a
new explicitly activated durable plan.