Files
aetherbound-guild/docs/runtime/p9_1/IMPLEMENTATION_PLAN.md
T

11 KiB

P9.1 Five-Battle First-Session Implementation Plan

Status: OWNER_REVIEW_DEFERRED Active step: NONE Active source baseline: cca5eae6247f37dc4ee51770819adb6ddfc51cc5 Goal: docs/goals/PHASE9_1_ARBITRARY_PARTY_FIRST_SESSION_GOAL.md Contract: docs/runtime/PHASE9_1_ARBITRARY_PARTY_FIRST_SESSION_CONTRACT.md Evidence ledger: docs/reviews/PHASE9_GODOT_VERTICAL_SLICE_LEDGER.md Process protocol: docs/runtime/PLAN_DRIVEN_DEVELOPMENT_PROTOCOL.md Post-milestone roadmap: docs/runtime/p9_1/POST_P9_1_ROADMAP.md

1. Player-Visible Stopping Point

P9.1 ends when the owner can open one landscape H5 build and complete this unbroken first session:

Title -> Main Menu -> New Game -> choose any two Recruits
-> automatic formation -> battle 1 -> choose one adaptation
-> battle 2 -> choose one Guild response -> battle 3
-> choose and review one route -> battle 4
-> choose and review one current member for Lv.2 -> battle 5
-> first-session result -> restart or Home

The player must be able to explain who acted, what changed, why each choice was rational, and how the final result followed from the four decisions. P9.1 is not complete merely because the domain matrix or old preview pages pass.

The milestone stops after one owner playthrough and one bounded repair round. It does not continue into chapter production.

2. Current Reality

Complete and pushed

  • Front door: Boot, Title, Main Menu, Introduction and Settings.
  • Any two of four current Recruits can be selected; the system assigns order.
  • Five deterministic battles and four intervening decisions exist in the domain layer.
  • Guild addition performs real automatic re-formation.
  • Member HP, member levels, battle times, Coin and result identity are tracked by stable member ID.
  • The source at 8cfbc14 passes a 180-path matrix across six pairs, two adaptations, two Guild responses, three routes and every current growth candidate. It also preserves the declared P9.0 focused regressions.
  • The source at bbad4e2 renders Guild re-formation, battles 3-5, route, training and result pages from current field_order; its exceptional Farstring + Kindhand -> add Hearthguard path displays Hearthguard -> Farstring -> Kindhand consistently.
  • The source at 08fd15c gives all four decision pages the same reason/gain/ cost/foregone grammar and all five result pages the same five labeled lines; it passes Chinese/English 130% comprehension and 844x390 bounds checks.
  • The source at ef45f2a binds every battle feedback payload to encounter, source member, target member, cue and VFX, including third-position recoil; it passes the Step 3 battle continuity marker and 10 strict-clean regressions.
  • The source at cca5eae passes the complete first-session runtime marker with five pacing profiles, 190 parsed ScreenTouch, five parsed ScreenDrag, zero fallback/direct input, restart cleanup, three layout fixtures and strict diagnostics zero. A normal 844x390 recording also passes with five source-bound result captures.

Not complete

  • The Owner has not yet completed the delivered five-battle H5 without coaching.
  • Human understanding, fun, listening and willingness to continue remain open.
  • The roughly 55 MB uncompressed Web payload has a multi-minute cold-start limitation; this is recorded honestly and is not a gameplay PASS or FAIL.

3. Frozen Scope

P9.1 must not add or redesign:

  • authoritative combat, difficulty or economy;
  • save/load, offline progress, casualty or recovery;
  • Market, permanent inventory, promotion or levels above this bounded Lv.2;
  • more professions, enemies, equipment, regions or chapters;
  • bulk/final art, generated audio, packaging, TestFlight, stores or release.

Findings in these areas go into the issue register or the next milestone. They do not expand the active P9.1 step.

4. Execution Rules

  1. Exactly one step below is IN_PROGRESS.
  2. Before editing, identify the current step's owned files and acceptance checks. Do not edit a later step's files speculatively.
  3. Run focused checks first. Run the declared regression set only after the focused boundary passes.
  4. Each completed step gets a focused commit and push. The plan and checkpoint are updated in the same commit only when their status actually changes.
  5. A failed check keeps the current step active. Record the earliest boundary in the issue register and repair it before advancing.
  6. Do not describe a step as complete until HEAD == upstream, the worktree is clean and no owned Godot process remains.
  7. Deployment begins only after Steps 1-4 are complete. Packaging is not part of this plan.

5. Ordered Delivery Plan

