160 KiB
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
Active Plan (M105 Rank Authority Alignment — P1 in progress)
- Durable plan:
docs/plans/M105_RANK_AUTHORITY_ALIGNMENT.md. - State (2026-09-20): P1 IN_PROGRESS. The Owner selected the formal §8.1
offer_level + riskrank authority. P1 is limited to the enemy authoring boundary and its focused deterministic proof; runtime bridge/probe wiring is P2 and remains pending. Gameplay, economy, content, Save, UI, art, audio, and owner review gates remain frozen.
Previous Plan (M104 Balance Curve Proxy Repair — authority boundary)
- Durable plan:
docs/plans/M104_BALANCE_CURVE_PROXY_REPAIR.md. - State (2026-09-20): P2 IN_PROGRESS. P1 repaired the M80 encounter-class
authority and its focused marker plus M60 regression are green. The repaired
baseline reports
wall_late=7(timeouts=11,defeats=69); two isolated enemy-count candidates improve wall_late to 4 and then 1, but high-region late clear remains mostly 0–25%. The next A/B must isolate level/region pressure. Owner comprehension, listening, duplicate portrait and visual-feel gates remain open. The level-offset A/B (1vs2) is effectively neutral, so the proxy has now isolated region pressure as well (region_cap=4giveswall_late=5). The labelled combination overcorrects (wall_late=1,trivial_late=3, R3 still 0%), so no global hard cap is accepted; a future product curve must be piecewise and use more attempts. The higher-sample late-round matrix is now complete (192 battles, n=8 per region×round) and still fails the late-clear target.M61-I05and the authority review show that this matrix uses a non-economic standard ladder. The read-only formula audit is complete: 72/72 cells differ, with R12 ordinary authority rank 4 versus current passed levels 10–24 plus region pressure. M104 is blocked at this authority boundary; no proxy or production balance change is approved until the Owner/product authority selects the formal model and a new narrow plan is opened.
Previous Plan (M103 Battle Comprehension Feedback — handoff complete)
- Durable plan:
docs/plans/M103_BATTLE_COMPREHENSION_FEEDBACK.md. - State (2026-09-19): P1, P2 and P3 COMPLETE at the machine/agent-review boundary. The package reconstructs the pure simulation journal from the committed battle snapshot, selects a compact localized signature/status/movement/cast cause line, and preserves all battle, observation, Save, result and audio semantics. No new art or card wall was introduced.
- Evidence is recorded in
docs/EVIDENCE_LEDGER.mdfor the focused trace, BAT-002 field lifecycle, ten-state capture, and first-cycle routes at 1280x720 and 1280x600. Owner comprehension, listening, duplicate portrait and visual-feel gates remain open; this checkpoint does not claimABG MVP QUALITY READY.
Previous Plan (M102 Battle Actor Family Repair — closure handoff)
- Durable plan:
docs/plans/M102_BATTLE_ACTOR_FAMILY_REPAIR.md. - State (2026-09-19): P1, P2 and P3 COMPLETE under the owner's explicit
request to repair the visibly wrong battle character direction. The narrow
package unifies the entry battle field, Company rail, opening and
result/knockout surfaces on the existing M69 soft-Q ally family. Focused
source-bound proof is green on
52a5c4be; reference 1280x720 and minimum 1280x600 real-surface proof are green on the recorded attempts. The deterministic hash proof is green onbb7436a6viam102-battle-hash/20260919T011939Z-44100(marker once, strict diagnostics empty, owned cleanup complete). Owner feel review remains open. Gameplay, battle semantics, audio, content, enemy art and non-battle Q surfaces remain frozen. - The preceding M80 event-bridge plan is complete and remains historical evidence for the event projection; it is not the active code plan for this repair.
Previous Plan (M80 Presentation Event Bridge Repair)
- Durable plan:
docs/plans/M80_PRESENTATION_EVENT_BRIDGE.md. - State (2026-09-19): P1, P2 and P3 are COMPLETE under the owner's delegation to self-verify the current build. The package is presentation-only: it preserves authoritative simulation, receipts, snapshots, audio wiring, art production and the owner playtest gate. Focused and full source-bound attempts are recorded in the durable plan and ledger.
- The preceding simulation milestone remains recorded in
docs/plans/M80_BATTLE_SIMULATION.md; it is not the active code plan for this package. - State (2026-09-16): the battle is simulation-driven end to end. B1 core, B2 profession tables, B2b trait hooks, B3 equipment hooks (320/320 named, 233 in implemented effect kinds), B3 enemy profiles (12 region-one rows), B4 contract structure (12 rounds + boss Muster with four escorts), encounter grammar, forced movement, statuses, summons/devices, wind-ups with interrupts, and links are all in place. All 23 section-17 priority conditions are enabled.
- Formal evidence: attempt
m80-battle-rulesPASS (13 battle gates + the full flow, 18 markers once each) at/private/tmp/aetherbound-guild-test-evidence/m80-battle-rules/20260916T083340Z-87141. - Next work packages, in order:
- Equipment effect classes still unimplemented (movement, targeting, cooldown, screen, transfer, economy, planning rows): implement the classes against existing primitives, then re-point the named rows.
- Region-one enemy signatures beyond the wired producers (EN-R1-01 second
bite, EN-R1-02 step-forward, EN-R1-03 push guard, EN-R1-05 reflect,
EN-R1-06 expose, EN-R1-07 delay, EN-R1-08/09 screens, EN-R1-10 leap,
EN-R1-11 stand order, EN-R1-12 prism rotation).
2b. Equipment rows remaining: 64 pending, all classified by reason
(
equipment_hooks.gd->DECLARED_PENDING_KINDS, gate prints the groups). 38battle_scopedrows remain.mark/status/delayare NOT a site gap: their prose is cross-unit tag mechanics (sign-copy, indexed position, cross-side cleanse, item-trigger counting) that need their own systems (M80-I27). The next genuinely cheap group is the six kinds the simulation already applies but not from every hook (damage_reduction/tempo_bonus/reach_bonus/haste/resource_gain/heal_bonus): extend one site at a time and re-point only the rows that hook reads. Each class lands as a hook site plus an effect kind, then the named rows are re-pointed (the equipment gate prints the implemented count;equipment_hooks.gdholds the named table). 2b2. Region-one signatures: 11 of 12 implemented (implemented=11), EN-R1-09 needs an "any swap" window. EQ-276/310/316/317 are the four battle-scopedon_signature/collapse rows with their own small mechanisms. 2c. Remaining region-one signatures: EN-R1-01 second bite, EN-R1-02 step forward after firing, EN-R1-04 consume-tag reach, EN-R1-08/09 screens, EN-R1-10 leap, EN-R1-11 stand order. The enemy gate reportssignature_eventsso a signature only counts when it is observed. - Battle tuning (M80-I10) stays paused on purpose: the sweep tool is ready
(
tools/m80_balance_sweep.gd -- <region> <from> <to> <attempts>); the owner's playtest decides the remaining difficulty feel.
- M84-B Member detail closure (2026-09-18): both Member surfaces now carry the Recruit's
prepared line position and current field state, which the brief asked for but neither the
controller snapshots nor the views ever exposed.
positioncomes from the active contract'sformation.draft_front_to_rear_idsindex (-1 reads as reserve) andreadinessfrom the currentbattle_state.knocked_out_ids(on the field / fallen this battle); the controller gained ametaparameter andentry_shellsupplies it without touching routing or gameplay. Note the standing gap this package could not close: Roster and Recruit Detail (REC-001/REC-002) have no entry in the 19 approved pages ofdesign-authority/design-index.json- no approved master, no text-slot authority - so this is an incremental improvement and the formal design authority remains pending owner/spec approval. Evidence: attemptm84-member-detail20260918T005218Z-23959PASS bound to1033ecc5(ABG_M84_MEMBER_DETAIL_OK,ABG_M68_COMPANY_RETURN_INK_OK,ABG_M68_COMPANY_RETURN_VISUAL_PROBE_OKonce each,strict_diagnostics=[],workspace_removed=true; 24 ink scans, 0 violations; 12 view-only frames). - M84-E single-source board copy (2026-09-18): the Guild contract board carried two
same-named label sets - the page built four labels, hid them, then instantiated the shared
guild_contract_board.gdmodule which built its own twins and did the actual painting. Every name-based lookup (them53probe included) therefore measured the hidden duplicates, which is why the M84-A geometry work and the M84-D deep-red notice read green while the rendered board still showed the old layout and the plain danger red. The module instantiation and the hide loop are gone, its wrapping behaviour moved onto the page labels, and the probe now fails on same-named nodes, hidden labels or a missing source (the marker prints the resolved node path). With the gate finally able to see the real text it caught two genuine overflows (GuildMarketReason34px into a 28.4px slot,GuildNotice263px into 228.8px), both fixed by giving space rather than shrinking type. Evidence: attemptm84-guild-single-source20260918T002840Z-7332PASS bound to56935992(ABG_M84_GUILD_BOARD_OK,ABG_M84_NOTICE_SEMANTIC_OK,ABG_M53_GUILD_INK_OKonce each,strict_diagnostics=[],workspace_removed=true); measured board-line contrast 12.76 / 12.68 / 5.98-6.02 / 6.60-6.65:1 and the warning line now renders with a deep-red signature (darkest glyph r-g = +63, previously about -20 grey).M84-B(Member detail) remains frozen pending the owner's page-ownership,REC-002authority andpositiondecisions. - M84-C text-scale closure (2026-09-18): the accessibility 130% step is now real on the three
pages that had been silently swallowed by page-wide font ceilings (
party_line16px,risk_board18px,risk_commitment17px). Each ceiling now follows the shipped text scale, so 130% raises type to 21 / 23 / 22 px while 1.0 stays byte-for-byte behaviourally identical (proved algebraically overdesign_size7..16; cross-harness PNG hashes are deliberately not a gate because the two harnesses render the risk pages at different animation phases). Evidence: attemptm84-text-scale20260918T000504Z-88818PASS bound toec954562(ABG_M84_TEXT_SCALE_OK,ABG_M66_PARTY_RISK_INK_OKonce each,strict_diagnostics=[],workspace_removed=true; 36 frames). Supervisor recheck: growth 6 / 2 / 2 labels, zero ink overflow, 130% frames visually larger and unclipped. Next in the same plan:M84-Dnarrows to restoringGuildNoticetoCOLOR_DANGER(measured 4.77:1 on the cream paper) plus recording the "sample contrast from the rendered carrier, not from nearby master art" rule that produced two false-positive findings.M84-B(Member detail) stays frozen pending the owner's page-ownership,REC-002slot authority andposition-source decisions. - M83 Party Line top rail closure (2026-09-18): the
M82-I03follow-up package fixed the Party Line status rail. The four authored plates now carry engine text anchored to the approved master's own text boxes (docs/design-authority/pages/PTY-001-party-line/ approved/v001/master.png): title, pressure word,队伍 N(Company size) on the coins plate, and theBIND:PARTY_CAPACITYbinding上阵 D/Con the helmet plate that had no runtime content. The rail's type now follows the shipped 130% scale inside its slot (the page-wide 16px ceiling had made 130% a no-op on this page). A local defect found on the way — the slot constants were written asRect2(x0, y0, x1, y1), which Godot reads as sizes, pushing three labels past the canvas — was fixed before the gate. Evidence: attemptm83-party-top-rail20260917T230303Z-40364PASS bound to implementation/probe revision716d66a3(ABG_M83_PARTY_TOP_RAIL_OK,ABG_M66_PARTY_RISK_INK_OK,ABG_M66_PARTY_RISK_VISUAL_PROBE_OKonce each,strict_diagnostics=[],workspace_removed=true; 36 scans, 0 violations). Plan:docs/plans/M83_PARTY_LINE_TOP_RAIL.md; slot contract registered indocs/runtime/M52_SHARED_UI_RULES.md.M83-I01(page-private rail chrome) andM83-I02(page-wide 130% branch) stay registered as follow-up packages;M82-I04,M82-I01andM82-I02are untouched. - M90 shared style closure (2026-09-18, COMPLETE — attempt PASS @
d053d52d, not pushed): promote the two page_flat_stylehelpers toABGUIFactory.flat_styleso the matrix readsprivate_stylebox=0; zero visual change. - M91 reduced-flash smoke (2026-09-18, COMPLETE — attempt PASS @
a7f16415, not pushed): the shippedreduced_flashesswitch gets its own accessibility gate (solid bloom vs thin ring, repeatable frames). No product changes. - M92 EN-R1-09 Crosswind Scribe (2026-09-18, COMPLETE — attempt
m92-en-r1-09/20260918T090154Z-60806PASS @304fc6bb, not pushed): region-one enemy signatures 12/12; markerABG_M80_ENEMY_ACTIONS_OK ... implemented=12 enr1_09=18 deterministic=true. - M93 EQ-310 Wandering Engine (2026-09-18, COMPLETE — attempt PASS @
f60f1bf5, not pushed): device-follows + duration drain; gate observes the behaviour in a focused real battle. - M94 EQ-316 Item Chorus Frame (2026-09-18, COMPLETE — attempt PASS @
22d20fff, option-A binding + negative control, not pushed): minimal repeat scheduler (three distinct allied trigger tags -> one non-damaging repeat of the oldest + contributor cooldown). - M95 mark/status repoint (2026-09-18, REJECTED — semantic fidelity; rows reverted to pending, attempt PASS @
3f4b1118, not pushed): EQ-010/EQ-155/EQ-319 re-pointed to thebefore_target+status_applysite with per-row battle observation; EQ-158 parked (needs an intercept window). - M96 EQ-010 Forward Claim (2026-09-18, COMPLETE — attempt PASS @
894e7f13, not pushed): first-becomes-foremost window (once per battle, ends on moving rearward); crosswind-style movement site. - M97 EQ-155 Marked Route Map (2026-09-18, COMPLETE — attempt PASS @
9ef1d17d, not pushed): step toward preserves the Mark clock, step away removes it, on the shared movement primitive; no ownership system. - M98 EQ-273 Triggerless Knife (2026-09-18, COMPLETE — attempt PASS @
4245c2a1, not pushed): triggerless-basic counter applies Exposed on the third; selection-dependent candidates documented as deferred. - M99 issue audit (2026-09-18, COMPLETE — attempt PASS @
85c09cec, not pushed): M80-I01/I03/I06 cleared with evidence; condition arms audited against the 21 declared conditions. - M100 EQ-029 debuff retarget (2026-09-18, COMPLETE — attempt PASS @
7977710c, not pushed): targeting slice; eight sibling rows audited and deferred with precise reasons. - M101 targeting audit (2026-09-18, AUDIT COMPLETE — consistency attempt PASS @
fda6919f, not pushed): the eight remaining targeting rows need Prepare choices or absent systems (bands/phase/rule-copy/enable-action); no product change. - M89 page coverage matrix (2026-09-18, COMPLETE — attempt PASS @
02e10a67, not pushed):tools/m89_page_coverage.pyaudits view -> probe -> marker -> ledger; the refreshed matrix is generated from the tool. No product changes in this package. - M88 SHP-002 header bounds (2026-09-18, COMPLETE — attempt PASS @
4d3a9b45(title/price inks added), not pushed): plandocs/plans/M88_SHP002_HEADER_BOUNDS.mdinsets the recruit-review header into the authored frame and adds the page's first visual gate (fixesM87-I01). - M87 owner handoff video (2026-09-18, COMPLETE — attempt PASS @
7f5fb588): plandocs/plans/M87_OWNER_HANDOFF_VIDEO.mdrecords the first-cycle video from the current build (movie writer -> H.264 mp4) for the owner handover gate; product code frozen. - M87 current-HEAD handoff refresh (2026-09-18, COMPLETE — T-007): source-bound attempt
m87-handoff-video-head/20260918T143551Z-88880atHEAD=3fe7e1f5produced the owner-facinghandoff.mp4(H.264/yuv420p, 1280×720, 10 fps, 116.9s, 6.18MB).ABG_M60_PLAYTHROUGH_OKandABG_M87_HANDOFF_VIDEO_OKeach occurred once;strict_diagnostics=[], 34 steps / 0 blocked, and workspace/process-group cleanup passed. This refresh is documentation/evidence only; product code remains frozen pending the M80 owner verdict. - M86 current-build smoke (2026-09-18, COMPLETE — attempt PASS @
78c247d6, not pushed): plandocs/plans/M86_CURRENT_BUILD_SMOKE.mdre-runs the two real drivers (m60first cycle,m79second cycle) on the current build in one source-bound attempt; product code is frozen for this package. - M86 current-build smoke refresh at HEAD (2026-09-18, COMPLETE — attempt PASS @
894c6ed4): source-bound attemptm86-current-build-smoke-head/20260918T142304Z-80117reran the first route and second cycle after the M92–M101 runtime delta;ABG_M60_PLAYTHROUGH_OKandABG_M79_SECOND_CYCLE_OKeach occurred exactly once, M60 reportedsteps=34 touches=34 blocked=0,strict_diagnostics=[], and workspace/process-group cleanup passed. Artifact contains 74 files; product code was frozen. - M85 Market locale copy (2026-09-18, COMPLETE — attempt PASS @
209b5745(fixture honesty corrected), not pushed): plandocs/plans/M85_MARKET_LOCALE_COPY.mdfixesM82-I04(the zh recruit detail line carriedCoin/Company); runtime scope is one format string plus its probe fixture and a language-purity assertion. No push for this package. - M82 Market closure (2026-09-18): the Market empty/selected restoration passed its
source-bound attempt (
m82-market-empty-state), bound to the implementation/probe revisionea9a3e8b(three required markers once each,strict_diagnostics=[],workspace_removed=true; 40 scans / 120 PNG across reference 1280x720 + minimum 1280x600 gated and wide 1600x720 smoke; supervisor visual review passed). The plan isdocs/plans/M82_MARKET_EMPTY_STATE_REPAIR.md; from here M82 proceeds as docs-only (plan, ledger, this checkpoint) and does not touch runtime.M82-I04(mixed-language detail line) and the Guild/Member/Party findings stay registered as follow-up packages. - M81 evidence hardening (2026-09-17): the four M61 probes are archived as
source-bound attempts, all bound to
d41730b1(plan:docs/plans/M81_M61_EVIDENCE_HARDENING.md; artifacts listed indocs/EVIDENCE_LEDGER.md). Strict diagnostics caught and repaired two real defects in the reduced-motion smoke (node leak, boot coroutine resuming after the instance was freed).M61-I05stays OPEN pending the owner's playtest and an economy-shaped balance Company;M80-I10untouched. - M61 density evidence (2026-09-16):
tools/m61_campaign_density_probe.gdreports the game-owned decision interval (mean 35.9s, max 62.6s against the 105-165s band, human time on top) and the campaign pacing curve; it also found that a single attempt at round 12 is lost in all eight regions (timeouts=0 defeats=8), registered asM61-I05and folded into the paused tuning decisionM80-I10. Reduced motion is now gated bytests/accessibility/reduced_motion_smoke_test.gd(ABG_REDUCED_MOTION_OK). - Owner playtest gate (REACHED 2026-09-16; current-build baseline refreshed
2026-09-19): the M80 stopping condition is met after the delegated
presentation repair. The owner's playtest sheet is
docs/runtime/M80_PLAYTEST_SHEET.md(launch command, three-minute route, six questions, and the tuning levers their answers move). P1 fixed the silent journal-kind fallback and the current route now reports only the families it actually presents; the source-bound beat capture also observed the full declared action-family set without changing content. This does not replace the owner verdict: human feel, listening and comprehension/fun remain open.M80-I45remains OPEN because both Dummy and CoreAudio MovieWriter captures are digitally silent despite valid AAC tracks.M80-I46remains OPEN for portrait uniqueness as a separate art/UI package; the current HEAD runtime attempt reportedally_art=4but the marker still does not enforce that rule.
Current State
-
Active Goal:
ABG MVP 质量达标(GOAL_ABG_MVP_QUALITY.md, activated 2026-09-13 by the owner's instruction to generate a Goal and keep running it). The Goal's execution loop drives one bounded work package at a time fromdocs/EVIDENCE_LEDGER.md(append-only ledger). Order: W4 cleanup inventory (owner sign-off before deletion) → W5 page migrations DEV-1R..DEV-6R → smoke → owner playthrough and comprehension/fun record. Terminal states:ABG MVP QUALITY READYorABG MVP QUALITY BLOCKED: <boundary>. A HAPI command skillabg-mvp-goal(~/.agents/skills/abg-mvp-goal/SKILL.md) re-invokes this loop; the Goal's Decisions Log records the Title visual authority (current M52 chibi background + shared-family chrome; the 8/19 v002 candidate becomes history) and thatM60-I03/M60-I04are handled inside the DEV-1R/DEV-3R packages. -
Stage:
M63_DEV1R_ENTRY_MIGRATION(COMPLETE2026-09-13, DEV-1R four entry pages migrated);M64DEV-2R COMPLETE (opening flow migrated, single 1280x720); next plan:docs/plans/M65_DEV3R_GUILD_CONTRACT_MIGRATION.md(MVP 迁移系列 (M63–M68) COMPLETE: all player-facing pages on the shared 1280x720 family, all strict ink gates green (mvp-panorama 20260914T043127Z-94972). M69 character unification COMPLETE (owner-approved soft Q style, 12 portraits + character-free contract master, all gates green); owner looked at the M69 panorama and replied "可以的" (style accepted); open: DEV-6 receipts (M65-I04/M68-I02) RESOLVED via M71 (specs green), dormant test geometry (M68-I03 RESOLVED via M70), M77 battle presentation IN PROGRESS (M77-A static composition; owner acceptance deferred to the end). M76-C runtime audio wiring COMPLETE (144 events on the contract bus tree; music per page family; card click-through bug fixed). M75 dock-row boundary alignment COMPLETE (market grid-aligned + bounds assertion). M74 command-size normalization COMPLETE (M52-era pages now on the 48–59px token scale). M73 130% text accessibility COMPLETE (dual-scale probes green); legacy P9.x sweep (M64-I05: registered as historical — docs/runtime/LEGACY_TEST_REGISTRY.md), M60-I03 RESOLVED via option A (hired cards declare their state, m72-hired attempt green)), the first W5 package of the active GoalABG MVP 质量达标; the durable plan isdocs/plans/M63_DEV1R_ENTRY_MIGRATION.md(A Boot → B first-launch setup → C Title incl.M60-I04→ D Settings, one page per commit and review). -
Stage:
M62_COMPONENT_UNIFICATION(COMPLETE, 2026-09-13), activated by the owner's "OK 继续吧" on 2026-09-13 as workstream W3 of the approved W1-W5 order; the durable plan isdocs/plans/M62_COMPONENT_UNIFICATION.md. W3 freezes the single shared component library (docs/runtime/M62_SHARED_COMPONENT_LIBRARY.md), records the page-by-page chrome generation matrix (docs/runtime/M62_PAGE_CONSISTENCY_MATRIX.md; only 2 of 14 page views are on the current hand-drawn family) and wired the M59 ink checker into the Guild, Contract and Readiness/Result probes (source-boundm62-ink-baselines20260913T164335Z-38711: Guild 0, Contract 1, Readiness+Result 6, Market strict 0). The checker now measures glyph ink boxes and flags an icon only when its centre sits under the ink (M62-I05fixed two false-positive classes). Residual defects on accepted pages are registered asM62-I02(Market legacy overlay StyleBoxFlat),M62-I03(Readiness summary title overflow) andM62-I04(Contract facts 3px vertical overflow). No page visuals changed. The next owner-approved workstream is W4 (unused-artifact cleanup list), then W5 (page migrations, DEV-1R first). -
Superseded:
M61_DESIGN_TRUTH_AND_DENSITY(COMPLETE, 2026-09-13), activated by the owner's "你看着办吧" on 2026-09-13 as workstream W2 of the approved W1-W5 order; the durable plan isdocs/plans/M61_DESIGN_TRUTH_AND_DENSITY.md. W2 is complete: the player-experience digest (docs/runtime/ABG_PLAYER_EXPERIENCE_DIGEST.md) summarises the authoritative product contract with citations, and the five-profile simulation (m61-five-profile20260913T162625Z-2172, decisions=330, max_gap=31.3s, risks 0/1/2, anti-dominance, save reload, content reachability) confirms the built slice's numeric skeleton; the full-campaign and wall-clock density stay open asM61-I03/M61-I04indocs/runtime/M61_DESIGN_AND_DENSITY_REVIEW.md. No product code changed. The next owner-approved workstream is W3 (component unification), then W4 (unused-artifact cleanup list) and W5 (page migrations, DEV-1R first). The M60 findingsM60-I03(hired offers stay on the Market board) andM60-I04(a recoverable Company or leftover.bakdisables New Game on the Title) are deferred to W5/DEV-1R rather than changed silently. -
Superseded:
M60_PLAYABILITY_TRUTH_PASS(COMPLETE, 2026-09-13), activated by the owner on 2026-09-13 as workstream W1 of the approved W1-W5 order; the durable plan isdocs/plans/M60_PLAYABILITY_TRUTH_PASS.md. W1 answers "can the current build be played from boot through one complete first cycle", refreshes the drifted tests it finds, records a real driven playthrough with a video, and lists the breakages; W2 (design/retention digest), W3 (component unification), W4 (unused-artifact cleanup list) and W5 (page migrations, DEV-1R first) follow. The active step is M60-A (drifted-test alignment). Page visuals, content, economy, Save and routing stay frozen; only the earliest-failed boundary repair needed to finish the run is allowed, one focused commit each. -
Stage:
M59_PROBE_INK_CHECKS(COMPLETE, 2026-09-13), authorized by the owner on 2026-09-13 as the first of the two recommended next steps; the durable plan isdocs/plans/M59_PROBE_INK_CHECKS.md. It adds the machine ink checks (label ink vs sibling icon, vs owner module, vs slot width) and the longest-shipped-string fixture to the Market visual probe so the M58-C defect class fails the gate instead of reaching the owner. Test infrastructure only: no page, gameplay, economy, Save, content, audio or route scope is opened. M59-A and M59-B are complete: the checker (ui_ink_check.gd, with a negative self-test), the longest-shipped-string fixture and the six residual defects it found are all fixed and source-bound (m59-ink-checksattempt20260913T130719Z-53678,ABG_M59_INK_CHECK_OK scanned=12 violations=0, strict diagnostics 0, 36 captures). M58 remains accepted. The owner-authorized next step isDEV-1R(Boot / first-launch setup / Title / essential Settings); it needs its own durable plan and an owner decision on the Title direction before any product code changes. No other page, economy, Save, content or route scope is opened. -
Stage:
M58_MARKET_READ_SURFACE_REPAIR(COMPLETE, owner accepted 2026-09-13). Owner authorized this bounded repair on 2026-09-13 when M57 closed; the durable plan isdocs/plans/M58_MARKET_READ_SURFACE_REPAIR.md. It repaired the carried-overM57-I05legibility defect on Market plus the same fixture-honesty failure M57-A had to fix, on the existing Market composition. M58-A/B/C/D are complete: the probe fixture carries three real professions, the Market modules render at the view's canvas type scale, the card band, trait chip, cost strip, board heading, title plaque, footer commands, settings and resource badges all use shared hand-drawn proportional chrome with one owner per command, and every label was measured against its owner surface. The owner accepted the source-bound composite at play size with这个 OK 了on 2026-09-13 after rejecting two title-plaque placements and one badge icon/text overlap; those repairs and the measured contracts are inM52_SHARED_UI_RULES.md. Latest evidence:m58-market-probeattempt20260913T114947Z-91894, 18 images (3 fixtures x 2 locales x static/dynamic/final), strict diagnostics 0. No successor milestone is active. The machine-check follow-up (M58-I11: ink-box vs sibling icon, owner surface and slot width in the probe) and the two pre-existing dev6 failures (M58-I09, one on the Guild page) need separate owner authorization; no other page, economy, Save, content or route scope is opened. -
Superseded:
M57_READINESS_VISUAL_REBUILD(COMPLETE, owner accepted 2026-09-13). Owner authorized this bounded single-page repair on 2026-09-13 after M56-D kept returning Readiness toOPEN; the durable plan isdocs/plans/M57_READINESS_VISUAL_REBUILD.md, and its issue register is empty. M56 is frozen at its written stopping point and no longer owns new product code. No successor milestone is active: the next bounded repair (Market's recorded contrast defectM57-I05) needs an owner-authorized plan before any product code changes. -
Implementation steps: M57-A/B/C/D are complete. The visual probe uses real per-position data, the shared
asset_chrome.gdnine-patch factory is recorded inM52_SHARED_UI_RULES.md, all twelve base professions now share one identity-locked Q-style sprite set, and each Readiness region now owns its own structure throughpage_chrome.gd(compartmented header band, carved dock with independent command plates, warning cards, parchment summary with shape markers and pips) instead of one reused plaque. Every surface is now hand-drawn material: carved wood-and-gold command plates, a painted dock rail, a parchment panel for the header, warning rows, status and summary cards, and enamel severity badges, with the material split fixed as carved wood = interactive and parchment = informational. The fresh-archivem57-readiness-probeattempt passes with strict diagnostics zero and emits static-only, dynamic-only on a neutral field and the final composite at all three fixtures in both locales (18 readiness images plus six result composites per run). The owner accepted the composite and the copy at play size on 2026-09-13, so the M57 visual gate isACCEPTED, M57 is complete at its written stopping point, and the issue register is empty. -
Superseded:
M56_FIXED_CANVAS_UI_REPAIR(FROZEN). Its fixed-canvas and ownership-cleanup work (M56-A..C) remains valid implementation history. M52-M55 remain implementation history; their first-play visual path is superseded by this owner-authorized fixed-canvas repair. M52-A closes at sourcee600d6fplus owner approval on 2026-09-09: the Q-style direction board is now the visual baseline. Owner revised the visual direction after reviewing the supplied reference: M51 remains implementation evidence, but its world-first style is superseded by the new chibi hand-drawn mobile RPG direction. M51-A closes at sourcee863673; M51-B remains preserved as a partial implementation record rather than the current visual authority. -
2026-09-10: Market
CandidateLedgerwas split into measured child modules (ProfessionModule,DetailCopy,TraitModule,CostModuleandActionDock) in source3808f3b. Focused structure/View contracts pass; the normal visual probe now exercises localized sample copy at 760x360, 844x390 and 1280x720 in Chinese and English. This is an implementation gate, not owner visual approval; the page remains OPEN for review. -
2026-09-10:
RecruitCardcompact slots now separate portrait, identity, trait and cost surfaces, with shared compact paper chrome for narrow cards. The focused card/View contracts and localized visual probe pass; overall Market visual review remains OPEN.
2026-09-09 - M52 Title Runtime Slice
-
M52-A remains complete at source
e600d6fwith owner approval of the chibi hand-drawn direction board. M52-B is still the sole active step. -
Source
6763631adds the generated, originalm52_title_background.pngand wires it into Title as a full-viewport aspect-cover background. The named 16:9 safe coordinate master and all Title route callbacks remain intact. Primary, disabled and utility Title actions now use shared token surfaces, so they read as buttons rather than bare text. -
The source-bound
m52-title-runtimeattempt passesABG_DEV1_ENTRY_CAPTURE_OKwith strict diagnostics0, normal Metal rendering, 20 frames across the existing 760x360, 844x390 and 1280x720 fixtures and complete owned workspace cleanup. Manual review evidence is inbuild/reviews/2026-09-09/m52-title-runtime-3/evidence/. -
Push is currently blocked by the configured remote closing SSH on port
5029; the commit is present locally and ready to push when the remote is reachable. Guild, Contract and Market remain the next implementation scope. -
The next Guild slice is prepared locally:
m52_guild_background.pngis wired into the existing Guild View as the full-viewport world layer, while the generated board remains the authored surface for runtime copy. The focused Guild View contract passes; the broader legacy DEV-3 capture still reports its pre-existing “Market starts unselected” assertion and is not counted as a regression verdict for this visual change. -
Contract Choice is also wired locally to
m52_contract_background.png, an original windglass route with a blank parchment board. Its focused View contract and normal four-fixture capture pass; difficulty selection, confirmation, back routing and Save semantics remain unchanged. Market is the next page to migrate. -
Source
fcb2eb3completes the next Title affordance slice: the four Title actions use sharedconfirm/inspect/settings/helpicon slots with reserved label bounds. The responsive check and clean normal-render entry capture pass. Remote push is still blocked by SSH port5029. -
Source
3f09545turns the Title identity into an authored plaque lockup: localized main name, English submark, chapter line, outline and shadow are engine-rendered inside the existing identity plaque. Chinese and English target-size captures pass without clipping; this is the first Title logo treatment, not a final brand-art acceptance. -
Source
5579e4ecorrects a style mismatch found in review: the old ornate identity plaque is replaced by a restrained rounded paper surface with ink border, teal ribbon and gold accent, matching the approved Q-style runtime direction. The clean normal Title capture still passes; owner review of the complete flow remains open. -
Source
484d068softens the Title plaque after owner review flagged hard, pixel-like edges: larger anti-aliased rounding, lighter border, softer shadow and a compact rounded cloth badge now match the Q-style direction. The clean normal Title capture passes; this remains an MVP treatment pending review in the complete flow. -
Owner approved
docs/runtime/m52_qstyle_calibration.pngas the stronger Q-style baseline. The prior M52 generated backgrounds remain rejected interim candidates: their environments and task boards were too realistic relative to the Q/chibi characters. New runtime scenes will be regenerated from the calibration board, with engine-rendered text and controls preserved. -
The approved calibration direction is now wired locally across the first player-order scenes: Q-style Title, Guild, Contract and Market backgrounds use full-viewport aspect-cover rendering. Contract keeps its parchment route board visible under engine text; Guild keeps the stable layered-world node but avoids drawing a duplicate crop; Market's recruit hit areas no longer paint a second opaque card wall and its world veil is intentionally light. Focused Contract and Market normal-render captures pass with strict diagnostics
0. Agent visual review finds the environment family coherent at 760x360; the remaining load-bearing mismatch is the old-proportion runtime recruit art in Guild, Contract and Market, which is the next bounded character-asset task. -
The latest composition correction narrows Guild's two member slots onto one shared floor baseline, keeps Contract's stable member nodes without drawing the superseded portrait stickers over the authored Q figures, and gives Market's
返回公会command an explicit angular destination plate. Current worktree-focused Contract, Guild and Market attempts pass with strict diagnostics0; the interactive Market portraits remain the next character identity migration.M50 is superseded by owner review: its normal-render audit exposed hard presentation failures (clipping, chroma fringe and private page styling), so it is retained as evidence rather than treated as a passing UI slice. M49 is deferred by owner until this UI slice is reviewed. M49-A closes at source
c6cd45b. M48-D (verification and owner handoff) closes at source0eec3ed. M48-A closes at source4be06de; M48-B closes at source4782c13; M48-C closes at sourcee920200. M47-D (playable verification and handoff) closes at source1a08127. M45-A (contract/baseline/failure reproduction) closed at sourcea22c211; M45-B (Market command and review guard) closed at source23c9bc5; M45-C (receipt safety and focused regressions) closed at sourceecf0b8a; M45-D closes at source0b607d6; M44-D closed at source8ce939d; M43-D closed at source710dc6b; M43-A activation, M43-B passive View extraction and M43-C source-bound verification all pass. The Guild View contract, M20 controller/runtime, DEV-3 regressions, HUB-001 candidate, full MVP first-cycle audit and four-fixture capture equivalence are recorded indocs/runtime/M43_GUILD_PAGE_VIEW_VISUAL_AUDIT.md, with strict diagnostics0, exact-once required markers, parsed touch and owned workspace/process cleanup. The durable plandocs/plans/M43_GUILD_PAGE_VIEW_REFACTOR.mdis complete. M44 is the new Owner-authorized bounded extraction of the existing DEV-6 Roster and Recruit Detail surfaces. M44-A is complete: the source-bound immutable baselinem44-company-baseline/20260826T032132Z-32104at source93164c87b845d3f0d6f1b64b6d1b06e7c4b8d66dpassed the M16/DEV-6 controller, roster/detail and capture checks with strict diagnostics0, exact-once markers, eight normal100%captures, parsed touch and owned cleanup; its archive SHA-256 is43028f703434b5fe59a97153635b4a4500623ce7ee317c550c08b74699bcb86d. M44-B is complete at source19bf1392ce72f744e0fc9de79ef6393d5f165b9b: passive Company Roster and Recruit Detail Views are mounted from EntryShell, their isolated contract and focused M16/DEV-6/equipment/recovery checks pass with strict diagnostics0, and only explicit deferred intents cross the boundary. A baseline-known Contract Return test failure remains outside this bounded extraction. M44-C is complete at source687160dd17c1af8b40163af9a060d7792a0d52a2: the source-bound focused verification and full MVP first-cycle audit pass; the DEV-6 candidate's Contract Return failure is recorded asM44-I01; and eight Company captures are byte/pixel-equivalent to the immutable baseline. M44-D closes the pilot with evidence indocs/runtime/M44_COMPANY_PAGE_VIEW_VISUAL_AUDIT.md. The durable M44 plan isdocs/plans/M44_COMPANY_PAGE_VIEW_REFACTOR.mdand is complete. M45 is the new bounded repair of the known Market -> Contract Return boundary: its plan isdocs/plans/M45_CONTRACT_RETURN_REPAIR.md, and M45-D (candidate, visual/runtime verification and handoff) is complete. M45-B restored the Market command and review guard at source23c9bc5; M45-C receipt safety closes at sourceecf0b8a; the source-bound candidate, MVP audit and normal100%Market/Review/Guild capture inspection pass at source0b607d6. M45 is complete. M46 is the new Owner-authorized bounded presentation/component consistency pass, recorded indocs/plans/M46_MVP_UI_CONSISTENCY_PASS.md; M46-A closes at sourcea10b3d2with the baseline inventory indocs/runtime/M46_UI_CONSISTENCY_BASELINE.md. M46-B closes at sourcef736d7a; M46-C closes at sourceebc0c8fafter migrating the repeated command/icon/notice controls across the MVP Views. M46-D closes at the same source after the source-bound View contracts, DEV-3/4/5/6 candidates, full MVP first-cycle audit and current-source Company/Contract Return captures pass with strict diagnostics0, exact-once markers, parsed touch/restart and owned cleanup. The final visual audit is recorded indocs/runtime/M46_UI_CONSISTENCY_VISUAL_AUDIT.md. M46 is complete at its written stopping point; no gameplay, economy, Save, content, packaging or release scope is opened. M48 is the new Owner-requested bounded repair of stacked UI layers and weak button affordances; its active plan isdocs/plans/M48_UI_LAYER_CLEANUP.md. M48 is complete at its written stopping point; its visual audit isdocs/runtime/M48_UI_LAYER_CLEANUP_VISUAL_AUDIT.md. M49 is the owner-requested local iOS device validation path; its plan isdocs/plans/M49_IOS_DEVICE_VALIDATION.md. M49-A preflight and M49-B export preset are complete. The local Team ID isX75CUV458P, a valid development identity/profile are present, and the proposed Bundle ID iscom.wusu.aetherboundguild. The arm64 signed Xcode build succeeds with landscape orientation; known iPhone entries are currentlyunavailable, so install/launch remains open. Evidence is recorded indocs/runtime/M49_IOS_EXPORT_PREFLIGHT.md. M47 remains complete; its plan isdocs/plans/M47_UNIFIED_UI_MVP.md. M47-A closes at source1d3a526; M47-B closes at source57fbd67; M47-C now owns the three target page migrations. M47-C closes at sourcef911095; M47-D closes at source1a08127with the full first-cycle audit pass and Owner tryout handoff.M40_RECRUIT_REVIEW_PAGE_VIEW_REFACTORis complete. It froze the SHP-002 Recruit Review stopping point, Controller/ViewData boundary, static master, exact fact and command nodes, approved invisible Settings hit area, three-intent boundary and M18 normal100%capture-equivalence target before product code. M40-A is complete at source24579e6; M40-B is complete at source0cf4ffb:ABGRecruitReviewPageViewis mounted from EntryShell, the former Recruit Review builder is removed, and deferredcancel/hire/settingsintents are wired. M40-C is complete at source4f995d2; the View contract, M18/SHP-002/Market/Hire regressions, DEV-3 candidate and full MVP audit pass with strict diagnostics0, and all four normal Recruit Review captures are byte-equivalent to the M18 baseline. Evidence is recorded indocs/runtime/M40_RECRUIT_REVIEW_PAGE_VIEW_VISUAL_AUDIT.md. M40-D closes at source9da7cac; M40 is complete. The M41 durable plan isdocs/plans/M41_MARKET_PAGE_VIEW_REFACTOR.md.M39_PARTY_LINE_PAGE_VIEW_REFACTORis complete at sourcecf14bc8: the source-bound View/controller/route regressions, DEV-4 candidate, MVP audit and four-fixture normal100%Party Line capture equivalence all pass with strict diagnostics0, recorded indocs/runtime/M39_PARTY_LINE_PAGE_VIEW_VISUAL_AUDIT.md. M40 changes no gameplay, economy, Save, localization or visible visual semantics. The owner-requested target remains a layered Passive View + Presenter/ViewData + Domain/Application Service architecture with an explicit Router/Context boundary;entry_shell.gdcontinues to be reduced incrementally and no mass rewrite is authorized. M39-B is complete at source0d59caa; M39-A is complete at sourcedfddb17. M38 is complete at source0fea312; its source-bound contract, regressions, DEV-4 candidate, MVP audit and four-fixture normal100%capture equivalence all pass with strict diagnostics0, recorded indocs/runtime/M38_RISK_BOARD_PAGE_VIEW_VISUAL_AUDIT.md. M31-D remains complete at source1455ad5and records the source-bound local candidate before any device, package, signing, store or release work. M31-A activation is complete at sourceda3b323; M31-B automated verification and M31-C normal-render inspection are complete with retained source-bound attempts anddocs/runtime/M31_MVP_RELEASE_READINESS_VISUAL_AUDIT.md. M30-D is complete — Recovery, Result/Knockout/Reward regressions and MVP handoff. M30-A is complete at source6efd4ba: the settled-result, reward-completion, stable-identity and one-recovery-receipt boundary is frozen before OUT-004 product code. M30-B is complete at source79cb098: the additive controller and focusedABG_M30_RECOVERY_CONTROLLER_OKtest validate stable return identity and Commit/Market eligibility with strict diagnostics0. M30-C is complete at source621cad0: the accepted OUT-004 View now consumes controller-owned recovery identities, receipt state and Commit/Market facts. M30-D closes at source4b69d81with the focused controller, final candidate suite and full MVP first-cycle audit all green. M29-D is complete at sourcef4df105: the Reward Choice Controller, accepted OUT-003 View integration, focused candidate and full MVP first-cycle audit all pass. M29-A is complete at source50fd902: the settled-result, open-draft, option identity and claim/skip boundary is frozen before OUT-003 product code. M29-B is complete at source98b3111: the additive controller and focusedABG_M29_REWARD_CHOICE_CONTROLLER_OKtest validate the open draft, selected option and Claim/Skip eligibility with strict diagnostics0. M29-C is complete at source73217b4: the accepted OUT-003 View now consumes controller-owned draft, selection and Claim/Skip facts. M29-D closes at source25d66cbwith the focused controller, final candidate suite and full MVP first-cycle audit all green. M28-D is complete at source755da46: the Knockout Review Controller, accepted OUT-002 View integration, focused candidate and full MVP first-cycle audit all pass. M28-A is complete at source8b81de7: the settled-result, knockout identity, battle-local return and reward/recovery continuation boundary is frozen before OUT-002 product code. M28-B is complete at sourcea7d7d05: the additive controller and focusedABG_M28_KNOCKOUT_REVIEW_CONTROLLER_OKtest validate stable knockout identity, battle-local return and acknowledgement targets with strict diagnostics0. M28-C is complete at source0171a7f: the accepted OUT-002 View now consumes controller-owned knockout facts and acknowledgement target data. M28-D closes at source755da46with the focused controller, final candidate suite and full MVP first-cycle audit all green. M27-D is complete at sourceaa8d63b: the Result Controller, accepted OUT-001 View integration, focused candidate and full MVP first-cycle audit all pass. M27-A is complete at source26fa8b7: the settled-result, diagnosis, knockout, reward-draft, recovery and duplicate-safe receipt boundary is frozen before OUT-001 product code. M27-B is complete at sourced26a03e: the additive controller and focusedABG_M27_BATTLE_RESULT_CONTROLLER_OKtest validate the settled-result and receipt boundary with strict diagnostics0. M27-C is complete at sourcea3f31e2: the accepted OUT-001 View now consumes controller-owned result facts and its source-bound DEV-5 candidate suite passes. M27-D closes at sourceaa8d63bwith the focused controller, final candidate suite and full MVP first-cycle audit all green. M26-D is complete at source2c872f9: the focused controller/View boundaries and the full source-bound MVP first-cycle audit pass with exact-once markers, strict diagnostics0, 128 normal100%frames and owned workspace/process cleanup. M25-D is complete at source3a0c066: the focused controller/View boundaries and the full source-bound MVP first-cycle audit pass with exact-once markers, strict diagnostics0, 128 normal100%frames and owned workspace/process cleanup. M25-A is complete at sourcec3ae95c; M25-B is complete at source7b084d5; M25-C is complete at sourceeb74d76with the compatibility/touch repair at402145e. M24-D is complete at source9518e2e: focused Risk Commitment/controller verification, normal captures and the full MVP handoff pass with exact-once markers, strict diagnostics0and owned workspace/process cleanup. M24-A is complete at sourcee8825f7; M24-B is complete at source3e80083; M24-C is complete at source9518e2e. M23-D is complete at source8ac91f2. (M14 repository cleanup and M15 Runtime Foundation remain complete.) -
Historical completed plan:
docs/plans/M32_PAGE_VIEW_ARCHITECTURE_REFACTOR.md(COMPLETE) -
M32-A is complete at source
9bde014, freezing the dependency direction, forbidden imports, pilot stopping point and ordered migration boundary. M32-B is complete at source23924a2: the UI-only PageView/PageContext contract and OUT-004 Recovery extraction preserve the accepted page exactly. M32-C is complete at source088f46b: the source-bound View contract, DEV-5 candidate and full MVP audit pass with strict diagnostics0, exact markers and 128 normal frames. Recovery captures are byte-equivalent to the M30 baseline. M32-D closes at source088f46bwith the evidence and ordered next-extraction map indocs/runtime/M32_PAGE_VIEW_ARCHITECTURE_VISUAL_AUDIT.md. No later page migration is active. -
Historical completed plan:
docs/plans/M33_REWARD_CHOICE_PAGE_VIEW_REFACTOR.md(COMPLETE) -
M32 is complete at source
30e162d; its Recovery View contract, candidate, MVP audit and visual equivalence evidence remain the baseline for M33. M33-A is complete at source331db7d, freezing the Reward Choice boundary before product code changes. M33-B is complete at source3d477ef: the Reward Choice Passive View is integrated with explicit intents and byte-equivalent normal captures. M33-C is complete at sourcef609464: source-bound View contract, controller/runtime regressions, DEV-5 candidate and MVP audit all pass with strict diagnostics0; M33-D closes at sourcef609464with the evidence report and next extraction map. -
Historical completed plan:
docs/plans/M34_KNOCKOUT_REVIEW_PAGE_VIEW_REFACTOR.md(COMPLETE) -
M34-A is complete at source
9bbdbb9, freezing the OUT-002 Knockout Review stopping point,_readiness_member()portrait/identity presentation, exact node names, forbidden imports and M28 normal-capture equivalence target. M34-B is complete at source7a4c1ca(product integration; docs recorded atd6208d8): the passive View and deferred EntryShell intent wiring preserve the accepted Knockout Review page. M34-C is complete at source4c7a0ac; M34-D closes at source5b811fbwith the source-bound audit and final handoff. M33 remains complete and no later page migration is active. -
Historical completed plan:
docs/plans/M35_BATTLE_RESULT_PAGE_VIEW_REFACTOR.md(COMPLETE) -
M35-A is complete at source
37d1731, freezing the OUT-001 Result stopping point, exact node names, UI-only formatting helpers, diagnosis/Continue intent boundary and M27 normal-capture equivalence target. M35-B is complete at source7ba4326; M35-C is complete at source7ba4326with the source-bound audit and byte-equivalence evidence. M35-D closes at source4a2bb82with the final handoff. M34 remains complete and no later page migration is active. -
M31-A activation is complete, M31-B is green and M31-C is
agent_visual_reviewed. The first-cycle MVP is functionally complete at source2556be9; M31-D is complete at source1455ad5and records the source-bound local candidate before any separately authorized device, package, signing, store or release work. Normal100%landscape is the automated visual scope and130%text scale is not a blocker. No accepted page, Battle, Economy, Save, Recovery or localization semantics are being redesigned. -
M15 scope was limited to an additive shared service/UI foundation and a Settings integration pilot. No mass page rewrite, gameplay change, asset generation, cleanup, packaging or release work was authorized by this plan.
-
M15-B is complete at source
6061414: the explicit AppServices, ScreenContext, ScreenStack, UI tokens and shared semantic button primitives compile and passABG_M15_FOUNDATION_OKwith strict diagnostics0. -
M15-C is complete at source
8a8fb33: Settings now crosses the explicitABGSettingsService/ABGAppServicesboundary, Settings entry/return carries caller, return route and focus context, and the focusedABG_M15_SETTINGS_OKplus existingABG_DEV1_SETTINGS_OKregressions pass. The validated JSON schema, v1 migration, atomic save and corrupt-file behavior are unchanged. -
M15-D is complete at source
b5c78fd: the source-bound focused Foundation / Settings attempt and the full first-cycle audit pass exactly-once markers, strict diagnostics0, normal100%evidence and runner cleanup. The retained MVP audit is/private/tmp/aetherbound-guild-test-evidence/m15-mvp-audit/20260825T022152Z-90588. -
M17 was the bounded architecture migration. It touched only the Market page controller seam and focused tests; accepted MVP page semantics and visuals remain frozen.
-
M18 is the bounded Recruit Review architecture migration. Source
4a8a004routes copied Recruit Review facts and Hire eligibility through the explicit Controller/View seam while leaving GuildContractService as the transaction authority. The focused controller, Recruit Review, Market and Hire regressions, normal100%captures and full MVP first-cycle audit pass with strict diagnostics0; retained evidence is under/private/tmp/aetherbound-guild-test-evidence/m18-recruit-review-source-bound-v2/20260825T042444Z-79110,/private/tmp/aetherbound-guild-test-evidence/m18-recruit-review-capture/20260825T042712Z-80995and/private/tmp/aetherbound-guild-test-evidence/m18-mvp-audit/20260825T042737Z-81242. -
M19 is the bounded Contract Choice architecture migration. Its scope was limited to copied Contract Choice view data and the selection/Confirm guard;
GuildContractService.create_contractremains the transaction authority and accepted page semantics, visuals and Save behavior are frozen. The activation boundary is pushed at source29319d5; M19-B is complete at source5758272; M19-C is complete at source43ab397; and M19-D closes at sourcedeac574. The focused source-bound regressions, four-fixture normal100%Contract Choice captures and full MVP first-cycle audit pass with exact-once markers, strict diagnostics0, 128 normal frames and owned workspace cleanup. Retained evidence is under/private/tmp/aetherbound-guild-test-evidence/m19-contract-choice-source-bound/20260825T050013Z-4766,/private/tmp/aetherbound-guild-test-evidence/m19-contract-choice-capture-source-bound/20260825T050241Z-6553and/private/tmp/aetherbound-guild-test-evidence/m19-mvp-audit/20260825T050357Z-7383. -
M20 is the bounded Guild architecture migration. Its activation plan is
docs/plans/M20_GUILD_CONTROLLER_PILOT.md. It is complete at source1323f23(product integration source8570378): the scope stayed limited to copied Guild view data, Contract state classification and destination eligibility; accepted Guild composition, routes, callbacks, visuals and downstream service semantics remain frozen. The focused source-bound controller/runtime/Guild regression and capture archive is/private/tmp/aetherbound-guild-test-evidence/m20-guild-controller-focused-v2/20260825T053841Z-32421, and the MVP audit archive is/private/tmp/aetherbound-guild-test-evidence/m20-mvp-audit/20260825T054042Z-34080. -
M21 is the bounded Party Line architecture migration. Its activation plan is
docs/plans/M21_PARTY_LINE_CONTROLLER_PILOT.md. It is complete at source0c44800(product integration source199997e): the scope stayed limited to copied Party Line view data, selection normalization and preview command eligibility; accepted formation visuals, input, Save receipts and readiness semantics remain frozen. The focused source-bound archive is/private/tmp/aetherbound-guild-test-evidence/m21-party-line-focused/20260825T055933Z-47838(49 evidence files, source revision0c44800efd7714308589cf01d9d49ff100056c02, markerABG_M21_PARTY_LINE_CONTROLLER_OKexactly once, strict diagnostics0, archive SHA-256259a3db341488fed3ec9b4f6d26b719a4bdffec5cc8cb925f155c92c288bacf3). The full source-bound MVP first-cycle audit archive is/private/tmp/aetherbound-guild-test-evidence/m21-mvp-audit/20260825T060057Z-48953(180 evidence files, markerABG_MVP_FIRST_CYCLE_AUDIT_OKexactly once, 128 normal100%frames,zh_CN/en,760x360,844x390,1280x720, strict diagnostics0, archive SHA-2563f67b8e3864dc3e5b39e0ac3b38f0dcf19c069289325325a472cd3d5d37189a8). -
M22 is the bounded Readiness Controller migration. Its activation plan is
docs/plans/M22_READINESS_CONTROLLER_PILOT.md; it is complete at sourceab83290(controller source6647b05). The scope stayed limited to copied Readiness view data, saved-order validation, warning/receipt facts and command eligibility; accepted PTY-002 composition, input, focus, Readiness receipt semantics and downstream Risk behavior remain frozen. The focused source-bound archive is/private/tmp/aetherbound-guild-test-evidence/m22-readiness-controller-focused/20260825T062201Z-64223(49 evidence files, 24 normal100%DEV-4 frames, exact-once controller and candidate-suite markers, strict diagnostics0, archive SHA-256e291052f30d8aeb79e5abfbb1e5d64362fc14c42a1becc73ca4507e4cffbd1d8). The full source-bound MVP first-cycle audit is/private/tmp/aetherbound-guild-test-evidence/m22-mvp-audit/20260825T062330Z-65410(180 evidence files, exact-onceABG_MVP_FIRST_CYCLE_AUDIT_OK, 128 normal100%frames,zh_CN/en,760x360,844x390,1280x720, strict diagnostics0, archive SHA-2567693816157e45f7c09eea8e5fe2609c4b3a9a9843eb98de0767ea8f5f5abfca2). -
M23 is the bounded Risk Board Controller migration. Its activation plan is
docs/plans/M23_RISK_BOARD_CONTROLLER_PILOT.md; it is complete at source8ac91f2(controller sourceb37f60c). The scope stayed limited to copied frozen Party/option view data, selection normalization and Review eligibility; accepted RSK-001 composition, input, focus, Risk Commitment navigation and persistence semantics remain frozen. The focused source-bound archive is/private/tmp/aetherbound-guild-test-evidence/m23-risk-board-focused/20260825T064823Z-83199(49 evidence files, 24 normal100%DEV-4 frames, exact-once controller and candidate-suite markers, strict diagnostics0, archive SHA-2563b208a92c605cc200917b48ea4ddffcc9ddd008ee99e7af2fb4f0a6040657032). The full source-bound MVP first-cycle audit is/private/tmp/aetherbound-guild-test-evidence/m23-mvp-audit/20260825T064958Z-84412(180 evidence files, exact-onceABG_MVP_FIRST_CYCLE_AUDIT_OK, 128 normal100%frames,zh_CN/en,760x360,844x390,1280x720, strict diagnostics0, archive SHA-2568d5a7849a791fb2232be1831e09be54a3d2464e5984a96dd2d620d60f712e8c1). -
M24 is the bounded Risk Commitment Controller migration. Its activation plan is
docs/plans/M24_RISK_COMMITMENT_CONTROLLER_PILOT.md; it is complete at source9518e2e(controller source3e80083). The scope stayed limited to copied selected-risk, consequence, frozen-party and dependency view data, acknowledgement normalization and Begin eligibility; accepted RSK-002 composition, input, focus, Battle handoff and receipt semantics remain frozen. The focused source-bound archive is/private/tmp/aetherbound-guild-test-evidence/m24-risk-commitment-focused/20260825T091442Z-6200(49 evidence files, exact-once controller, RSK-002 and DEV-4 candidate markers, strict diagnostics0, archive SHA-256db1f31869c4504d1272e6d136f664d318286d3043d843e57475486732d2f6de4). The full source-bound MVP first-cycle audit is/private/tmp/aetherbound-guild-test-evidence/m24-mvp-audit/20260825T091613Z-7776(180 evidence files, exact-onceABG_MVP_FIRST_CYCLE_AUDIT_OK, 128 normal100%frames,zh_CN/en,760x360,844x390,1280x720, strict diagnostics0, archive SHA-2568129815eef0e8dfe57a117d70dadc15c52a3fac376ec28a559a4df32d0a7182e). -
M25 is the bounded Battle Opening Controller migration. Its activation plan is
docs/plans/M25_BATTLE_OPENING_CONTROLLER_PILOT.md;M25-Ais complete at sourcec3ae95c,M25-Bat7b084d5,M25-Cateb74d76with the pushed repair source402145e, andM25-Dcloses at3a0c066. The focused source-bound attempt/private/tmp/aetherbound-guild-test-evidence/m25-battle-opening-focused/20260825T095412Z-44836passes exact-onceABG_M25_BATTLE_OPENING_CONTROLLER_OK,ABG_DEV5_BATTLE_OPENING_OKandABG_DEV5_CANDIDATE_SUITE_OK, strict diagnostics0, 24 normal Battle-cycle frames and owned workspace/process cleanup (archive SHA-256a921699aa0aa8b64db3e68173decf26854f1704c464cc6d8b5b5e21c623ecaa5). The full source-bound MVP first-cycle audit/private/tmp/aetherbound-guild-test-evidence/m25-mvp-audit/20260825T100014Z-50845passes exact-onceABG_MVP_FIRST_CYCLE_AUDIT_OKwith 180 evidence files, 128 normal100%frames acrosszh_CN/enand760x360,844x390,1280x720, strict diagnostics0, parsed touch coverage, restart-to-Market and owned workspace/process cleanup (archive SHA-2568ceb63b04bc2e5b11b297b31d72d92b8a880f45564e7db13c83bdf524cea70b1). The accepted BAT-001 composition, phase-zero semantics, BAT-002 handoff and persistence remain frozen. M26 is the explicitly activated next architecture seam under its own durable plan. -
M16-B is complete at source
c8af889:ABGCompanyPageControllerandABG_M16_COMPANY_PAGES_OKcentralize copied roster/detail facts and dismissal eligibility without Godot-node or persistence dependencies. -
M16-C is complete at source
14b0461: Entry Shell Roster and Recruit Detail rendering consumes the controller output; existing DEV-6 roster behavior and normal four-fixture captures remain green. No accepted MVP page was changed. -
M16-D is complete at source
fa525e6: source-bound controller, DEV-6 Roster, normal Company-page captures and the full MVP first-cycle audit pass with exact-once markers, strict diagnostics0, and owned workspace cleanup. The focused evidence archive is/private/tmp/aetherbound-guild-test-evidence/m16-company-pages-focused/20260825T023547Z-1112; the MVP audit archive is/private/tmp/aetherbound-guild-test-evidence/m16-mvp-audit/20260825T023618Z-1488. -
Repository cleanup baseline and first two safe deletion batches are complete at
f848e20ande8d7a95; M14 is closed atdocs/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 BoardandRSK-002 Risk Commitmentare 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 remainsprototype/generation/phase6_ui_direction_01/outputs/05_battle_ui_japanese_scale.png, with the full-party scale proof underphase6_battle_scale_04. The pushed M07 closure at155d775activated the M08 BAT-002 boundary. The specification package is remote-visible at7ededea, authority reconciliation is remote-visible at1ef7a5f, and the BAT2-3 package is remote-visible atf9f50cd. The Owner accepted the final deconstruction board and asset contact sheet on 2026-08-24, so BAT-002 reachedCOMPLETE. The receipt-bound observation service is remote-visible at2d4d5a7, the contained live battlefield is remote-visible at950b32e, and the timeline and diagnostic boundary implementation is remote-visible at0de6c7a; BAT2-4D functional closure is recorded in the BAT-002 page package. BAT2-5 source-bound candidate verification passed at sourcefea2ae9, 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 at189c20b: beveled faction rails, centered ivory controls, portrait-led actor-state cards and actor-attached event paths are recorded inverification/visual-repair.json. A fresh source-bound import, Field, Timeline and four normal100%capture fixtures from189c20bpass with strict diagnostics 0; the candidate archive and markers are recorded inverification/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..004is complete under the Owner's August 24, 2026 delegation that intermediate pages may be inspected and closed by the agent. Sourcef6320026cfa6b64cd2cf9a1841e2679eef826b3bpasses the domain, Runtime route and candidate capture boundaries:ABG_M12_OUTCOME_RECOVERY_DOMAIN_OK,ABG_M12_RUNTIME_OKandABG_M12_CAPTURE_OK. The candidate archive records four normal100%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
e68f888is/private/tmp/aetherbound-guild-test-evidence/mvp-first-cycle-audit-v9/20260824T234547Z-76868; markerABG_MVP_FIRST_CYCLE_AUDIT_OKappears exactly once, strict diagnostics are0, the owned workspace/process group is removed, and 128 normal100%frames pass across760x360,844x390and1280x720inzh_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 Marketis 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 underdocs/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 isCOMPLETE; 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 normal100%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 Reviewis 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 underdocs/design-authority/pages/SHP-002-recruit-review/. Source-bound behavior and four normal100%captures pass fromd24b4dd; 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/.importandprototype_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
COMPLETEafter Owner acceptance of source94a2356on 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 isCOMPLETEafter 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.pynow 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
d0dea5bkeeps all six facts while shortening repeated labels. Fresh source-boundABG_DEV4_RISK_OKand 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
COMPLETEafter 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, normal100%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
COMPLETEafter Owner Runtime acceptance on 2026-08-24. The rejected GPT-Image-2 output is archived underpages/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 source7fccbbc; Runtime and four source-bound normal100%capture attempts pass in sourcef892bb6. 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
COMPLETEafter Owner Runtime acceptance on 2026-08-24; the acceptance record is underpages/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, exactWaiting for next eventstate, 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 at189c20b. 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 Entrydirection 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 Entrydirection 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 atSYS-001, but does not authorize Godot implementation before the page's own reconstruction gate. -
SYS-001 Bootv001 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 Bootv001 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 Bootruntime 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
19c884apasses fresh-archive focused behavior/input/resize at/private/tmp/aetherbound-guild-test-evidence/sys001-source-focused/20260819T114340Z-65610and 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 BootandSYS-002 First-launchareCOMPLETEafter Owner acceptance. SYS-002's existing v001 image remains draft provenance only. -
SYS-002 First-launchv002 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
cb6a078replaced 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 toIMPLEMENTATION_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 source2417b74restores 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 toIMPLEMENTATION_IN_PROGRESSfor that single endcap boundary. Sourcee2acbd2reduces 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. Source2b732b6replaces 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 againVERIFIED_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 toIMPLEMENTATION_IN_PROGRESSfor those two rail presentation boundaries only. Sourcec32967drestores 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 againVERIFIED_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/2gating, 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-2calls 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
9b8a533d86e041c4543e94a10ce42fd7438e9077passes 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
5700a84passed 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
4352e253a83ee9f3ce3bca6eac99c5e70691f989passes the source-bound candidate suite at/private/tmp/aetherbound-guild-test-evidence/dev2-frame-spacing-candidate/20260817T155546Z-29597and 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 -> 4and Coin52 -> 38 -> 24while 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
a0918bcpassed 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
0da89b848c87013038ffa39c49d451fb2da8e3d1passes 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
62db001e8915873bb0b7632cfe90dd40a847530fpasses 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 commit9e6eef9067ff9137f8e1918e9de9cb179187a0bbis 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 is7f06d4c89d75689c8851a585245149a1a8d4dc5791c598926aa5f20df3f61862, 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_8573reference is now decomposed into the writtenDEV-3 Owner UI Style Contractindocs/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/01is the positive product contract;docs/02is systems/economy/Save authority;docs/03is pages/components/states;docs/04is art/audio; anddocs/06is the ordered roadmap and evidence gate. The written Style Bible is the reference; the next proof is the concreteVA-1_GUILD_COMPANY_ANCHORpage. DEV-1R, DEV-3V and later presentation/gameplay expansion remain frozen until the anchor is Owner-reviewed. -
P0 checks pass:
ABG_DESIGN_CONTRACTS_OKandABG_PREDEVELOPMENT_DESIGN_OK(documents=6,pages=50,errors=0). The design validator was updated to read the current consolidated docs instead of the retireddocs/productsplit. 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 isFAIL: 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_DECOMPOSITIONis 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-9294and/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-64324and/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-17825and/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-42013and/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-2retains 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 Titlev002 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 Setupv001 image draft was generated after three zero-cost provider failures; the fourth attempt completed for$0.014. It is preserved underdocs/design-authority/pages/SYS-002-first-launch/drafts/v001/with statusDRAFT_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
2d4d5a7and the contained field is frozen at950b32e; 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-01RESOLVED_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-01RESOLVED_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-02RESOLVED_COPY_DENSITY: Owner accepted the page composition but reported that the repeated fact labels read too densely. Sourced0dea5bshortens 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-01RESOLVED_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 underpages/RSK-002-risk-commitment/approved/v001/.
RSK-002 Deconstruction Issue Register
RSK002-DEC-01RESOLVED_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-01RESOLVED_OWNER_ACCEPTED: Owner repliedOKto 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-01RESOLVED_OWNER_ACCEPTED: Owner accepted source64c1c6fat 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 normal100%; the acceptance record is underpages/RSK-002-risk-commitment/verification/owner-acceptance.md.
BAT-001 Specification Issue Register
BAT001-SPEC-01RESOLVED_SPEC_READY: The BAT-001 contract and state matrix are complete in source1b3adc6; the static pre-observation boundary, normal100%layout, input order and frozen scope are validated before any art or Runtime work.BAT001-DRAFT-01RESOLVED_REJECTED_WRONG_AUTHORITY: Sourcetask_01M0QAKYKS41600MSY318C2VZPis preserved underpages/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-01RESOLVED_OWNER_ACCEPTED: Owner confirmedOKto proceed on 2026-08-23. The existing approved battle page andphase6_battle_scale_04proof remain the BAT-001 visual authority; the rejected v001 composition is provenance only.
BAT-001 Reconstruction Issue Register
BAT001-DEC-01RESOLVED_PREflight_26_26: The page-specific layer map, engine text slots, responsive anchors and transparent hit areas passed the focused preflight in source7fccbbc; the accepted full-party battlefield and compact rail hierarchy remain intact.BAT001-ASSET-01RESOLVED_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-01RESOLVED_SOURCE_BOUND_PASS: Sourcef892bb6renders 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-02RESOLVED_OWNER_ACCEPTED: Owner accepted the source-bound normal100%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 underpages/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:
- Build BAT-001 from the reconstruction spec using the clean accepted field, exact RSK-002 Party snapshot and committed enemy offer.
- 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.
- Require explicit Start Observation, preserve the original receipt exactly once and hand off to BAT-002 without advancing a tick or mutating Company.
- Run focused behavior/input/responsive checks through the source-bound attempt runner with strict diagnostics and retain the four normal 100% captures.
- 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-01RESOLVED_SPEC_READY: BAT-002page-contract.jsonandstate-matrix.jsonreconcile the accepted BAT-001 receipt with the authoritative automatic-battle rules. They define live actor/target/event readability, exactWaiting for next eventempty 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:
- Author
BAT-002page-contract.jsonandstate-matrix.jsonfrom the accepted BAT-001 receipt and current gameplay/UX/art authority. - 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. - 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. - Validate JSON, the complete design contract, predevelopment authority and focused BAT-002 static assertions.
- 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-01RESOLVED_APPROVED_EXISTING: The accepted05_battle_ui_japanese_scale.pngandphase6_battle_scale_04proof 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. Historicalshow_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:
- Copy the accepted live-battle reference and full-party scale proof into a page-specific approved v001 package without modifying either image.
- Record hashes, original repository sources, Owner authority, focal regions, live-state dynamic ownership and explicit rejected alternatives.
- 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. - Run focused authority/hash/static checks, design-contract and predevelopment validation, then rebuild Gallery.
- 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-01RESOLVED_OWNER_ACCEPTED: the Owner repliedOKon 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:
- 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.
- Author engine-owned text slots for objective, actor/target/event state,
timer, playback, waiting/error and OUT-001 handoff copy in
zh_CNandenat normal100%; author independent hit areas, focus order and non- interactive field regions with 48 logical px minimum targets. - 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.
- Run focused BAT-002 reconstruction assertions, page preflight,
design-contract/predevelopment validation and Gallery build. Source
f9f50cdis 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-01RESOLVED_SERVICE_PASS: source2d4d5a7adds a backward-compatible receipt-bound observation path. The historicaladvance_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-02RESOLVED_FIELD_PASS: source950b32ereplaces 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, normal100%responsive layouts, 48px targets, Settings return and no-hidden- tick handoff pass with strict diagnostics 0.BAT002-RUNTIME-03RESOLVED_TIMELINE_PASS: historicalbattle_runtime_test.gdexpects immediate autoplay, active pause and 1x/2x controls on the rejected card UI. Its settlement semantics remain covered bybattle_foundation_test.gd; timeline, pause and legal 1x/2x/4x behavior now run on the accepted field inbattle_live_timeline_test.gdwithout restoring the old surface. Source0de6c7a; strict timeline, field, BAT-001, observation-service and legacy DEV-5 regressions pass.BAT002-RUNTIME-04RESOLVED_IMPLEMENTATION_CLOSURE: BAT2-4C is implemented and source0de6c7apasses 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 toIMPLEMENTED_AWAITING_OWNER_RUNTIME_REVIEW.BAT002-RUNTIME-05RESOLVED_SOURCE_BOUND_CANDIDATE: sourcefea2ae9passes the owned candidate runner with four normal 100% fixtures and 40 captures; markerABG_BAT002_CANDIDATE_OKappears exactly once, strict diagnostics are 0, and the archive SHA-256 isa00f1b915f34ec9ac84b955ffc2eab7313830bcfccb9c1c1f79d4651161fb7d0. 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-06OWNER_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-07OPEN_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-08RESOLVED_APPROVED_DESIGN_RECONSTRUCTION: source189c20brestores 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 isdocs/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-09RESOLVED_SOURCE_BOUND_REPAIR_CANDIDATE: source189c20bc4a97071577b43912ebd49bc6d4a3be30passes fresh-archive import,ABG_DEV5_BATTLE_LIVE_FIELD_OKandABG_DEV5_BATTLE_TIMELINE_OKexactly once, plusABG_BAT002_CANDIDATE_OKexactly once with 40 normal100%captures across the four required fixtures. All terminals report strict diagnostics 0 and the retained 45-file candidate archive SHA-256 is165b35d9c5869bf335858011aa40683357758a982efe5f451a9aa3f733d918a9. Full attempt records are inpages/BAT-002-live-battle/verification/source-bound.json.BAT002-RUNTIME-10OPEN_OWNER_RUNTIME_REVIEW: BAT2-6 owns actual-size review of the repaired source-bound candidate. Acceptance must confirm the complete Party/enemy relation, normal100%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-11RESOLVED_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 normal100%. Strict source-bound diagnostics remain0; BAT-003/004/005/006 and OUT-001 stay truthful boundaries, with no reward, recovery, settlement or next-stage mutation. The acceptance record ispages/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:
BAT2-4ACOMPLETE- 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 anoutcome_lockedrecord without settlement. Prove idempotency, corruption rejection, no reward/history mutation and legacy DEV-5 settlement compatibility in a focused service test. Source2d4d5a7; the final worktree service attempt is/private/tmp/aetherbound-guild-test-evidence/bat002-observation-service-worktree/20260824T044254Z-46139and the separate legacy attempt is/private/tmp/aetherbound-guild-test-evidence/bat002-observation-legacy-dev5-worktree/20260824T044215Z-45630.BAT2-4BCOMPLETE- replace the historical card/containershow_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 exactWaiting for next eventcopy and 48px targets at the required landscapes. Source950b32e; 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.BAT2-4CCOMPLETE- 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. Source0de6c7a; playback-speed invariance and frozen pause/error/interruption behavior pass.BAT2-4DCOMPLETE- run the focused service/Runtime/input/responsive regression set, record the implementation boundary and move the page only toIMPLEMENTED_AWAITING_OWNER_RUNTIME_REVIEW. Source0de6c7a723ebec5d4202966c926b8fac0fb3332f; combined source-bound attempt:/private/tmp/aetherbound-guild-test-evidence/bat002-closure-source-bound/20260824T071013Z-49976.BAT2-4ECOMPLETE- source189c20breconstructs 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.BAT2-5COMPLETE- source-bound verification from189c20bc4a97071577b43912ebd49bc6d4a3be30runs fresh import, Field, Timeline and four normal100%fixtures. The three PASS attempts, exact markers, 40 captures and archive hash are recorded inverification/source-bound.json; thefea2ae9/aa6e0c4captures remain rejected visual provenance.BAT2-6COMPLETE- the Owner accepted the repaired actual-size candidate with这个OK啊on 2026-08-24. BAT-002 is closed at the immutable OUT-001 handoff; later pages remain frozen until separately planned.
Acceptance checks: the approved master remains the visual authority; top rail
silhouette/material hierarchy, centered control ribbon, field dominance,
ordinary actor scale, continuous portrait-led bottom rail and actor-attached
event language must read as the same UI family at actual size. Also preserve
one original receipt and unchanged snapshot identity;
event-preview/commit hashes and order; no Coin, XP, Recruit-history,
settlement, recovery or next-stage mutation; exact required state names and
waiting copy; complete Party/enemy lines and accepted scale; contained 16:9 at
760x360, 844x390 and 1280x720 in zh_CN/en at normal 100%; touch,
keyboard/controller focus and 48px targets; strict Godot diagnostics; preserved
BAT-001 handoff and legacy DEV-5 settlement regressions.
Owned paths: runtime/entry/battle_service.gd,
runtime/entry/entry_shell.gd, a BAT-002-specific engine-art helper under
runtime/entry/, focused BAT-002 tests under runtime/tests/dev5/, the
BAT-002 page implementation/verification records, and the BAT-002 entries in
this checkpoint and docs/06_DEVELOPMENT_AND_REVIEW.md.
Forbidden paths: runtime/domain/p9_2/ and its historical pixel presenter;
approved/reconstruction PNG editing; new image/audio generation; BAT-003,
BAT-004, BAT-005, BAT-006 or OUT-001 page implementation; reward, XP, recovery,
next-stage, content/economy or Save-schema replacement; device/package/store/
release work; unrelated cleanup. Do not stage or delete untracked .uid,
.import or prototype_incremental/ files.
Commit boundaries: this plan/checkpoint activation was pushed before BAT2-4A
product edits. Each substep receives its narrowest focused verification and
focused pushed commit before the next substep becomes IN_PROGRESS; a failed
check leaves the current substep active. BAT2-4D closes at source 0de6c7a;
the fea2ae9/aa6e0c4 candidate is retained as visually rejected provenance.
This rejection/repair activation was pushed before BAT2-4E product code.
BAT2-4E closes at focused visual-repair commit 189c20b; BAT2-5 closes with
the fresh source-bound attempts recorded in verification/source-bound.json.
BAT2-6 closes with the Owner acceptance record in
verification/owner-acceptance.md. Final BAT2-4 handoff remains
ABG BAT-002 RUNTIME IMPLEMENTED; no neighboring page or settlement work is
authorized without a separately activated durable plan.
Next Action
M31 MVP Release Readiness is complete. The local first-cycle candidate passes
the fresh source-bound audit, DEV-5 candidate regressions, M27-M30 controller
boundaries and normal 100% visual inspection. The shortest next action is an
Owner decision on the remaining human/device/audio/package gates. iOS
project/export, signing, store and release work require a separate explicit
authorization and durable plan; second-cycle repair remains outside M31.
Historical milestone closure:
M09, M10 and M11 BAT-003/BAT-004 are closed. M12 OUT-001..004 is
closed at source f632002 with domain, Runtime and candidate capture markers
passing under tools/run_test_attempt.py. M13 then completed the source-bound
first-cycle audit at e68f888, M14 cleanup is complete, M15 Runtime
Foundation is closed at b5c78fd, and M16 Company Page Pilot is closed at
fa525e6. M17 Market Controller Pilot is complete at source dd38db6, and
M18 Recruit Review Controller Pilot is complete at source 4a8a004. M19
Contract Choice Controller Pilot is complete at source deac574; its focused
controller/regression attempt, four-fixture normal 100% capture attempt and
full source-bound MVP first-cycle audit all pass with exact-once markers,
strict diagnostics 0, 128 normal frames and owned workspace cleanup. M20
Guild Controller Pilot is complete at source 1323f23; its focused
controller/runtime/regression and full source-bound MVP audit pass with
exact-once markers, strict diagnostics 0, Guild captures and owned
workspace cleanup. M21 Party Line Controller Pilot is complete at source
0c44800; its focused controller/runtime/regression and full source-bound MVP
audit pass with exact-once markers, strict diagnostics 0, 24 focused
Party/Formation capture frames, 128 normal MVP frames and owned workspace
cleanup. M22 Readiness Controller Pilot is complete at source ab83290;
its activation boundary is source 0098b5b, controller source 6647b05, and
the accepted PTY-002 View integration, focused DEV-4 candidate and full
source-bound MVP audit all pass with exact-once markers, strict diagnostics
0, 24 focused normal 100% frames, 128 normal MVP frames and owned
workspace cleanup. M23 Risk Board Controller Pilot is complete at source
8ac91f2; its activation boundary is source 2cf4f56, controller source
b37f60c, and the accepted RSK-001 View integration, focused DEV-4 candidate
and full source-bound MVP audit all pass with exact-once markers, strict
diagnostics 0, 24 focused normal 100% frames, 128 normal MVP frames and
owned workspace cleanup. M24 Risk Commitment Controller Pilot is complete at
source 9518e2e; its activation boundary is source e8825f7, controller
source 3e80083, and the accepted RSK-002 View integration, focused candidate
and full source-bound MVP audit all pass with exact-once markers, strict
diagnostics 0, 24 focused normal 100% frames, 128 normal MVP frames and
owned workspace cleanup. M25 Battle Opening Controller Pilot is complete at
source 3a0c066; its activation, controller, View integration, focused
candidate and full MVP first-cycle audit all pass with exact-once markers,
strict diagnostics 0, 128 normal MVP frames and owned workspace cleanup.
M26 Battle Live Controller Pilot is complete at source 2c872f9; M27-A is
complete at source 26fa8b7, M27-B is complete at source d26a03e, M27-C is
complete at source a3f31e2 and M27-D closes at source aa8d63b under its
own durable plan. M28 is the next explicitly activated OUT-002 architecture
seam under docs/plans/M28_KNOCKOUT_REVIEW_CONTROLLER_PILOT.md.
- M26 is the bounded BAT-002 Live Battle Controller migration. Its activation
plan is
docs/plans/M26_BATTLE_LIVE_CONTROLLER_PILOT.md;M26-Arecords the stopping point, observation/receipt invariants and forbidden scope before BAT-002 product code changes;M26-Bis complete at source31ed44f,M26-Cat37b5032andM26-Dcloses at2c872f9. Its source-bound controller/View attempt/private/tmp/aetherbound-guild-test-evidence/m26-battle-live-controller-focused/20260825T101026Z-61009passes exact-onceABG_M26_BATTLE_LIVE_CONTROLLER_OK,ABG_DEV5_BATTLE_UI_OKandABG_DEV5_CANDIDATE_SUITE_OK, strict diagnostics0, observation/BAT-003/004 regressions and owned workspace/process cleanup (archive SHA-256961dcc73e3abeb7b8ce420e582f838fe3abceb1c39b7048a5d650b379aeebefd). The full source-bound MVP first-cycle audit/private/tmp/aetherbound-guild-test-evidence/m26-mvp-audit/20260825T102223Z-72665passes exact-onceABG_MVP_FIRST_CYCLE_AUDIT_OKwith 180 evidence files, 128 normal100%frames acrosszh_CN/enand760x360,844x390,1280x720, strict diagnostics0, parsed touch coverage, restart-to-Market and owned workspace/process cleanup (archive SHA-256cf905fbf5f03301d0078e619b1abc40e352204a25e82a952d25172849bd05df5). The scope is limited to copied observation/battle/Party/enemy/event view data, playback-state classification and diagnostic command eligibility; accepted BAT-002 composition, timeline semantics, interruption boundaries and OUT-001 handoff remain frozen. - M27 is the completed bounded OUT-001 Battle Result Controller migration. Its
activation plan is
docs/plans/M27_BATTLE_RESULT_CONTROLLER_PILOT.md;M27-Ais complete at source26fa8b7,M27-Bis complete at sourced26a03e,M27-Cis complete at sourcea3f31e2, andM27-Dcloses at sourceaa8d63bafter the source-bound verification/handoff boundary. The scope is limited to copied result/decisive-event/causal/reward-draft/knockout view data and Continue eligibility; accepted OUT-001 composition and downstream Recovery semantics remain frozen. - M28 is the completed bounded OUT-002 Knockout Review Controller migration. Its
activation plan is
docs/plans/M28_KNOCKOUT_REVIEW_CONTROLLER_PILOT.md;M28-Arecords the settled-result, knockout identity, battle-local return and reward/recovery continuation invariants before any OUT-002 product code changes. The scope is limited to copied knockout view data and acknowledgement target eligibility; accepted OUT-002 composition and downstream Reward/Recovery semantics remain frozen. - M29 is the completed bounded OUT-003 Reward Choice Controller migration. Its
activation plan is
docs/plans/M29_REWARD_CHOICE_CONTROLLER_PILOT.md;M29-Arecords the settled-result, open-draft, option identity and claim/skip invariants before any OUT-003 product code changes. The scope is limited to copied reward-choice view data and command eligibility; accepted OUT-003 composition and downstream Recovery semantics remain frozen. - M30 is the bounded OUT-004 Recovery Controller migration. Its activation
plan is
docs/plans/M30_RECOVERY_CONTROLLER_PILOT.md;M30-Arecords the settled-result, reward-completion, stable-identity and one-recovery-receipt invariants before any OUT-004 product code changes. The scope is limited to copied recovery view data and Commit/Market eligibility; accepted OUT-004 composition and downstream Market semantics remain frozen. Second-cycle systems/content, broader region/endgame production, device, package, signing, store/release and human comprehension/fun gates remain outside M31 and require their own explicitly activated durable plan or Owner gate.
2026-08-25 - M34 Knockout Review Page View Refactor Activated
- The Owner asked to continue splitting page Views after the M33 Reward Choice
pilot.
M34_KNOCKOUT_REVIEW_PAGE_VIEW_REFACTORis now the sole active plan indocs/plans/M34_KNOCKOUT_REVIEW_PAGE_VIEW_REFACTOR.md. - M34 targets only OUT-002 Knockout Review. It preserves the M28-accepted
settled result, battle-local knockout identity/gap, Recruit portrait and
identity facts, Back/Acknowledge controls and Reward Choice/Recovery routes.
ABGKnockoutReviewPageViewwill own Godot nodes and explicit intents; EntryShell remains the composition root and the controller remains the copied-facts authority. - M34-A freezes the
_readiness_member()presentation boundary, exact node names, forbidden imports and M28 normal-capture equivalence target before Runtime product code changes. Result, Reward Choice, Recovery, Market and Battle Views remain outside this plan. - M34-A is complete at source
9bbdbb9; M34-B is complete at source7a4c1ca(product integration; docs recorded atd6208d8). The extracted UI-only Knockout Review View preserves the accepted node tree, portrait/identity presentation and deferredback/acknowledgeintent wiring. M34-C is complete at source4c7a0ac; M34-D closes at source5b811fbwith the source-bound audit and final handoff. No later page migration is active.
2026-08-25 - M34 Knockout Review View Verification Complete
- M34-C passes at source
4c7a0ac55b2825ccf3d24ebac6ebb9e33e1267ef. The source-bound View contract, M28/M29/M30 controller and M12/DEV-5 route regressions, DEV-5 candidate and full MVP first-cycle audit all pass with exact-once markers, strict diagnostics0, parsed touch, owned cleanup and normal100%frames. - The four Knockout Review captures are byte-identical to the M28 baseline at
760x360/zh_CN,844x390/en,1280x720/zh_CNand1280x720/en. Evidence is recorded indocs/runtime/M34_KNOCKOUT_REVIEW_PAGE_VIEW_VISUAL_AUDIT.md. - M34-D closes at source
5b811fbwith 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 passiveABGKnockoutReviewPageViewwith explicit deferredback/acknowledgeintents, while controller, settlement, Reward/Recovery routes and Battle semantics remain unchanged. - The source-bound contract, regressions, DEV-5 candidate, MVP audit and
four-fixture byte-equivalence evidence are recorded in
docs/runtime/M34_KNOCKOUT_REVIEW_PAGE_VIEW_VISUAL_AUDIT.md. - M34 is complete. At closure no later migration was active; M35 is now separately activated under its own Owner-authorized durable plan.
2026-08-25 - M35 Battle Result Page View Refactor Activated
- M34 Knockout Review View is closed. The next Owner-requested architecture
milestone is
M35_BATTLE_RESULT_PAGE_VIEW_REFACTOR, with its durable plan underdocs/plans/. - M35 targets only OUT-001 Battle Result. It preserves the M27-accepted
outcome, causal chain, decisive event, Coin/XP totals, Knockout summary,
diagnosis toggle, Continue target and normal
100%presentation. - M35-A was the sole active step at activation. Result View extraction, Risk, Reward, Recovery, Market and live Battle Views remain outside this plan.
2026-08-25 - M35 Battle Result View Extraction Started
- M35-A closes at source
37d1731, freezing the OUT-001 Result composition, UI-only formatting boundary, exact node names, forbidden imports and M27 normal-capture equivalence target. - M35-B was the sole
IN_PROGRESSstep during extraction. It added onlyABGBattleResultPageViewand deferreddiagnosis/continueintent wiring; settlement, Reward/Knockout/Recovery routes and Save semantics remain frozen.
2026-08-25 - M35 Battle Result View Verification Complete
- M35-B/C pass at source
7ba4326c508d500d41ec115415833bdd0cf697ae. The source-bound View contract, M27/M28/M29/M30 controller and M12/DEV-5 route regressions, DEV-5 candidate and full MVP first-cycle audit all pass with exact-once markers, strict diagnostics0, parsed touch, owned cleanup and normal100%frames. - The four Battle Result captures are byte-identical to the M27 baseline at
760x360/zh_CN,844x390/en,1280x720/zh_CNand1280x720/en. Evidence is recorded indocs/runtime/M35_BATTLE_RESULT_PAGE_VIEW_VISUAL_AUDIT.md. - M35-D closes at source
4a2bb82with the source-bound audit, byte-level equivalence record and final handoff. No next page migration was activated at closure; a new durable plan is required.
2026-08-25 - M35 Battle Result View Pilot Closed
- M35-D closes at source
4a2bb82. OUT-001 Battle Result is now a passiveABGBattleResultPageViewwith explicit deferreddiagnosis/continueintents, while controller, settlement, Reward/Knockout/Recovery routes and Battle semantics remain unchanged. - The source-bound contract, regressions, DEV-5 candidate, MVP audit and
four-fixture byte-equivalence evidence are recorded in
docs/runtime/M35_BATTLE_RESULT_PAGE_VIEW_VISUAL_AUDIT.md. - M35 is complete. At closure no later migration was active; any further View migration requires a new Owner-authorized durable plan.
- Historical completed plan:
docs/plans/M36_RISK_COMMITMENT_PAGE_VIEW_REFACTOR.md(COMPLETE) - M36-A is complete at source
e9ab79d, freezing the RSK-002 custom 16:9 Risk Commitment composition, exact semantic node names, six-intent command boundary, forbidden imports and M24 normal-capture equivalence target. M36-B is complete at the product integration source. The passive View, normalized canvas and deferred six-intent wiring preserve the accepted page; M36-C is complete at source26190dewith the source-bound contract, regressions, DEV-4 candidate, MVP audit and four-fixture byte-equivalence evidence indocs/runtime/M36_RISK_COMMITMENT_PAGE_VIEW_VISUAL_AUDIT.md. M36-D closes at source3a82056with the final handoff. Readiness and later preparation Views remain outside this plan and require a new durable plan.
2026-08-25 - M40 Recruit Review Page View Refactor Activated
- M39 Party Line View is closed. The next Owner-requested architecture
milestone is
M40_RECRUIT_REVIEW_PAGE_VIEW_REFACTOR, recorded indocs/plans/M40_RECRUIT_REVIEW_PAGE_VIEW_REFACTOR.md. - M40 targets only SHP-002 Recruit Review. It preserves the accepted
portrait-led static master, stable offer identity, seven engine-owned fact
slots, Company/Line impact, sourced price, Hire eligibility, same-offer
Cancel return, approved invisible
RecruitReviewSettingshit area and normal100%presentation. Hire/economy, Market, Save, localization, packaging and 130% scope remain frozen. - M40-A is the sole
IN_PROGRESSstep. It freezes the Controller/ViewData boundary, forbidden imports, exact node names, three-intent command boundary and M18 normal-capture equivalence target before product code. No Recruit Review product code has changed in M40 yet.
2026-08-26 - M41 Market Page View Refactor Activated
- M40 Recruit Review View is closed. The next Owner-authorized architecture
milestone is
M41_MARKET_PAGE_VIEW_REFACTOR, recorded indocs/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,
MarketLayoutidentity, Company/Line/Coin and board facts, Recruit/Equipment/Battle category rails, stable offer selection, inspect-only review/route boundaries, Back and Settings context and normal100%presentation. - M41-A closes at source
ef29bdc: the 2048x1152 clean master, contained 16:9 canvas,MarketLayoutwrapper, frozen semantic node names, normalized hit/focus anchors and Controller/ViewData boundary are recorded. - M41-B closes at source
9a440b3:ABGMarketPageViewowns 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 diagnostics0. M41-C closes at sourceb88b211: the source-bound contract/regression suite, DEV-3 candidate and full MVP first-cycle audit pass with strict diagnostics0; the M09 Market capture set is byte-equivalent to the immutable8d377f0baseline at all four normal100%fixtures. M41-D closes atb88b211; Market is complete and no later View migration is active.
2026-08-26 - M45-B Market Contract Return Boundary Restored; Receipt Safety Started
- M45-B closes at source
23c9bc5. The Market Controller now exposes copied Contract Return command facts,ABGMarketPageViewrenders the distinctMarketReturnContractaction, and EntryShell translates only the deferredreturn_contractintent into the existing Shell-owned review. - The review defaults focus to Cancel and blocks stale or formation-locked
states with truthful notices. Existing Contract Return transaction, receipt,
Save and Guild handoff semantics remain unchanged. Focused Controller/View,
runtime and DEV-6 return checks pass with strict diagnostics
0. - M45-C is now the sole
IN_PROGRESSstep. 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-91122passesABG_M45_CONTRACT_RETURN_SAFETY_OKexactly once with strict diagnostics0, archive SHA-256f1d51ebaf99d28dd716182c8d46c3680641becf88b7dd550d62d7e90e26940fb, and complete owned process/workspace cleanup. - M45-D is now the sole
IN_PROGRESSstep for the DEV-6 candidate, full MVP first-cycle audit and normal100%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
0b607d657324670b06030655878462080a5a840fafter 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 normal100%Market, Contract Return Review and returned Guild frames across760x360/zh_CN,844x390/enand1280x720/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,.importandprototype_incremental/remain untouched.
2026-08-26 - M46-B Shared UI Foundation Verified; Control Migration Started
- M46-B closes at source
f736d7a. The shared token, command factory, owned vector icon and notice primitives are presentation-only and preserve the existing PageView/EntryShell callbacks, semantic node names and page-specific compositions. The Risk inheritanceUI_FONTcompatibility alias is retained. - The source-bound attempt
m46-ui-foundation-focused/20260826T122929Z-99785passesABG_M46_UI_FOUNDATION_OKexactly once with strict diagnostics0, return code0, source revisionf736d7ac41a56feb50e9336f97faa5a6fa90c339, and owned process/workspace cleanup complete. - M46-C is now the sole
IN_PROGRESSstep. It owns only the bounded migration of repeated MVP commands, notices and Unicode command glyphs; gameplay, economy, Save/Receipt, routing, static masters,.uid,.importandprototype_incremental/remain frozen.
2026-08-26 - M46 MVP UI Consistency Pass Complete
- M46-C closes at source
ebc0c8f. Market, Party, Readiness, Risk Board, Risk Commitment, Result, Recovery and Company Views now use the shared command state, icon and notice helpers for repeated MVP chrome while preserving stable node names, explicit intents, focus order and page-specific layout. - M46-D closes at source
ebc0c8f. The eight focused View contracts, DEV-3, DEV-4, DEV-5 and DEV-6 candidate suites, and the full MVP first-cycle audit pass throughtools/run_test_attempt.pywith exact-once markers, strict diagnostics0, parsed touch/restart and owned cleanup. The MVP audit retains 128 normal100%frames; current-source Company and Contract Return/Guild capture sets cover the remaining page-family fixtures. - Manual review of the required
760x360,844x390and1280x720zh_CN/ennormal captures finds no blocking clipping, overlap or focal hierarchy regression. Evidence is recorded indocs/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,.importandprototype_incremental/remain untouched.