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

14 KiB

P9.8 First Contract Completion Implementation Plan

Status: COMPLETE Active step: COMPLETE Baseline: dc5a74ebb4b59d944fe303c80fb3410ba79fd9b6 Goal: docs/goals/PHASE9_8_FIRST_CONTRACT_COMPLETION_GOAL.md Contract: docs/runtime/PHASE9_8_FIRST_CONTRACT_COMPLETION_CONTRACT.md

Player-Visible Stopping Point

Starting from the exact P9.7 saved Market 8, complete Rounds 8-12, choose one Artifact, promote one eligible Recruit, prepare for and fight The Many-Paned Stag, recover from one viable boss defeat, and atomically close the Contract into a persistent Windglass clear/Renown/Record result.

No Owner H5 review is requested before Step 7 closes. Internal steps are verified, committed and pushed without pausing for routine authorization.

Ordered Steps

Step Status Player outcome Commit boundary
P9.8-STEP-0 Contract COMPLETE Exact first-Contract scope and terminal are frozen. Goal, contract, plan, checkpoint and ledger pushed.
P9.8-STEP-1 Content authority COMPLETE Markets 8-12, Artifact, promotion and boss objects resolve from deterministic validated data. Source 3a26827; content/schema tests and P9.7 regressions pass strict-clean.
P9.8-STEP-2 Contract state and save COMPLETE P9.7 save migrates to v3 and all new decisions commit atomically. Source e8b5817; domain/persistence and P9.7 regressions pass strict-clean.
P9.8-STEP-3 Rounds 8-12 COMPLETE Five escalating Rounds reach capacity 10 and fixed Boss Muster. Source 6698c09; round/counterfactual and P9.7 regressions pass strict-clean.
P9.8-STEP-4 Artifact and promotion COMPLETE One shared Artifact and one Recruit promotion visibly change battle grammar. Source a10ae81; all 20 effects and branch counterfactuals pass strict-clean.
P9.8-STEP-5 Boss and run close COMPLETE Both boss plans, defeat/recovery and exactly-once persistent clear work. Source 71c0900; boss/save/run-close and regressions pass strict-clean.
P9.8-STEP-6 Complete runtime evidence COMPLETE The entire Contract is playable by touch with readable motion and results. Source 5757597; full flow, five profiles, layouts, recording and regression pass.
P9.8-STEP-7 H5 and closure COMPLETE One fresh cached H5 exposes the complete Contract for Owner review. Source 5757597; Gallery 0h_nSaLaL6h0; cached remote delivery verified.

Step Contracts

P9.8-STEP-1 CONTENT AUTHORITY

PLAYER OUTCOME: Every new Market object, route, Artifact, promotion and boss
  preview has a stable readable identity and deterministic consequence.
IN SCOPE: P9.8 content registry; Markets 8-12; fifteen route offers; bounded
  Recruit/equipment offers; three Artifact rows; reachable promotion pairs;
  Windglass enemy compositions; Stag definition; localization; validation.
OUT OF SCOPE: state mutation, UI, save, runtime and H5.
OWNED FILES: runtime/content/p9_8_content.gd plus UID;
  runtime/tests/p9_8/content_authority_test.gd plus UID; durable status.
ACCEPTANCE: IDs/references/board shapes/rewards/capacities/locale/hash are exact;
  malformed fixtures reject; P9.7 content and settlement regressions pass.
COMMIT: focused source/test/status push before Step 2.

P9.8-STEP-2 CONTRACT STATE AND SAVE

PLAYER OUTCOME: Existing progress resumes truthfully and every new choice is
  interruption-safe, idempotent and inspectable.
IN SCOPE: isolated P9.8 state/service/save v3; v2 migration; Artifact/promotion/
  Boss Muster/clear drafts and receipts; complete snapshot rejection boundaries.
OUT OF SCOPE: battle simulation and presentation.
ACCEPTANCE: successful operations increment once; rejected operations preserve
  every field; v2 migration, corruption, backup, rollback, interruption,
  duplicate claim and zero-offline checks pass with P9.7 regressions.
COMMIT: focused domain/persistence/status push.

P9.8-STEP-3 ROUNDS 8-12

PLAYER OUTCOME: Five escalating preparation/battle cycles reach a fixed Boss
  Muster, with capacity 8/9/10 changing the legal Company plan.
IN SCOPE: content-fed compositions and mechanics; fifteen routes; reward/XP/
  survival/capacity settlement; distinct counterfactuals; boss entry.
OUT OF SCOPE: Artifact/promotion rule application and presentation.
ACCEPTANCE: all routes terminate under 150 seconds; five exact state-dependent
  choice boundaries hold; settlement/reload/duplicate checks and P9.7 pass.
COMMIT: focused battle/status push.

P9.8-STEP-4 ARTIFACT AND PROMOTION

PLAYER OUTCOME: The player makes two understandable build decisions that alter
  shared and individual action grammar before the boss.