Step Status Player outcome Required verification Commit boundary
P9.1-STEP-0 Domain five-battle foundation COMPLETE Every legal party/decision path reaches a truthful final snapshot. 180 paths; exact HP/Coin/time/order/levels/actions; foundation atomicity; P9.0 focused regressions. Pushed 8cfbc14.
P9.1-STEP-1 Real formation UI COMPLETE Guild re-formation immediately and consistently shows the actual lead, second and third members. No actor, health bar, action caption, feedback or training card refers to the wrong person. ABG_P9_1_REAL_FORMATION_UI_OK; 180-path domain and 13 affected P9.0/P9.1 regressions strict-clean; five normal-render 844x390 states strict-clean. Pushed bbad4e2.
P9.1-STEP-2 Decision and result comprehension COMPLETE Adaptation, Guild, route and growth pages open unselected, show exact gain/cost/foregone state, and all five results use outcome/cause/difference/change/next-action order in Chinese and English. ABG_P9_1_DECISION_RESULT_COMPREHENSION_OK; 17 strict-clean domain/touch regressions; six 844x390 zh/en-130% frames with no overlap or clipping. Pushed 08fd15c.
P9.1-STEP-3 Battle readability and continuity COMPLETE Battles 1-5 visibly show approach, pressure, each profession's one action, damage/heal numbers, defeat and victory without identity swaps or dead time. ABG_P9_1_BATTLE_READABILITY_CONTINUITY_OK; 10 strict-clean regressions; four normal-render 844x390 frames with no overlap. Pushed ef45f2a.
P9.1-STEP-4 Full first-session runtime gate COMPLETE A player can use real touch from Title to final result and restart without hidden helper calls. ABG_P9_1_FULL_FIRST_SESSION_RUNTIME_OK profiles=5 touch=190 drag=5 fallback=0 direct=0; max decision gap 1.09s; three layout fixtures; strict scan zero; normal 844x390 recording marker and five captures. Pushed cca5eae.
P9.1-STEP-5 H5 owner delivery COMPLETE The exact accepted source is available through one stable landscape mobile URL. Refresh starts cleanly and Restart is visible. Runtime-only Web export; local/remote bytes, MIME, CSP and health recorded in H5_DELIVERY.md; cold-start limitation reported honestly. Documentation closure pushed with H5_DELIVERY.md.
P9.1-STEP-6 Owner play and bounded repair PENDING Owner completes one uncoached first session and reports whether formation, decisions, battles and result are understandable and worth continuing. Owner observations; one ranked repair batch; rerun affected Step 4 checks; republish only if code changed. Deferred by Owner continuation instruction; human gates remain open.

6. Current Step Contract

P9.1-STEP-6 OWNER_PLAY_AND_BOUNDED_REPAIR

Current owned issue register and play report:

docs/runtime/p9_1/OWNER_PLAY_REPORT.md

No product file may be edited before the Owner reports the first confusion or choice-quality problem. Any repair must name its exact source file before edit.

Required behavior:

  • Give the Owner the current signed private H5 URL without coaching the route.
  • Record the first confusion, pointless choice, unreadable battle event and unclear result or next action in OWNER_PLAY_REPORT.md.
  • Rank at most three findings by first-play impact. One repair batch may own only the highest-impact bounded boundary.
  • If code changes, rerun the affected Step 4 focused and runtime checks, commit, push and republish the source-bound H5. If no code changes, close P9.1 with the actual Owner gate result.

Step 6 is complete only after one uncoached Owner playthrough, one ranked issue list, and at most one bounded repair batch with focused rerun evidence. If no repair is needed, close the milestone with the Owner's acceptance or explicit open gates.

7. Known Issue Register

ID Status Boundary Disposition
P91-I01 RESOLVED Later UI displayed stale historical slots after Guild re-formation. Step 1 source bbad4e2 uses current field_order and stable member IDs across preview, battle, route, training and results.
P91-I02 RESOLVED Later decision/result copy used legacy front/rear language and incomplete causal grammar. Step 2 source 08fd15c uses stable five-line result labels and four-row option consequences in both locales.
P91-I06 RESOLVED Battle 3-5 event text and animation cadence still need one source-bound continuity check across re-formed parties and accessibility variants. Step 3 source ef45f2a binds identity, cue, VFX and third-position recoil; focused marker and normal frames pass.
P91-I03 RESOLVED No complete Title-to-final parsed-touch path on the new five-battle domain. Step 4 source cca5eae passes five profiles, 190 Touch, five Drag, fallback/direct zero, restart cleanup and strict diagnostics.
P91-I04 RECORDED Godot 4.6.1 Dummy-audio touch runs can intermittently emit exit-only ObjectDB cleanup warnings while functional markers pass; audio lifecycle focused test passes. Step 4's authoritative run is strict-clean. Preserve the historical limitation without reopening product audio in Step 6.
P91-I05 OPEN Existing Web payload is large and cold loading is slow. Step 5 delivery optimization only; it must not change gameplay.

8. P9.1 Completion Checklist

P9.1 may be closed only when all are true:

  • Steps 0-6 are COMPLETE.
  • One exact pushed source revision owns the latest H5 delivery.
  • The first session is playable from Title through final result and Restart.
  • No visible party member, action, HP, level, reward or result contradicts the domain snapshot.
  • Automated, runtime, agent visual and machine audio evidence are reported at their actual levels.
  • Owner understanding/fun/listening are recorded only from owner evidence.
  • The repository is clean/upstream and no owned process remains.

Anything beyond this checklist begins a new milestone plan rather than silently extending P9.1.

9. Next Milestones After P9.1

These are sequencing notes, not current authorization:

  • P9.2: one owner-driven comprehension/feel repair milestone if more than the bounded Step 6 batch is required.
  • P9.3: authoritative combat, failure/recovery and persistence vertical slice.
  • P9.4: scalable profession/enemy/equipment authoring and chapter production.
  • P9.5: final presentation, device performance, packaging and release gates.