docs(fg2): close owner checkpoint delivery
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
> Status: `ACTIVE`
|
||||
> Owner-approved: `2026-08-16`
|
||||
> Active phase: `FG-2 Production vertical slice and canonical runtime`
|
||||
> Active phase: `FG-2 Owner checkpoint 1`
|
||||
> Program Goal: `docs/goals/AETHERBOUND_GUILD_COMPLETE_DEVELOPMENT_GOAL.md`
|
||||
> Active milestone plan: `docs/runtime/fg2/IMPLEMENTATION_PLAN.md`
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
Save-v9/layout candidate matrix pass from fixed source `d00c7ad`.
|
||||
- The current formal campaign is therefore about 2.3 of 16 Contracts, while
|
||||
the reusable systems are farther advanced than the campaign content.
|
||||
- FG-2 production art and motion are runtime-verified through source `aa4dc42`;
|
||||
original event-bound audio is machine-checked through `7e40c2d`. Only the
|
||||
complete immutable slice candidate and final H5 checkpoint remain before
|
||||
bulk production.
|
||||
- FG-2 is locally complete at immutable source `3302134`. Candidate, Release
|
||||
Web and real-browser-touch evidence pass, and private Gallery item
|
||||
`GA9__qV4NWw5` is ready for Owner checkpoint 1. Human visual, motion, audio,
|
||||
comprehension and fun judgment remains open before bulk production.
|
||||
|
||||
## Program Sequence
|
||||
|
||||
@@ -32,7 +32,7 @@ Only one phase and one child-plan step may be `IN_PROGRESS`.
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `FG-0` Program activation | `COMPLETE` | Development has one visible endpoint and ordered route. | Program Goal, roadmap, checkpoint and ledger. | Clean pushed planning commit. | Approved 2026-08-16. |
|
||||
| `FG-1` Finish P10.3 | `COMPLETE` | Clear Siltwake Rounds 5-7, choose an Artifact, optionally promote and reload at changed Market 8. | Existing P10.3 Steps 3-5 only. | Battle counterfactuals, five profiles, save/layout matrix, parsed-touch runtime and recording. | No pause. |
|
||||
| `FG-2` Production vertical slice and canonical runtime | `IN_PROGRESS` | One Market -> preparation -> battle -> result/recovery chain looks, moves and sounds like the final game. | Canonical runtime/state integration; final-direction landscape UI; representative actor/enemy animation; event-bound VFX; first music/SFX mix; production asset pipeline. | Functional regressions, 15-30 second normal-render recording, target-size frames, machine media checks and H5 review build. | **Checkpoint 1: visual, motion, audio and game-feel direction.** |
|
||||
| `FG-2` Production vertical slice and canonical runtime | `OWNER_CHECKPOINT` | One Market -> preparation -> battle -> result/recovery chain looks, moves and sounds like the final game. | Canonical runtime/state integration; final-direction landscape UI; representative actor/enemy animation; event-bound VFX; first music/SFX mix; production asset pipeline. | Functional regressions, 15-30 second normal-render recording, target-size frames, machine media checks and H5 review build. | **Checkpoint 1: visual, motion, audio and game-feel direction.** |
|
||||
| `FG-3` Complete RG-02 | `PENDING` | Finish both Siltwake Contracts, both Bosses and unlock RG-03 with a changed persistent Guild. | Remaining `EQ-065..080`, `AR-009..015`, both RG-02 Bosses, Round 8-12 and complete second Contract content, art and audio. | Two full Contract simulations, Boss counterfactuals, migration, continuous runtime and content coverage. | No pause. |
|
||||
| `FG-4` Complete RG-03 and RG-04 | `PENDING` | Master delayed heat/construct pressure, then copied actions and archive clauses across four new Contracts. | `EQ-081..160`, `AR-016..030`, `EN-R3/R4`, four Bosses, environments, actors, VFX and regional music/SFX. | Chapter-sized content audits, five profiles per Region, full regression, runtime and asset/audio provenance. | **Checkpoint 2: midgame depth, clarity and continuation.** |
|
||||
| `FG-5` Complete RG-05 and RG-06 | `PENDING` | Adapt to echoes, rear intrusion, moving rail order and airborne timing across four Contracts. | `EQ-161..240`, `AR-031..045`, `EN-R5/R6`, four Bosses and complete production media. | Same content, balance, save, runtime, accessibility and media gates as FG-4. | No pause. |
|
||||
@@ -99,6 +99,6 @@ signing, device installation, stores and publishing remain outside this plan.
|
||||
|
||||
## Immediate Next Action
|
||||
|
||||
Implement FG2 Step 5 only: run the complete immutable slice regressions,
|
||||
fixtures, layout/input/accessibility matrix, final recording and media audit,
|
||||
then create one runtime-only cached H5 and private Owner-checkpoint handoff.
|
||||
Owner plays Gallery item `GA9__qV4NWw5` without coaching and reports the
|
||||
earliest unclear or weak visual, motion, audio, comprehension or game-feel
|
||||
boundary. FG-3 remains pending until that checkpoint judgment.
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
# FG-2 Production Vertical Slice H5 Delivery
|
||||
|
||||
> Status: `READY_FOR_OWNER_CHECKPOINT_1`
|
||||
> Product/test/export source: `3302134f31d1e9315e743923af39d3f64aaad5ab`
|
||||
> Gallery item: `GA9__qV4NWw5`
|
||||
> Candidate evidence: `/private/tmp/abg-fg2-3302134-step5-r2/evidence/`
|
||||
> Web evidence: `/private/tmp/abg-fg2-3302134-web-r2/evidence/`
|
||||
> Browser evidence: `/private/tmp/abg-fg2-3302134-web-browser-r1/`
|
||||
|
||||
## Playable Scope
|
||||
|
||||
This landscape H5 is the first production-direction sample of the canonical
|
||||
Windglass flow:
|
||||
|
||||
```text
|
||||
physical Market 1 route workspace
|
||||
-> review the automatic Company order and disclosed route pressure
|
||||
-> commit the route through raw browser touch
|
||||
-> watch entry, anticipation, contact, guard, damage and Fallen feedback
|
||||
-> hear event-bound music, ambience and semantic combat cues
|
||||
-> settle the result into visible saved Market 2
|
||||
```
|
||||
|
||||
It is a bounded presentation checkpoint, not the complete campaign. Remaining
|
||||
Regions, Contracts, Professions, enemies and equipment are not yet produced in
|
||||
this visual/audio direction.
|
||||
|
||||
## Release-Safe Repair
|
||||
|
||||
Native debug evidence initially passed while the first Web Release rendered a
|
||||
blank Canvas. The root cause was required fixture and Market mutations nested
|
||||
inside `assert(...)`; Godot Release removes assertions and therefore skipped
|
||||
those calls. Source `3302134` executes every mutation before checking its
|
||||
result and adds a Release-safe fixture regression. No gameplay formula, result,
|
||||
economy, Save schema or content row changed.
|
||||
|
||||
## Immutable Candidate
|
||||
|
||||
Fresh candidate R2 passes 39/39 headless programs: 18 P10.0, 10 P9.10 and 11
|
||||
FG-2 checks. Sixteen native-size captures are nonblank and cover Market,
|
||||
battle, reward, recovery and saved Market 2 across the required landscape,
|
||||
locale, text-scale and accessibility states.
|
||||
|
||||
The final `844x390`, 30 FPS recording is 636 frames / 21.2 seconds. It records
|
||||
five parsed ScreenTouch events, one parsed ScreenDrag, four exact-once raw
|
||||
touch activations and zero fallback/direct path. Strict diagnostics, black
|
||||
intervals, clipped audio samples and owned post-run processes are zero.
|
||||
|
||||
Candidate inventory SHA-256:
|
||||
`3730472e8de992fd340f4742c645d9bf2c9222d32d07aae195a00017066b53e2`.
|
||||
Candidate audit SHA-256:
|
||||
`329db4047e4a8bc41add4c5fc5edc17095356745440e9ea3faf748db5cb137c7`.
|
||||
|
||||
Agent visual review passes the bounded presentation at the current evidence
|
||||
level. This does not grant human visual, motion, comprehension, fun or listening
|
||||
acceptance.
|
||||
|
||||
## Runtime-Only Export
|
||||
|
||||
Web R2 was exported from a fresh Git archive of exact source `3302134`. All 365
|
||||
`runtime/tests` files were physically removed before isolated import. The PCK
|
||||
enumerates 518 runtime paths, includes the required campaign media manifests
|
||||
and compiled controller/router modules, and contains zero test, docs, evidence
|
||||
or build path.
|
||||
|
||||
<!-- markdownlint-disable MD013 -->
|
||||
|
||||
| File | Bytes | SHA-256 |
|
||||
| --- | ---: | --- |
|
||||
| `index.apple-touch-icon.png` | 11,952 | `9b374ecbc8558f480421e646f38aaa8a69d5b1d65ff7b48d0735da214c46773a` |
|
||||
| `index.audio.position.worklet.js` | 2,973 | `be33985bc7160d6bf9646f259cd86b259cd67b02ccb297ee5c44f8ac84327bc8` |
|
||||
| `index.audio.worklet.js` | 7,298 | `5b476a9c9ce642c0ee4256436d1bc31d9c38f868aca0f9a8e2a57c18d2dec2a3` |
|
||||
| `index.html` | 5,915 | `79e40b204dfc9ffecd890419d7d2d222b269963ec307319e6720047ccd000914` |
|
||||
| `index.icon.png` | 5,702 | `08808dd5397e9a502cb3624944151f87a9705b5b66b5c365c5ca4c6ab51525f5` |
|
||||
| `index.js` | 315,759 | `e3f56ee40e6f84371053db06692cfac15e2c8659547b11c6b2dfa1996dabd981` |
|
||||
| `index.pck` | 22,057,420 | `e8178967dbac02a8b080014276b211d8803d3b364d00bdf8973837692c2c63cf` |
|
||||
| `index.png` | 21,443 | `3cb4495c0b98dfbe4b663cbf2b6836473572339beb66d902367893162a70be0e` |
|
||||
| `index.wasm` | 37,685,705 | `99962b29677e42f3ba0258bd90fdc52ad90295954c4473e816ad02cfe5ff1d4f` |
|
||||
|
||||
<!-- markdownlint-enable MD013 -->
|
||||
|
||||
Export manifest SHA-256:
|
||||
`fb1019b8b21faa2c26808f2ac676584686adafe562e3171ffd00836d0f85d413`.
|
||||
PCK SHA-256:
|
||||
`e8178967dbac02a8b080014276b211d8803d3b364d00bdf8973837692c2c63cf`.
|
||||
Web evidence inventory SHA-256:
|
||||
`4d00a8d4653deea8cf1fbf04eb6db54b67a69b87f8edb560d4c8ae1b3dfc8c44`.
|
||||
|
||||
## Browser And Gallery Verification
|
||||
|
||||
A real Chrome WebGL Canvas at `844x390` reaches distinct nonblank Market,
|
||||
battle and result states through raw browser touch. Startup product errors are
|
||||
zero. Private Gallery item `GA9__qV4NWw5` preserves the nine runtime payloads
|
||||
byte-for-byte.
|
||||
|
||||
- Gallery health and the signed entry return HTTP `200`.
|
||||
- HTML uses a 300-second private cache.
|
||||
- PCK, WASM and other runtime payloads use one-year private immutable cache,
|
||||
representation ETags and `Vary: Accept-Encoding`.
|
||||
- Identity and deterministic-gzip conditional requests return bodyless HTTP
|
||||
`304`.
|
||||
- The signed share token is intentionally omitted from Git and retained
|
||||
evidence.
|
||||
|
||||
Transport and browser verification do not prove a physical phone, device touch,
|
||||
human comprehension, fun, visual acceptance or listening.
|
||||
|
||||
## Owner Checkpoint Route
|
||||
|
||||
1. Open the signed H5 and rotate the phone to landscape.
|
||||
2. Confirm the Market reads as a physical route workspace rather than an app
|
||||
card page.
|
||||
3. Tap the route commit once and watch the line enter battle.
|
||||
4. Judge whether anticipation, contact, protection, damage, loss and victory
|
||||
are understandable without coaching.
|
||||
5. Judge whether music, ambience and semantic cues support the important events
|
||||
without masking decisions.
|
||||
6. Confirm the result reaches a visible saved Market 2 state.
|
||||
7. Report the earliest unclear action or weak visual, motion, sound or game-feel
|
||||
boundary.
|
||||
|
||||
Native packaging, physical-device verification, signing, TestFlight, stores and
|
||||
release remain outside this checkpoint.
|
||||
@@ -1,7 +1,7 @@
|
||||
# FG-2 Production Vertical Slice Implementation Plan
|
||||
|
||||
> Status: `ACTIVE`
|
||||
> Active step: `FG2-STEP-5`
|
||||
> Status: `COMPLETE_LOCAL / OWNER_CHECKPOINT_1`
|
||||
> Active step: `NONE`
|
||||
> Activation baseline: `6ee3765d71b9dcda88bb5bd37163253e7cfb5cd3`
|
||||
> Accepted gameplay source: `d00c7ad4f960b4498cb4a4f0b88fa8603a1e462b`
|
||||
> Goal: `docs/goals/FG2_PRODUCTION_VERTICAL_SLICE_GOAL.md`
|
||||
@@ -25,7 +25,7 @@ at the end is Owner checkpoint 1.
|
||||
| `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. |
|
||||
| `FG2-STEP-5` Slice candidate and H5 | `COMPLETE` | The Owner can remotely judge the final direction in one stable landscape build. | Full regressions, layouts, recording, media audit, Web export and Gallery handoff. |
|
||||
|
||||
<!-- markdownlint-enable MD013 -->
|
||||
|
||||
@@ -224,6 +224,33 @@ LEGAL TERMINAL: Aetherbound Guild FG-2 production vertical slice ready for
|
||||
NEXT STEP: wait for Owner checkpoint 1 judgment before bulk Region production.
|
||||
```
|
||||
|
||||
Source `3302134f31d1e9315e743923af39d3f64aaad5ab` is the immutable
|
||||
candidate and Web authority. It repairs Release-safe fixture construction by
|
||||
executing state mutations outside stripped assertions and adds a focused
|
||||
regression without changing gameplay, economy, Save or content.
|
||||
|
||||
Fresh candidate R2 at
|
||||
`/private/tmp/abg-fg2-3302134-step5-r2/evidence/` passes 39/39 tests,
|
||||
16/16 nonblank captures and a 636-frame / 21.2-second MovieWriter recording.
|
||||
Parsed Touch/Drag are `5/1`; fallback/direct paths, strict diagnostics, black
|
||||
intervals and owned processes are zero. Inventory SHA-256 is
|
||||
`3730472e8de992fd340f4742c645d9bf2c9222d32d07aae195a00017066b53e2`;
|
||||
audit SHA-256 is
|
||||
`329db4047e4a8bc41add4c5fc5edc17095356745440e9ea3faf748db5cb137c7`.
|
||||
|
||||
Runtime-only Web R2 at `/private/tmp/abg-fg2-3302134-web-r2/` removes all
|
||||
365 test files before import, enumerates 518 PCK paths with forbidden paths
|
||||
zero and passes strict export checks. Chrome browser evidence at
|
||||
`/private/tmp/abg-fg2-3302134-web-browser-r1/` reaches distinct nonblank
|
||||
Market, battle and result states through raw touch with startup product errors
|
||||
zero. Private Gallery item `GA9__qV4NWw5` preserves all nine runtime payloads;
|
||||
the signed token is not stored in Git. See `docs/runtime/fg2/H5_DELIVERY.md`.
|
||||
|
||||
Step 5 reaches `runtime_verified + agent_visual_reviewed +
|
||||
machine_audio_checked + delivery_transport_verified`. Human and physical-device
|
||||
levels remain open. FG-3 may not start until Owner checkpoint 1 returns a
|
||||
visual, motion, audio, comprehension and fun judgment.
|
||||
|
||||
## Issue Register
|
||||
|
||||
<!-- markdownlint-disable MD013 -->
|
||||
@@ -235,7 +262,7 @@ NEXT STEP: wait for Owner checkpoint 1 judgment before bulk Region production.
|
||||
| `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-I07` | `IN_REPAIR_STEP_5` | Web Release strips `assert(...)`; FG-2 and P10.0 constructors nested required mutations inside assertions, producing an invalid empty Market and blank Canvas despite debug tests passing. |
|
||||
| `FG2-I07` | `RESOLVED_STEP_5` | Source `3302134` executes fixture/Market mutations before assertions and the Release Web plus browser-touch evidence now reaches Market, battle and result. |
|
||||
| `FG2-I05` | `OPEN_OWNER` | Human visual, motion, audio, comprehension and fun judgment occurs only at the final FG-2 H5 checkpoint. |
|
||||
|
||||
<!-- markdownlint-enable MD013 -->
|
||||
|
||||
Reference in New Issue
Block a user