IN SCOPE: deterministic Artifact draft/commit; eligible promotion preview/
  confirm; preserved identity/equipment/HP/order; battle effects and negatives.
OUT OF SCOPE: boss battle and final UI polish.
ACCEPTANCE: at least two rational Artifact states and two promotion directions;
  ineligible/duplicate/cancel/reload paths exact; prior round paths pass.
COMMIT: focused systems/status push.

P9.8-STEP-5 BOSS AND RUN CLOSE

PLAYER OUTCOME: The Stag visibly screens, rotates and sweeps; rotate and brace
  plans both work, defeat has a fair recovery, and victory permanently clears
  the Contract once.
IN SCOPE: boss state/service; pane/sweep/phase events; plan commit; defeat/
  recovery; pending clear; Renown/Record/discovery settlement; save retries.
OUT OF SCOPE: final broad presentation and H5.
ACCEPTANCE: both plans win in their intended state and lose in a counter-state;
  timeout bounded; boss recovery preserves authority; clear retry is idempotent;
  run-only state clears atomically; full P9.3-P9.7 regressions pass.
COMMIT: focused boss/status push.

P9.8-STEP-6 COMPLETE RUNTIME EVIDENCE

PLAYER OUTCOME: One uninterrupted landscape playthrough communicates every
  Market, build, boss and persistent-result decision through the game world.
IN SCOPE: isolated P9.8 controller and main handoff; touch/drag; animation and
  combat feedback; five profiles; layouts/locales/accessibility; recording.
OUT OF SCOPE: final production art/audio, packaging and release.
ACCEPTANCE: parsed touch/drag with fallback/direct zero; opening through clear
  and defeat/recovery flows; <=30s decision gaps; required viewport matrix;
  20-30s motion recording; strict diagnostics/process cleanup zero.
COMMIT: complete source-bound evidence/status push.

P9.8-STEP-7 H5 AND CLOSURE

PLAYER OUTCOME: The Owner can test the complete first Contract from one cached
  private landscape H5.
IN SCOPE: fresh runtime-only Web export, stable cache, one Gallery item,
  source hashes, delivery record and durable closure.
OUT OF SCOPE: gameplay edits, native packaging, devices, stores and release.
ACCEPTANCE: exact source binding; tests/docs/evidence absent from PCK; remote
  bytes/MIME/cache/304 pass; clean upstream repository and owned processes zero.
COMMIT: docs-only closure after immutable delivery.

Issue Register

ID Status Finding
P98-I01 RESOLVED_IN_CONTRACT Five more ordinary fights alone would not complete the product loop; Artifact, promotion, Boss Muster, boss recovery and persistent close are mandatory.
P98-I02 RESOLVED_IN_PLAN P9.7 state clamps at Round 7/Market 8. P9.8 composes a new versioned layer instead of silently weakening accepted invariants.
P98-I03 OPEN_FINAL_ART_AUDIO Existing rigs, palette variants and synthesized feedback remain temporary. Final profession/enemy art and music/SFX are outside this gameplay milestone.
P98-I04 OPEN_HUMAN Agent evidence cannot prove understanding, fun, visual acceptance or willingness to continue.
P98-I05 RESOLVED_AUTHORITY_FORWARD The activation draft accidentally assigned new effects to existing Artifact IDs. Contract r1 now binds AR-001, AR-002 and AR-007 to their canonical catalog rules before product implementation.
P98-I06 INHERITED_P9_6_LAYOUT Unchanged P9.6 English-130% layout authority expands P97EnterMarketButton to 270px at x=612 in an 844px viewport. Accepted source 71c0900 and P9.8 source fail identically; P9.8 does not change or waive that frozen earlier screen.

