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

14 KiB

FG-2 Production Vertical Slice Implementation Plan

Status: ACTIVE Active step: FG2-STEP-5 Activation baseline: 6ee3765d71b9dcda88bb5bd37163253e7cfb5cd3 Accepted gameplay source: d00c7ad4f960b4498cb4a4f0b88fa8603a1e462b Goal: docs/goals/FG2_PRODUCTION_VERTICAL_SLICE_GOAL.md Contract: docs/runtime/FG2_PRODUCTION_VERTICAL_SLICE_CONTRACT.md

Player-Visible Stopping Point

One canonical Windglass Market-1 route flows through line preparation, event-bound automatic battle, victory or permanent-loss recovery and saved Market 2 with production-direction pixel art, motion, VFX and audio. A fresh H5 at the end is Owner checkpoint 1.

Ordered Steps

Step Status Player outcome Commit boundary
FG2-STEP-0 Contract and audit COMPLETE The exact battle, focal order, pixel direction, media ceiling and evidence gate are frozen. Goal, contract, plan, roadmap, checkpoint and ledger.
FG2-STEP-1 Canonical adapter and graybox COMPLETE One real P10.0 Market/battle path runs through a reusable campaign presentation boundary at the final logical canvas. Adapter/controller, graybox layers, event/input tests and recording probe.
FG2-STEP-2 Identity and environment production COMPLETE Aegis, Scribe, Sprout and Windglass layers have traceable production assets at play size. Asset requests, raw/processed outputs, manifests, validators and normal frames.
FG2-STEP-3 Motion, VFX and game feel COMPLETE Entry, contact, protection, damage, casualty, victory and recovery feel causal and readable. Event presenter, motion manifests, VFX, reduced variants, focused/runtime tests.
FG2-STEP-4 Audio identity and mix COMPLETE Commits, pressure, impacts, casualty, victory and recovery are audible without masking decisions. Original audio candidates, buses, event router, machine checks and mute lifecycle.
FG2-STEP-5 Slice candidate and H5 IN_PROGRESS The Owner can remotely judge the final direction in one stable landscape build. Full regressions, layouts, recording, media audit, Web export and Gallery handoff.

Step Contracts

FG2-STEP-1 CANONICAL ADAPTER AND GRAYBOX

ID: FG2-STEP-1
PLAYER OUTCOME: The real Company and enemy meet in one continuous world scene;
  the player can see order, target, cause, result and recovery without app cards.
IN SCOPE: runtime/campaign state/event adapter; one P10.0 Market-1 fixture;
  production-slice controller; logical-grid layer roots; parsed touch/drag;
  graybox motion and fixed recording probe; focused P10.0 regressions.
OUT OF SCOPE: new gameplay, economy, Save changes, generated media, audio,
  later Markets/Regions, H5 and release.
OWNED FILES: new runtime/campaign modules/scenes; narrow main entry flag or
  handoff only; tests/fg2 and UIDs; durable closure after pushed source.
ACCEPTANCE CHECKS: source snapshot/event hashes stay exact; risk-zero success
  and named wounded/high-risk recovery fixtures match P10.0; no duplicated
  authority; 844x390 uses
  the declared logical grid; world-first focal order; controls >=48px; parsed
  Touch/Drag only; fixed 15-30s graybox recording; strict diagnostics zero.
EVIDENCE LEVEL EXPECTED: automated_verified + runtime graybox evidence.
COMMIT BOUNDARY: focused source/test push, fixed-source evidence, docs closure.
LEGAL TERMINAL: FG-2 Step 1 canonical graybox complete.
NEXT STEP: FG2-STEP-2.

Step 1 may not edit any P10.0-P10.3 domain, economy, save, content or accepted test file. A narrow runtime/main.gd handoff may select the canonical campaign controller but may not translate gameplay state itself.

Step 1 product source 197814df079a56b7013d0aa0020c6bdac592bda1 adds the campaign adapter, deterministic success/failure fixtures, five logical world layers and parsed touch/drag graybox controller without changing P10.0-P10.3 authority. Recording-fix source af1c8ee73fb3bfb2428e2287abd61d38a16d9136 changes only the final-frame recording hold.

R1 at /private/tmp/abg-fg2-197814d-step1-r1/evidence/ is append-only INVALID_RECORDING_TEARDOWN; its gray cleanup frame is not reused. Fresh R2 at /private/tmp/abg-fg2-af1c8ee-step1-r2/evidence/ passes 7/7 headless programs, seven normal-render fixtures and a 20.5s MovieWriter recording. Touch/Drag are 9/1 in the complete runtime flow and 5/1 in the recording; fallback/direct, strict diagnostics and black intervals are zero. Audit SHA-256 is 6c33961c6ffd1e7c1221ade91f431d1648450d3e08a137df13cfba6393ab0c00; the 27-row inventory SHA-256 is 553179f7e2fa2be24545d152464b9de67ec918839e4d6f57614c0f8ad7552252.

