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

231 lines
13 KiB
Markdown

# P9.10 Gale Loom And Second Contract Implementation Plan
> Status: `COMPLETE`
> Active step: `COMPLETE`
> Baseline: `8b19c7133d57b85b695b0c9362259b69afffdb56`
> Goal: `docs/goals/PHASE9_10_GALE_LOOM_SECOND_CONTRACT_GOAL.md`
> Contract: `docs/runtime/PHASE9_10_GALE_LOOM_SECOND_CONTRACT_CONTRACT.md`
## Player-Visible Stopping Point
Continue from exact P9.9 Market 4, grow the Company through Rounds 4-12,
confront and recover against the Gale Loom, then persist the second Windglass
clear, 18 Renown, one Company Record and visible RG-02 unlock.
Internal steps are verified, committed and pushed without pausing for routine
authorization. No H5 is published before Step 4 closes.
## Ordered Steps
| Step | Status | Player outcome | Commit boundary |
|---|---|---|---|
| P9.10-STEP-0 Contract | `COMPLETE` | Second-Contract completion, Boss and persistent terminal are frozen. | Goal, contract, plan, checkpoint and ledger pushed. |
| P9.10-STEP-1 Continuation authority | `COMPLETE` | P9.9 Market 4 loads into nine authored Markets with Company/equipment growth and reaches one stable Boss Muster. | Source `c79ae82`; 27-route matrix, Save v5 and four P9.9 regressions pass. |
| P9.10-STEP-2 Gale Loom and close | `COMPLETE` | Both Boss plans, viable recovery and exactly-once persistent RG-02 unlock work. | Source `df3e742`; 12 focused/regression markers and strict diagnostics pass. |
| P9.10-STEP-3 Complete runtime | `COMPLETE` | The full continuation is playable and readable by parsed touch. | Source `b77b14e`; 42 headless + 2 normal programs, 9 captures and 26.5-second recording pass. |
| P9.10-STEP-4 Evidence, H5 and closure | `COMPLETE` | One source-bound cached H5 exposes the complete second Contract. | Source `b77b14e`; Gallery `WqchGTxRmUh7`; remote bytes/cache/304 pass. |
## Step Contracts
### P9.10-STEP-1 CONTINUATION AUTHORITY
```text
ID: P9.10-STEP-1
PLAYER OUTCOME: The saved Market 4 truthfully continues through nine distinct
route decisions, optional Company/equipment growth and one stable Boss Muster.
IN SCOPE: P9.10 content; exact P9.9 carry-in; Markets/Rounds 4-12; 27 routes;
bounded Recruit/equipment offers; one-slot equipment; capacity curve; final
reorder; ordinary defeat/recovery; save-v5 migration; focused tests.
OUT OF SCOPE: Boss execution, persistent close, runtime presentation and H5.
OWNED FILES: runtime/content/p9_10_content.gd plus UID; runtime/p9_10 contract,
service and save modules plus UIDs; runtime/tests/p9_10 continuation tests
plus UIDs; durable status.
ACCEPTANCE CHECKS: exact Market-4 migration; route/board/content validation;
capacity 5->10 at exact clears; optional legal hires; one-slot replacement;
formation and final reorder; 9 victories reach stable Gale Loom Muster;
stale/duplicate/insufficient/interruption boundaries preserve snapshots;
affected P9.9 regressions pass unchanged.
EVIDENCE LEVEL EXPECTED: automated_verified.
COMMIT BOUNDARY: focused source/test push, then docs-only step closure.
LEGAL TERMINAL: P9.10 Step 1 continuation authority complete.
NEXT STEP: P9.10-STEP-2.
```
### P9.10-STEP-2 GALE LOOM AND CLOSE
```text
ID: P9.10-STEP-2
PLAYER OUTCOME: The Company can read, fight, recover from and defeat the Gale
Loom, then receive a persistent second-clear result.
IN SCOPE: Boss state/service; plans; spindle reversal; opposite gust phase;
timeout/defeat; 16-Coin recovery; pending close; +18 Renown; Company Record;
RG-02 unlock; persistence and focused tests.
OUT OF SCOPE: runtime UI, final art/audio, RG-02 gameplay and H5.
OWNED FILES: runtime/p9_10 Boss/close modules plus UIDs; P9.10 content additions;
P9.10 Boss/close/persistence tests plus UIDs; durable status.
ACCEPTANCE CHECKS: both plans rational and deterministic; phase transition;
same-Muster recovery; pre-Boss casualty preserved; insufficient/nonviable
rejection; exact clear/Renown/Record once; interruption and duplicate safety;
affected continuation/P9.9 regressions pass.
EVIDENCE LEVEL EXPECTED: automated_verified.
COMMIT BOUNDARY: focused source/test push, then docs-only step closure.
LEGAL TERMINAL: P9.10 Step 2 Gale Loom and close complete.
NEXT STEP: P9.10-STEP-3.
```
### P9.10-STEP-3 COMPLETE RUNTIME
```text
ID: P9.10-STEP-3
PLAYER OUTCOME: Market 4 through persistent RG-02 unlock is one readable,
game-like landscape flow with visible automatic work and consequences.
IN SCOPE: P9.10 runtime controller/main handoff; direct world targets;
battle/Boss feedback; parsed touch/drag; five profiles; viewport/localization/
accessibility fixtures; one 25-30 second recording; affected regressions.
OUT OF SCOPE: gameplay rule changes, H5, final production art/audio and release.
OWNED FILES: runtime/p9_10/runtime_controller.gd plus UID; runtime/main.gd;
runtime/project.godot; focused P9.10 runtime/profile/layout/recording tests
plus UIDs; durable status.
ACCEPTANCE CHECKS: exact carry-in; hires/equipment/routes/Boss/close by touch;
Touch/Drag parsed, fallback/direct zero; five profiles and <=30s gaps; required
matrix; visible gust/spindle/phase/damage/reward; strict diagnostics and owned
cleanup zero.
EVIDENCE LEVEL EXPECTED: runtime_verified and agent_visual_reviewed.
COMMIT BOUNDARY: complete source-bound evidence/status push.
LEGAL TERMINAL: P9.10 Step 3 runtime complete.
NEXT STEP: P9.10-STEP-4.
```
### P9.10-STEP-4 EVIDENCE, H5 AND CLOSURE
```text
ID: P9.10-STEP-4
PLAYER OUTCOME: The Owner can play the complete second Contract from one cached
private landscape H5.
IN SCOPE: formal source-bound evidence; 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.
OWNED FILES: docs/runtime/p9_10/H5_DELIVERY.md and durable status only after
evidence source freezes.
ACCEPTANCE CHECKS: exact source binding; full declared markers and recording;
tests/docs/evidence absent from PCK; remote bytes/MIME/cache/304 pass; clean
upstream repository and owned processes zero.
EVIDENCE LEVEL EXPECTED: delivery transport verified; human gates remain open.
COMMIT BOUNDARY: docs-only closure after immutable delivery.
LEGAL TERMINAL: Aetherbound Guild P9.10 Gale Loom and second Contract candidate ready.
NEXT STEP: Owner play and ranked issue intake.
```
## Issue Register
| ID | Status | Finding |
|---|---|---|
| P910-I01 | `RESOLVED_IN_CONTRACT` | P9.9 intentionally locks at Market 4; P9.10 converts only that exact state copy-first and never edits P9.9 authority. |
| P910-I02 | `RESOLVED_IN_CONTRACT` | The commercial catalog already defines Gale Loom as `BO-R1-02`; P9.10 instantiates its gust/spindle grammar without copying reference expression. |
| P910-I03 | `RESOLVED_RUNTIME` | Twenty-seven routes execute nine distinct pressure mechanics; five profiles cover all risks and both state-dependent Boss plans. Human repetition/fun remains separate in P910-I04. |
| P910-I04 | `OPEN_HUMAN` | Automation cannot prove that nine Rounds feel varied, the Boss is readable or the second clear motivates RG-02 continuation. |
## Step 1 Evidence
- Source `c79ae82946b3df35e2e05b63a28542fc21834776` adds an isolated
P9.10 continuation layer and leaves P9.9 source unchanged.
- Ten stable Recruit offers, six one-slot equipment offers, nine Markets and
27 route rows validate. Every route executes a settleable automatic battle;
nine distinct mechanic IDs produce 164 authoritative gust events across the
fixed matrix.
- Exact P9.9 Market 4 migrates copy-first. Optional hires grow the Company from
four to nine while capacity follows `5/6/6/7/7/8/8/9/9/10`; equipment
replacement retains the prior instance and one equipped slot per Recruit.
- Final order proposal/confirmation and nine victories produce one stable
capacity-ten Gale Loom Muster. Ordinary six-Coin defeat recovery is
idempotent.
- Save v5 covers exact v4 migration, Market/Encounter round trips, interruption
to the decision checkpoint, backup recovery, malformed/checksum rejection,
rollback and zero offline value.
- Fresh source-bound evidence is
`/private/tmp/abg-p910-c79ae82-step1-r1/`. Three P9.10 tests and four P9.9
regressions pass strict-clean; its 14-row inventory SHA-256 is
`92b0dc9cb391147de2d0e23adcca3467d8ddbe2ac21af95c592642e3767a97d3`.
- Step 1 is `automated_verified`. Step 2 now owns only Gale Loom execution,
Boss recovery, persistent second close and affected persistence/regressions.
## Step 2 Evidence
- Source `df3e742f8d3a94f6c7638ae113afa83b960034a3` adds isolated Boss
state/battle/close modules and extends Save v5 without modifying P9.3-P9.9.
- Both plans win deterministically with state-dependent value. A projectile
Company clears in `130` ticks with `break_spindle` versus `151` with
`hold_line`; a non-projectile Company clears in `131` with `hold_line`
versus `202` with `break_spindle`.
- Muster preview, spindle reversal, both enemy footprints, short core window,
order movement, rear pressure, half-vitality opposed gusts, timeout and
same-Muster back/reload/recovery all have focused assertions.
- Boss recovery costs exactly 16 Coin, restores only the pre-Boss living HP
checkpoint and rejects insufficient/nonviable cases without partial state.
- Pending close, atomic prior-or-result save recovery, checksum-valid authority
drift, exactly-once 18 Renown, twelve-settlement Company Record and RG-02
unlock pass across reload and duplicate operations.
- Immutable R2 evidence is `/private/tmp/abg-p910-df3e742-step2-r2/`.
Twelve P9.10/P9.9/P9.8/P9.7 markers pass once with strict diagnostics and
owned-process cleanup zero. Inventory SHA-256 is
`04ceb7e9abc2304981d32d2c0de331f7a88c9aa34513cdab0edd4a65434e5985`.
- R1 remains `INVALID_EVIDENCE_HARNESS` and is not reused; its terminal hash is
`e54df4b46e446d480e4e685d5fd5a047675662cfd09c4a4652638f64916255e3`.
- Step 2 is `automated_verified`. Step 3 now owns only runtime presentation,
parsed mobile input, profiles, layouts, recording and affected regressions.
## Step 3 Evidence
- Source `b77b14e839160bdecb48d7a17b60a0135168c0a0` adds the isolated
P9.10 landscape controller, exact P9.9 Market-4 handoff, Save-v5 resume,
`844x390` project viewport and focused runtime/profile/layout/recording tests.
- The uninterrupted success path uses 59 parsed ScreenTouch events and one
ScreenDrag through Markets 4-12, five hires, three equipment decisions,
final reorder, nine automatic battles, Gale Loom, exact close and RG-02.
A second parsed-touch path naturally loses the Boss, pays 16 Coin, preserves
the same Muster and reopens both plans. Fallback/direct input is zero.
- Five profiles record 194 decision timestamps with an 18-second longest gap,
risks 0/1/2, both Boss plans, one Boss defeat/recovery, two interruption
reloads, five exact closes, zero starvation and zero offline rewards.
- Nine normal captures cover Market, ordinary battle, Muster, Boss battle,
recovery, contract result, persistent RG-02, mute and portrait guidance at
`760x360`, `844x390`, `1280x720` and `390x844`, both locales, 130% text,
reduced motion and low power. Compact battle role labels do not overlap.
- MovieWriter records `844x390`, 30 FPS, 795 frames and 26.5 seconds. It shows
numbered gust paths, two footprints, spindle reversal, line movement,
opposed gusts, signed damage and the persistent unlock with zero black
interval.
- Immutable evidence is `/private/tmp/abg-p910-b77b14e-step3-r1/`.
Forty-two isolated headless and two normal programs pass strict-clean. Its
74-row inventory SHA-256 is
`d800167b838e59c4a3db8183363293d881b3191287c0a70d91d529b3066958f8`.
- Step 3 is `runtime_verified + agent_visual_reviewed`. Human understanding,
fun, visual/listening, device and release gates remain open.
## Completion Evidence
- Product, test and export source
`b77b14e839160bdecb48d7a17b60a0135168c0a0` completes the exact P9.9
Market-4 handoff through nine Rounds, Gale Loom, viable recovery and the
persistent RG-02 unlock.
- Step 3 evidence at `/private/tmp/abg-p910-b77b14e-step3-r1/` passes 42
headless plus two normal programs, nine captures and one 26.5-second
recording. Its 74-row inventory SHA-256 is
`d800167b838e59c4a3db8183363293d881b3191287c0a70d91d529b3066958f8`.
- Web R3 at `/private/tmp/abg-p910-b77b14e-web-r3/` exports nine files from
a fresh test-free source archive. Its PCK has 339 paths, all eight P9.10
compiled modules and zero test/docs/evidence/build path. Export manifest
SHA-256 is
`076b867fdc86282b7ba749b3830049f441e987d327c4826d7b57d4c2ac53a743`.
- Web R1 remains `INVALID_HARNESS_COMMAND` and Web R2 remains
`INVALID_EXPORT_ENVIRONMENT`; neither contributes evidence or output to R3.
- Gallery item `WqchGTxRmUh7` preserves all nine identity bytes, serves four
verified gzip representations, applies one-year private immutable cache to
runtime assets and returns nine conditional `304` responses. Gallery
evidence inventory SHA-256 is
`2b21a9d9e5d4431f5db364e4b4e3b96ad5c4662973a42221efd1af53583acc4a`.
- P9.10 is `runtime_verified + agent_visual_reviewed + delivery transport
verified`. Human understanding, fun, visual/listening acceptance, browser
Canvas play, physical devices, native packaging, stores and release remain
open or frozen.