Current Evidence

  • Baseline dc5a74e is clean and upstream-equal.
  • Accepted P9.7 product source is a77400a.
  • P9.7 formal evidence and Gallery item pv90lquELNh_ remain immutable.
  • Step 1 source 3a26827 adds 5 Market boards, 15 routes, 20 Recruit candidates, 8 equipment rows, 3 canonical Artifacts, 20 reachable promotion branches, all 12 Windglass ordinary/elite enemies and BO-R1-01.
  • Fresh Git-archive evidence at /private/tmp/abg-p98-3a26827-step1-r1/ passes import, P9.8 content, P9.7 content and P9.7 settlement strict-clean. Inventory SHA-256 is 891818839515fff0b1a75540e7eaea024dfcb8e288758f72a8dff34a0ab329a6 and covers 5/5 entries.
  • Step 2 source e8b5817 adds isolated P9.8 state/service/save-v3 modules. Exact P9.7 Market 8 migrates with Company, inventory, HP and histories intact; v0/v1 remain on preserved P9.7 authority, Artifact and promotion transactions are idempotent, and interrupted v3 encounters restore the exact pre-battle Market with zero offline rewards.
  • Fresh Git-archive evidence at /private/tmp/abg-p98-e8b5817-step2-r1/ passes six P9.8/P9.7 markers with strict diagnostics zero. Inventory SHA-256 is f76903db141a6e11d69cfa6b1999912c6e28207105abfb05e25d856c024fea9c and covers 8/8 entries.
  • Step 3 source 6698c09 completes Rounds 8-12, exact capacity progression 8/8/9/9/10, deterministic Company growth, fifteen bounded routes, five explicit state-dependent counterfactuals, defeat/recovery and a fixed-hash BO-R1-01 Boss Muster. The separate contract_phase preserves P9.7's typed Market/Encounter phase instead of weakening it.
  • Fresh Git-archive evidence at /private/tmp/abg-p98-6698c09-step3-r1/ passes nine P9.8/P9.7 markers and strict diagnostics zero. Inventory SHA-256 is 483715c7f98cbfe4fa6cdf4a95b19305fcf6911ca91c7ba5136b4edea5a49394 and covers 11/11 entries.
  • Step 4 source a10ae81 applies canonical Artifact rules only from the next Market and makes the first eligible promotion mandatory before another route. All twenty reachable branches preserve identity/HP/equipment/order and emit a distinct battle rule; four opposed pairs have different event/timing/HP consequences.
  • Fresh Git-archive evidence at /private/tmp/abg-p98-a10ae81-step4-r1/ passes ten P9.8/P9.7 markers with strict diagnostics zero. Inventory SHA-256 is df738b41c8f0752b8a8f14ffc6c399f4d8086c053ab32ee8d54572d9a9095cc4 and covers 12/12 entries.
  • Step 5 source 71c0900 adds the isolated Many-Paned Stag state/battle/close layer. A healthy mixed Company wins by rotate at tick 166 or brace at tick 202; brace preserves 48 more HP, while rotate is faster. Single-Recruit defeat reopens the identical boss for 14 Coin. Pending clear, interruption, exact 3 Renown, one twelve-Round Company Record and run-only cleanup are idempotent.
  • Fresh Git-archive evidence at /private/tmp/abg-p98-71c0900-step5-r1/ passes eleven P9.8/P9.7 markers with strict diagnostics zero. Inventory SHA-256 is 0840b8e19552fa759cfade9f7abf220cba64eb61126cf673cec7f8663d549c66 and covers 13/13 entries.
  • Step 6 source 5757597 connects the exact P9.7 Relay threshold to P9.8 with one explicit parsed-touch continuation, prioritizes valid save-v3 resume and presents Artifact, promotion, Markets 8-12, final Rally, both Stag plans, ordinary/Boss combat feedback, defeat recovery and persistent close in the accepted landscape world.
  • The complete parsed-input flow records 42 Touch and one Drag with fallback and direct action counts zero. Five profiles retain 97 decision timestamps, longest gap 18 seconds, both Artifact/promotion branches, one defeat/recovery, one interruption reload and both Boss plans.
  • Fresh fixed-source evidence is /private/tmp/abg-p98-5757597-step6-r4/. Twelve P9.8 logs and 24 executable P9.3-P9.7 regressions pass strict-clean; the one unchanged P9.6 layout failure is byte-unchanged and reproduces identically at accepted source 71c0900. Nine normal frames cover four viewports, both locales, 130% text, reduced motion, mute and low power. The 844x390, 30 FPS MovieWriter recording is 25.4 seconds/762 frames with black intervals zero. The 66-row inventory SHA-256 is c1224db4726c8c29476df3c5dd0711bf8507b09fbe13b60c58eb48d27fecb677.
  • R1 is append-only INVALID_PREFLIGHT_SELF_MATCH, R2 is append-only INVALID_RECORDING_DIMENSIONS, and R3 is append-only INVALID_AUDIT_COMMAND; none contributes to the R4 judgment.
  • Step 7 Web R2 exports nine runtime-only files from exact source 5757597. Its PCK contains the P9.8 controller/boss/save/content authority and zero test, docs, evidence or build path. The export manifest SHA-256 is 20fdaff799f8f85b33fd292a9568ed2b0f6d99933c4dedeb8e52f165876ff766.
  • Private Gallery item 0h_nSaLaL6h0 preserves all nine source bytes. HTML remains short-cached; runtime files use one-year private immutable cache, ETag and Vary: Accept-Encoding. Four gzip representations decode to the originals and all nine conditional requests return 304.
  • Gallery R2 evidence is /private/tmp/abg-p98-5757597-gallery-r2/; its inventory SHA-256 is e73a583f70e4cce9e1d867739a4117c642983f0b77d2a9ec974fcc7c94a8e338. Web R1 INVALID_EXPORT_TEMPLATE_ENV and Gallery R1 INVALID_REMOTE_TRANSFER_SESSION remain append-only and contribute no product judgment.
  • P9.8 is runtime_verified and agent_visual_reviewed, with a cached H5 ready for Owner play. Human understanding/fun/visual/listening, browser Canvas, physical device, native packaging, stores and release remain open.