FG2-STEP-2 IDENTITY AND ENVIRONMENT PRODUCTION

ID: FG2-STEP-2
PLAYER OUTCOME: The route, allied role and enemy pressure read as authored game
  content at actual size before animation or effects explain them.
IN SCOPE: exact bounded asset inventory; low-grid environment layers; Aegis and
  Scribe/Sprout identity locks; required motion within the paid image ceiling;
  deterministic processing, palette/pivot QA, manifests and runtime import.
OUT OF SCOPE: bulk assets, other Professions/enemies/Regions, video, paid audio.
OWNED FILES: assets/fg2 source/processed/runtime paths, generation records,
  processing/verification tools and narrow media registry integration.
ACCEPTANCE CHECKS: low-grid origin, hard clusters, limited palette, no crop/
  fringe/debris, stable baseline and identity, manifest-driven frames, correct
  import/filtering, current normal-render source visible at play size.
EVIDENCE LEVEL EXPECTED: processed + imported + integrated + runtime_seen.
COMMIT BOUNDARY: asset/tool commit, fixed-source visual evidence, docs closure.
LEGAL TERMINAL: FG-2 Step 2 production identities complete.
NEXT STEP: FG2-STEP-3.

Image generation begins with a dry-run and a written request ledger. Maximum paid use for this Goal is four calls and USD 5 total. A fifth call is not an automatic retry; it requires a new Owner decision.

Step 2 source ab525b9f5be09ebab6bef9421f8d0636cee3adcb retains four provider reports at total cost USD 0.056, including the rejected detached- shield Aegis source. Deterministic local processing produces nine environment plates and 14 safe-cell actor frames; manifest SHA-256 is 6dce730a0991e80fc228b50ac82ef5bed121a81c83265a08a3339f356bb18db5. R1 at /private/tmp/abg-fg2-ab525b9-step2-r1/evidence/ is append-only INVALID_EVIDENCE_CAPTURE because its successful import output was not retained. Fresh R2 at /private/tmp/abg-fg2-ab525b9-step2-r2/evidence/ passes all six markers, six normal-render frames and strict diagnostics zero. Audit SHA-256 is 82ac47fd5e5537bc80d9e4aec00b6f387784b8efb807908dd0285aa2a8c06ea1; the 18-row inventory SHA-256 is c678d578707c4ccd1651ae8a3695c0c71fa0e6771649ebdb9f5a0a8c99a01791.

FG2-STEP-3 MOTION, VFX AND GAME FEEL

ID: FG2-STEP-3
PLAYER OUTCOME: The player can read anticipation, collision, protection,
  damage, loss and recovery from bodies and state change, not text or particles.
IN SCOPE: manifest-driven actor states; event presentation adapter; actor-local
  VFX/values; hit pause; restrained shake; state cleanup; accessibility modes.
OUT OF SCOPE: simulation timing/results, new assets outside the fixed inventory,
  audio, H5, device or release.
OWNED FILES: campaign presenter/VFX modules, bounded shaders/materials, tests.
ACCEPTANCE CHECKS: exact event-to-motion mapping; no false success; all effects
  return to rest; input remains active; overlaps capped; reduced motion/flashes
  and low power preserve facts; busy-state recording stays readable.
EVIDENCE LEVEL EXPECTED: runtime_verified + agent_visual_reviewed for motion.
COMMIT BOUNDARY: focused source/test push, fixed runtime evidence, docs closure.
LEGAL TERMINAL: FG-2 Step 3 motion and game feel complete.
NEXT STEP: FG2-STEP-4.

Step 3 product source 3fff7d0179faf54408c31c15daa6e1344dfde838 adds the event presenter, motion manifest, actor-local values/VFX, bounded hit pause and shake, accessibility variants and focused motion evidence. Final evidence source aa4dc4297955a561c7a735ec17efb3cc46f558c5 adds only successful-receipt-bound protected-recovery feedback.

Fresh fixed-source R1 is /private/tmp/abg-fg2-aa4dc42-step3-r1/evidence/. Six headless programs, nine native 844x390 captures and one MovieWriter program produce eight exact markers with strict diagnostics, black intervals and owned processes zero. The recording is 630 frames / 21 seconds at 30 FPS, with Touch/Drag 5/1, fallback/direct zero and actor frame diversity 6/4/4. Runtime Touch/Drag remain 9/1. Motion-manifest SHA-256 is e17b9d528de0b6aa438d9f08291f8a1569793ea0277c6c9edfd839e4a9afcf13; audit SHA-256 is d9556da30cb8a16d6e7071a333b495c9bd595597c4a52ca38823bb4aef9123cb; the 31-row inventory verifies completely with SHA-256 c23cdb594b7161cd23a186d22282aed605c3f06692ed05ed252504477429dea0. Step 3 reaches automated_verified + runtime_verified + agent_visual_reviewed for the bounded motion slice. Audio and all human, H5, device and release gates remain open or frozen.

FG2-STEP-4 AUDIO IDENTITY AND MIX

