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

218 lines
13 KiB
Markdown

# FG-3 Complete RG-02 Implementation Plan
> Status: `ACTIVE`
> Active step: `FG3-STEP-5`
> Activation baseline: `2f1fcd0ef0effbc804101eb62142f8596f904fe0`
> Goal: `docs/goals/FG3_COMPLETE_RG02_GOAL.md`
> Contract: `docs/runtime/FG3_COMPLETE_RG02_CONTRACT.md`
## Player-Visible Stopping Point
Starting from exact saved Market 8, the player completes both Siltwake
Contracts and Bosses, preserves losses and growth, and reloads with RG-03
visibly unlocked through the accepted FG-2 game presentation.
## Ordered Steps
<!-- markdownlint-disable MD013 -->
| Step | Status | Player outcome | Commit boundary |
| --- | --- | --- | --- |
| `FG3-STEP-0` Contract and audit | `COMPLETE` | Owner continuation, complete Region boundary and evidence route are frozen. | Goal, contract, plan, roadmap, checkpoint and ledger. |
| `FG3-STEP-1` Contract-1 content and boards | `COMPLETE` | Market 8-12 offers truthfully prepare the remaining ordinary pressure and first Boss. | Source `0208471`; four immutable-source tests pass. |
| `FG3-STEP-2` Contract-1 execution and Boss | `COMPLETE` | The surviving Company clears Round 12 and defeats or recovers from Sluiceback Mother. | Source `74dab24`; nine immutable-source tests pass. |
| `FG3-STEP-3` Contract-2 content and state | `COMPLETE` | The first Record opens a complete second twelve-Round Contract without resetting the Company. | Source `06d8f9c`; 11 immutable-source tests pass. |
| `FG3-STEP-4` Contract-2 execution and Region close | `COMPLETE` | The player defeats The Drowned Bell and reloads two Records plus RG-03. | Source `059bb33`; 13 immutable-source tests pass. |
| `FG3-STEP-5` Production runtime | `IN_PROGRESS` | The complete Region uses the accepted world-first art, motion, VFX and audio direction. | Compatible adapters, runtime states, parsed input and media coverage. |
| `FG3-STEP-6` Profiles and candidate | `PENDING` | Five policies prove the full Region is paced, recoverable and persistence-safe. | Simulation, matrices, recording, immutable evidence and closure. |
<!-- markdownlint-enable MD013 -->
## FG3-STEP-1 Contract
```text
ID: FG3-STEP-1
PLAYER OUTCOME: Markets 8-12 disclose timing, movement, link and Boss-preparation
consequences before the player spends or commits a route.
IN SCOPE: EQ-065..080; AR-009/010/013/014 plus inherited Artifact references;
both Boss identities; 15 Contract-1 routes; five 3/4/3 Market boards;
bilingual copy; deterministic hashes; focused content/board tests.
OUT OF SCOPE: state mutation, Save v10, battle execution, Boss execution,
presentation, new media, Contract 2, H5 and release.
OWNED FILES: new runtime/fg3 catalog/registry/board modules, focused tests and
tracked UIDs; durable closure after pushed source.
ACCEPTANCE CHECKS: exact IDs and counts; source references resolve; same inputs
are byte-identical; changed seed changes owned identities; refresh changes
only Recruit/equipment rows; route/Boss facts never reroll; all reward and
capacity values match authority; malformed IDs/counts/formulas reject;
P10.3 content/Market regressions pass.
EVIDENCE LEVEL EXPECTED: automated_verified for content authority.
COMMIT BOUNDARY: focused source/test push, fixed-source evidence, docs closure.
LEGAL TERMINAL: FG-3 Step 1 Contract-1 content and boards complete.
NEXT STEP: FG3-STEP-2.
```
## Completed Step Evidence
### FG3 Step 1 Contract-1 Content And Boards - 2026-08-16
- Source `0208471d5b7bfbc070457c1708a389dd054ba5e4` adds only the
isolated FG-3 catalog, validator, Market generator, two focused tests and
their tracked UIDs.
- Sixteen equipment rows complete `EQ-041..080`; four new Artifact rows plus
inherited `AR-011/012/015` complete the seven-ID Region pool. Both Boss
identities, 15 routes and five Market boards have exact bilingual authority.
- Markets 8-12 use exact `3/4/3` boards, capacities `7/8/8/9/9`, offer levels
`3/3/4/4/4` and rewards `36..58`. Refresh changes Recruit/equipment rows
only; route, tide and fixed `BO-R2-01` facts never reroll.
- R1 at `/private/tmp/abg-fg3-0208471-step1-r1/evidence/` is append-only
`INVALID_PROCESS_POSTFLIGHT`: its process query counted the controlling shell
and `rg` command as Godot. Its functional results are not reused.
- Fresh R2 is `/private/tmp/abg-fg3-0208471-step1-r2/evidence/`. Two FG-3 tests
and two P10.3 regressions pass with strict diagnostics and owned processes
zero. Audit SHA-256 is
`a1e43f049c65416b111880d04df6c031f89d50af7eb3521ccabb6a14cafe5d25`;
inventory SHA-256 is
`bc3505255ab6b6a5a995266511db0e27b3d44f5cc75d4578d8d50d74ab9dea48`.
- Step 1 reaches `implemented + automated_verified`. Save, battle, Boss and
presentation facts remain unclaimed.
### FG3 Step 2 Contract-1 Execution And Boss - 2026-08-16
- Source `74dab244fc091e1e40a1e77933ad359368819096` adds Save v10,
complete Contract-1 state, deterministic route/Boss battle authority,
revision-bound transaction service, one real P10.3 Market-8 fixture and
focused Save/round/Boss tests.
- Save migration preserves exact Guild, Company, Recruit growth, equipment,
economy, Artifact, promotion and seven-route state. Active/backup corruption,
rollback, candidate interruption and all six zero-offline deltas pass.
- Rounds 8-12 settle exact Coin/XP and capacities `8/8/9/9/10`. Defeat removes
one Fallen Recruit permanently, returns equipment, grants bounded Credit and
recovers to the same board without reroll or resurrection.
- `BO-R2-01` exposes two legal plans and fixed index/egg facts. Victory pays no
Coin, grants first-clear Renown `16`, writes one `CLEAR-RG02-C01` Company
Record and opens `CTR-R2-02` in the same Run.
- R1 `/private/tmp/abg-fg3-74dab24-step2-r1/evidence/` remains append-only
`INVALID_EVIDENCE_FINALIZATION` because a post-inventory check file was left
outside its 16-row inventory.
- Fresh R2 `/private/tmp/abg-fg3-74dab24-step2-r2/evidence/` passes a clean
import, five FG-3 programs and four P10.3 regressions with strict diagnostics
and owned Godot processes zero. Audit SHA-256 is
`a7c8ba5f7a7338c044ef16ebd94e9b48a6cef6c2cdd1e3133cc3d9793d27e8ad`;
inventory SHA-256 is
`c773f542b71fb0b2137a961a31c32e16f56b62927a43fbd6c086eea19117a183`.
- Step 2 reaches `implemented + automated_verified`; it makes no presentation,
simulation, human, H5, device or release claim.
### FG3 Step 3 Contract-2 Content And State - 2026-08-16
- Source `06d8f9ca978a710db81fc129b6093b099ebdf0b5` extends the unified
FG-3 graph with one second-Contract identity, 12 authored Market blueprints,
36 generated stable route rows, deterministic board generation and one
revision-bound handoff activation service.
- All 12 enemy identities remain exercised. Boards use exact `3/4/3` shape,
capacity ten, offer levels `1..4`, Region-band rewards and four disclosed
three-position pulse Markets. `BO-R2-02` remains fixed and non-executable.
- The real first Contract close enters Market 1 while preserving Company,
growth, one-slot equipment, economy, Artifact and persistent records exactly.
Save v10 roundtrips and rejects contract/pulse drift.
- Fresh R1 `/private/tmp/abg-fg3-06d8f9c-step3-r1/evidence/` passes a clean
import, seven FG-3 programs and four P10.3 regressions with strict diagnostics
and owned Godot processes zero. Audit SHA-256 is
`dfe81a514965397e55c705e8733e5a60a2714ca2be2d993958148abfa6320b39`;
inventory SHA-256 is
`5240b46296f8260132602f2caebfcbf91ff9e76832b1ca305d8d2f7fed81660d`.
- Step 3 reaches `implemented + automated_verified`; no second-Contract battle,
Boss, RG-03, presentation, simulation, human, H5, device or release claim is
made.
### FG3 Step 4 Contract-2 Execution And Region Close - 2026-08-16
- Source `059bb33cc8c26abc4aefce868180a02bb1dd3037` adds the complete
Contract-2 battle/transaction authority, extends Save-v10 phase invariants,
continues the real Contract-1 fixture and adds two focused tests.
- Twelve ordinary victories grant exact Coin/XP and retain 24 total route
records. All 36 routes have two state-conditional viable responses; four
plans change rank across Markets, all seven Artifacts change comparison, and
two fixed states reverse the best plan.
- Ordinary and Boss defeat permanently remove the Fallen Recruit, return their
equipment and recover to the exact board or Muster without resurrection.
Prepare, settle, recovery and close retries are inert and tampered battle
snapshots reject against deterministic replay.
- Drowned Bell exposes its pair link, third-pulse triple and exactly two legal
plans. Victory pays zero Coin, writes `CLEAR-RG02-C02`, grants first-clear
Renown `20`, creates the second twelve-route Company Record and unlocks
RG-03 exactly once. Result, recovery and closed states roundtrip Save v10
with zero offline value.
- R1 `/private/tmp/abg-fg3-059bb33-step4-r1/evidence/` is append-only
`INVALID_EVIDENCE_FINALIZATION`: all tests ran, but the harness referenced
absent `/usr/local/bin/jq` before writing its audit. Its 20-row INVALID
inventory SHA-256 is
`cf5964d28d956cde9de8c5192774e0b1f9a90ea3f1b2c02d154aab6e87796ed7`.
- Fresh R2 `/private/tmp/abg-fg3-059bb33-step4-r2/evidence/` uses a new archive,
isolated import and new tests. All 13 markers pass; import and aggregate
strict diagnostics, UID warnings and Godot postflight are zero. Audit
SHA-256 is
`d873887ef3c7621f1338d0068fe9839645348159f73e3f7dc06968d2dd95b17b`;
the complete 20-row inventory verifies with SHA-256
`393c3adf0bd5a1b9e2d171157fbd58585dfdaf439dccd528543adac2a3ae2a28`.
- Step 4 reaches `implemented + automated_verified`; presentation, simulation,
human, H5, device and release gates remain open or frozen.
## FG3-STEP-5 Contract
```text
ID: FG3-STEP-5
PLAYER OUTCOME: The player sees one continuous landscape game from saved Market
8 through both Siltwake Bosses, both Records and the visible RG-03 unlock.
IN SCOPE: compatible FG-3 adapters over the accepted FG-2 controller; Market,
ordinary battle, loss/recovery, both Bosses, Contract handoff, both Records
and Region-close runtime states; exact event forwarding; existing production
art/motion/VFX/audio reuse; bilingual copy; parsed ScreenTouch/ScreenDrag;
required landscape, text-scale, accessibility and resource-mode fixtures.
OUT OF SCOPE: battle/economy/Save/content formulas, a replacement card page,
simulations, H5, native packages, devices, signing, stores and release.
OWNED FILES: bounded runtime/campaign FG-3 adapters and presenter extensions,
focused runtime tests/tools and only the media bindings required by those
accepted assets; durable closure after pushed source.
ACCEPTANCE CHECKS: all runtime receipts match Step-4 snapshots; no second event
authority; Market 8, ordinary victory, ordinary loss/recovery, BO-R2-01,
Contract-2 Market, BO-R2-02, both Records and RG-03 are distinct normal
states; controls use parsed touch/drag with fallback/direct zero; required
landscape/locale/130%/reduced-motion/mute/low-power cases have no overflow;
event-bound motion, VFX and audio cover decisive pulse/link/fallen/result
events; inherited FG-2 and Step-4 regressions pass strict-clean.
EVIDENCE LEVEL EXPECTED: runtime_verified plus supporting agent visual and
machine audio checks for the complete Region.
COMMIT BOUNDARY: focused adapter/test/media-binding source push, fixed-source
runtime evidence, docs closure.
LEGAL TERMINAL: FG-3 Step 5 production runtime complete.
NEXT STEP: FG3-STEP-6.
```
## Later Step Boundaries
- Step 2 alone owns Save-v9-to-v10 migration, Rounds 8-12, `BO-R2-01`, first
Record and exact Contract-2 handoff.
- Step 3 alone owns the second Contract's 36 route rows, deterministic boards
and stable state/save extension; it cannot execute battle.
- Step 4 alone owns second-Contract execution, `BO-R2-02`, second Record and
RG-03 unlock.
- Step 5 may extend FG-2 presentation adapters but cannot change simulation or
settlement facts.
- Step 6 may add only simulation, candidate and evidence harness code unless a
declared gate exposes a product failure.
## Issue Register
<!-- markdownlint-disable MD013 -->
| ID | Status | Boundary |
| --- | --- | --- |
| `FG3-I01` | `RESOLVED_CONTRACT` | Existing P10.1-P10.3 content is inherited by ID; FG-3 adds only missing rows and one complete graph instead of copying formulas. |
| `FG3-I02` | `RESOLVED_STEP_2` | Save v10 preserves exact Save-v9 Market 8 and recovery retains the same first Boss Muster without reroll. |
| `FG3-I03` | `RESOLVED_STEP_4` | Drowned Bell has two state-dependent plans; 36 routes, four response plans and seven Artifacts pass fixed counterfactuals before Region close. |
| `FG3-I04` | `IN_PROGRESS_STEP_5` | Complete Region presentation must reuse FG-2 world-first adapters and avoid app/card fallback. |
<!-- markdownlint-enable MD013 -->