14 KiB
14 KiB
P9.8 First Contract Completion Implementation Plan
Status:
COMPLETEActive step:COMPLETEBaseline:dc5a74ebb4b59d944fe303c80fb3410ba79fd9b6Goal:docs/goals/PHASE9_8_FIRST_CONTRACT_COMPLETION_GOAL.mdContract: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
dc5a74eis clean and upstream-equal. - Accepted P9.7 product source is
a77400a. - P9.7 formal evidence and Gallery item
pv90lquELNh_remain immutable. - Step 1 source
3a26827adds 5 Market boards, 15 routes, 20 Recruit candidates, 8 equipment rows, 3 canonical Artifacts, 20 reachable promotion branches, all 12 Windglass ordinary/elite enemies andBO-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 is891818839515fff0b1a75540e7eaea024dfcb8e288758f72a8dff34a0ab329a6and covers 5/5 entries. - Step 2 source
e8b5817adds 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 isf76903db141a6e11d69cfa6b1999912c6e28207105abfb05e25d856c024fea9cand covers 8/8 entries. - Step 3 source
6698c09completes Rounds 8-12, exact capacity progression8/8/9/9/10, deterministic Company growth, fifteen bounded routes, five explicit state-dependent counterfactuals, defeat/recovery and a fixed-hashBO-R1-01Boss Muster. The separatecontract_phasepreserves 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 is483715c7f98cbfe4fa6cdf4a95b19305fcf6911ca91c7ba5136b4edea5a49394and covers 11/11 entries. - Step 4 source
a10ae81applies 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 isdf738b41c8f0752b8a8f14ffc6c399f4d8086c053ab32ee8d54572d9a9095cc4and covers 12/12 entries. - Step 5 source
71c0900adds 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 is0840b8e19552fa759cfade9f7abf220cba64eb61126cf673cec7f8663d549c66and covers 13/13 entries. - Step 6 source
5757597connects 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 source71c0900. Nine normal frames cover four viewports, both locales, 130% text, reduced motion, mute and low power. The844x390, 30 FPS MovieWriter recording is 25.4 seconds/762 frames with black intervals zero. The 66-row inventory SHA-256 isc1224db4726c8c29476df3c5dd0711bf8507b09fbe13b60c58eb48d27fecb677. - R1 is append-only
INVALID_PREFLIGHT_SELF_MATCH, R2 is append-onlyINVALID_RECORDING_DIMENSIONS, and R3 is append-onlyINVALID_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 is20fdaff799f8f85b33fd292a9568ed2b0f6d99933c4dedeb8e52f165876ff766. - Private Gallery item
0h_nSaLaL6h0preserves all nine source bytes. HTML remains short-cached; runtime files use one-year private immutable cache, ETag andVary: Accept-Encoding. Four gzip representations decode to the originals and all nine conditional requests return304. - Gallery R2 evidence is
/private/tmp/abg-p98-5757597-gallery-r2/; its inventory SHA-256 ise73a583f70e4cce9e1d867739a4117c642983f0b77d2a9ec974fcc7c94a8e338. Web R1INVALID_EXPORT_TEMPLATE_ENVand Gallery R1INVALID_REMOTE_TRANSFER_SESSIONremain append-only and contribute no product judgment. - P9.8 is
runtime_verifiedandagent_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.