# P9.3 Reference-Fidelity Core Loop Implementation Plan > Status: `COMPLETE` > Active step: `NONE` > Baseline: `9c46112095bb12094ebc4b4c346f22437cccf8c6` > Goal: `docs/goals/PHASE9_3_REFERENCE_FIDELITY_LOOP_GOAL.md` > Contract: `docs/runtime/PHASE9_3_REFERENCE_FIDELITY_LOOP_CONTRACT.md` ## Player Outcome The player recruits a visible person, sees that person join a horizontal line, chooses a materially different enemy group, watches the resulting automatic battle and returns with a visible reward. No card/page wizard mediates the loop. ## Steps | Step | Status | Outcome | Gate | |---|---|---|---| | P9.3-STEP-0 Contract | `COMPLETE` | Owner rejection and replacement loop are bounded. | Goal, contract, plan, checkpoint and ledger agree. | | P9.3-STEP-1 Modular foundation | `COMPLETE` | A separate controller owns Title, Hall, recruit and encounter state without extending the legacy facade. | Source `a1cf290`; three offers and three encounter transactions pass. | | P9.3-STEP-2 Automatic battle | `COMPLETE` | The selected Company and encounter run through fixed-tick combat with actor motion and role feedback. | P9.3 normal runtime plus P9.2 authority/five-profile regressions pass. | | P9.3-STEP-3 Reward return | `COMPLETE` | Outcome and reward commit once; the changed Hall reappears. | Parsed touch reports `touch=7 fallback=0 direct=0`; reward and return persist once. | | P9.3-STEP-4 H5 review | `COMPLETE` | Owner can play the exact candidate remotely. | Gallery `dKq-nbfRY1xB` is byte-identical and the Owner opened the delivered H5. | | P9.3-STEP-5 Owner review | `COMPLETE` | Owner judges UI, picture, operation and battle feel. | Owner accepted the direction and requested continued development. | ## Frozen Only files under `runtime/p9_3/`, the minimal main entry integration, P9.3 tests, P9.3 docs, checkpoint and ledger are owned. Existing P9.0-P9.2 rules, assets and tests remain unchanged unless a focused compatibility repair becomes strictly necessary and is recorded as a new source attempt. ## Current Evidence - Product source: `a1cf2904d0e42661ac4012804ad7b64ae85c1325`. - Source-bound runtime root: `/private/tmp/abg-p93-a1cf290-r6/`. - Domain marker: `ABG_P9_3_REFERENCE_FIDELITY_DOMAIN_OK`. - Runtime marker: `ABG_P9_3_REFERENCE_FIDELITY_RUNTIME_OK` with seven parsed touches and zero fallback/direct callbacks. - Nine normal-render `844x390` frames cover Title, Hall, focused offer, three visible encounters, selection, contact, projectile, result and returned Hall. - P9.0R3 feedback, P9.0R10 six-pair adaptation, P9.2 93-case battle authority and P9.2 five-profile integration regressions pass strict-clean. - H5 delivery details are in `docs/runtime/p9_3/H5_DELIVERY.md`. ## Issue Register | ID | State | Boundary | |---|---|---| | P93-I01 | `FIXED` | Texture controls retained their 256px intrinsic minimum and crowded actors/VFX; source `a1cf290` sets sizing before texture assignment and R6 shows readable play-size composition. | | P93-I02 | `INVALID_HISTORY` | Development capture R3 ran beside one owned stale headless Godot; it was preserved as invalid, the owned PID was terminated, and clean R4/R5 plus source-bound R6 replaced it. | | P93-I03 | `INVALID_HISTORY` | Web attempt R1 hid installed export templates inside an isolated HOME and stopped before product export. Fresh archive attempt R2 maps the read-only installed templates and passes. | | P93-I04 | `CLOSED_BY_OWNER_REVIEW` | No automated browser was connected, but the Owner opened the delivered H5 and accepted the visible direction. Automated browser diagnostics remain unclaimed. | | P93-I05 | `INVALID_HISTORY` | Recording R1 initialized at the old 1280x720 project default; R2 reached 844x390 but retained test teardown gray. Fresh source `73834ab` R3 ends on gameplay at 844x390 for 23.266667 seconds. |