ID: FG2-STEP-4
PLAYER OUTCOME: The player hears commit, pressure, protection, loss, result and
  recovery while routine automatic impacts remain secondary.
IN SCOPE: original local music/ambience/SFX candidates; bus routing; event IDs;
  pooling/rate limits/ducking; mute and lifecycle; machine audio checks.
OUT OF SCOPE: paid ElevenLabs, voice, generative video, complete soundtrack,
  gameplay timing, device listening or release.
OWNED FILES: bounded audio sources/processed runtime files, generation tool,
  audio manifest/router/bus layout, tests and evidence.
ACCEPTANCE CHECKS: declared codecs/durations/peaks/silence/seams; exact event
  binding; duplicate suppression; priority/ducking; mute and low-power preserve
  simulation; no clipped or missing required cue in runtime recording.
EVIDENCE LEVEL EXPECTED: integrated + runtime_seen + machine_audio_checked.
COMMIT BOUNDARY: audio/tool/source push, fixed runtime/machine evidence, docs.
LEGAL TERMINAL: FG-2 Step 4 audio candidate complete.
NEXT STEP: FG2-STEP-5.

Step 4 product source 038a064783500b45331556a91faf09029175ca8b adds nine deterministic local PCM assets, the audio manifest and router, exact receipt/event binding and focused audio tests. Final evidence source 7e40c2df8718a693937345f7d05e9564b0d89c83 only strengthens the recording test to require exact parsed Touch/Drag counts.

R1 at /private/tmp/abg-fg2-7e40c2d-step4-r1/evidence/ remains append-only INVALID_EVIDENCE_FINALIZATION: process-facts.txt changed after inventory generation, so one of 26 hashes no longer matched and its PASS files are not reused. Fresh R2 is /private/tmp/abg-fg2-7e40c2d-step4-r2/evidence/. Nine audio assets and eight focused programs pass; the 844x390 MovieWriter recording is 804 frames / 26.8 seconds with Touch/Drag 6/1, seven required cues, six event families, strict diagnostics, black intervals, clipping, fallback/direct and owned processes all zero. The PCM track is 48 kHz stereo with peak -6.2418 dBFS, RMS -28.8908 dBFS and non-silent ratio 0.11849. Audit SHA-256 is 5607218904a0cec8363f54f3463ef162f16878eede91290c975f39c9b74f5c92; the complete 26-row inventory verifies with SHA-256 39ac4c7f02c903a9cac8d4a5d5f04d1a5b771f6e7d694000f6aab0f7b9c8e9f4. Step 4 reaches integrated + runtime_seen + machine_audio_checked. Human listening and all other human, H5, device and release gates remain open or frozen.

FG2-STEP-5 SLICE CANDIDATE AND H5

ID: FG2-STEP-5
PLAYER OUTCOME: The Owner can open one stable remote build and judge the final
  visual, motion, audio and game-feel direction without developer coaching.
IN SCOPE: full regressions; five relevant behavior fixtures; Save/layout/input/
  accessibility matrices; 15-30s final recording; media provenance audit;
  runtime-only Web export, cache configuration and Gallery deployment.
OUT OF SCOPE: native packaging, devices, signing, stores, publishing, bulk art.
OWNED FILES: candidate tests/evidence, Web export metadata, H5 delivery docs.
ACCEPTANCE CHECKS: immutable clean source; all declared markers; strict logs;
  target-size frames; parsed touch/drag; audio machine checks; source-bound H5;
  clean/upstream and owned process cleanup.
EVIDENCE LEVEL EXPECTED: runtime_verified + agent_visual_reviewed +
  machine_audio_checked; human gates remain open for checkpoint.
COMMIT BOUNDARY: candidate source/evidence closure and H5 handoff push.
LEGAL TERMINAL: Aetherbound Guild FG-2 production vertical slice ready for
  Owner checkpoint.
NEXT STEP: wait for Owner checkpoint 1 judgment before bulk Region production.

Issue Register

ID Status Boundary
FG2-I01 RESOLVED_CONTRACT Latest workspace rules require true low-grid pixel art; older non-pixel runtime assets remain references/temporary only.
FG2-I02 RESOLVED_STEP_1 The campaign adapter preserves exact P10.0 source/event hashes and forwards all state changes to existing services.
FG2-I03 RESOLVED_STEP_2 Four calls cost USD 0.056; one Aegis source was rejected and the corrected Aegis, two enemies and three Windglass layers pass the runtime media gate.
FG2-I06 RESOLVED_CONTRACT Fixed Market-1 order reversal does not change outcome; recovery uses a named wounded/high-risk fixture and never a forced result.
FG2-I04 RESOLVED_STEP_4 Nine local original assets, exact event routing and the MovieWriter PCM track pass the machine/runtime gate without claiming human listening.
FG2-I05 OPEN_OWNER Human visual, motion, audio, comprehension and fun judgment occurs only at the final FG-2 H5 checkpoint.