311 lines
17 KiB
Markdown
311 lines
17 KiB
Markdown
# P10.3 Siltwake Deep Channels Implementation Plan
|
|
|
|
> Status: `COMPLETE`
|
|
> Active step: `NONE - MILESTONE TERMINAL`
|
|
> Planning baseline: `ac3d511a2826d943322f03559a13801680ed3a92`
|
|
> Product predecessor: `96929580289504e8209b905132b3b40abc5a4c72`
|
|
> Goal: `docs/goals/PHASE10_3_SILTWAKE_DEEP_CHANNELS_GOAL.md`
|
|
> Contract: `docs/runtime/PHASE10_3_SILTWAKE_DEEP_CHANNELS_CONTRACT.md`
|
|
|
|
## Player-Visible Stopping Point
|
|
|
|
Starting at the restored Market 5 ferry, the player clears Rounds 5-7, chooses
|
|
one shared Artifact rule, may promote the first eligible Recruit and reloads at
|
|
stable Market 8 with those decisions intact.
|
|
|
|
## Ordered Steps
|
|
|
|
<!-- markdownlint-disable MD013 -->
|
|
|
|
| Step | Status | Player outcome | Commit boundary |
|
|
| --- | --- | --- | --- |
|
|
| P10.3-STEP-0 Contract | `COMPLETE` | The three-Round growth scope and Market-8 stopping point are frozen. | Goal, contract, plan, checkpoint and ledger. |
|
|
| P10.3-STEP-1 Content and boards | `COMPLETE` | Markets 5-7 disclose linked-position, safe-index and combined pressures. | Source `cf1e843`; four fixed-source markers pass strict-clean. |
|
|
| P10.3-STEP-2 Save v9 and growth choices | `COMPLETE` | Artifact and promotion decisions survive interruption and reload exactly. | Source `26ef043`; eight fixed-source markers pass strict-clean. |
|
|
| P10.3-STEP-3 Three-Round battle arc | `COMPLETE` | Artifact/promotion choices change which response is rational. | Source `ffb813f`; 12 fixed-source markers pass strict-clean. |
|
|
| P10.3-STEP-4 Continuous runtime | `COMPLETE` | Parsed touch carries Market 5 through visible Market 8 transformation. | Source `42ea94b`; 23 tests, 12 layouts and fixed recording pass. |
|
|
| P10.3-STEP-5 Profiles and candidate | `COMPLETE` | Five policies prove pacing, anti-dominance, recovery and persistence. | Source `d00c7ad`; 25 tests and normal candidate matrix pass. |
|
|
|
|
<!-- markdownlint-enable MD013 -->
|
|
|
|
## Completed Step Evidence
|
|
|
|
### P10.3 Step 1 Content And Boards - 2026-08-16
|
|
|
|
- Source `cf1e843b07006b9ba23e02de4fb2fbf1ff0bff61` adds only the
|
|
isolated P10.3 catalog, validator, Market generator, two focused tests and
|
|
their tracked UID files. P10.2 source remains byte-unchanged.
|
|
- The registry exposes eight equipment, two new enemies, three Artifacts, nine
|
|
routes and three Markets. All 24 bounded identities have zh_CN/en authority,
|
|
previews, response tags, execution keys and deterministic signatures.
|
|
- Markets 5-7 generate exact `3/4/3` boards with capacity `6/6/7`, offer level
|
|
`2/2/3`, 15-Coin equipment and route rewards `30..48`. Market 6 discloses the
|
|
fixed three-Artifact draft; Market 7 discloses exact promotion eligibility.
|
|
- Refresh changes Recruit/equipment rows only. Route, tide, Artifact and
|
|
promotion facts never reroll, while a changed Run seed changes owned Market
|
|
identities.
|
|
- R1 at `/private/tmp/abg-p103-cf1e843-step1-r1.c7k2hR/` is append-only
|
|
`INVALID_EVIDENCE_FINALIZATION` because its postflight zero-process query
|
|
stopped before inventory creation. No R1 execution result is reused.
|
|
- Fresh fixed-source R2 is
|
|
`/private/tmp/abg-p103-cf1e843-step1-r2.hS70Pw/evidence/`. Both P10.3 tests
|
|
and both P10.2 regressions pass with strict diagnostics and owned Godot
|
|
process counts zero. Source archive SHA-256 is
|
|
`373e4e4b2a5c7e616dd6d3dd7a610ce41470217297498e90cb841439a90b50e1`;
|
|
the 12-row inventory SHA-256 is
|
|
`a4d46f3f1d0db3f7adcf868d8a1eddfdda713d26e20683f3d9d186c4c85b67cd`.
|
|
- Step 1 reaches `automated_verified`. Step 2 alone now owns Save v9 and the
|
|
exact Artifact/promotion transaction boundary.
|
|
|
|
### P10.3 Step 2 Save V9 And Growth Choices - 2026-08-16
|
|
|
|
- Source `26ef043bfbcd2ddba103b985df5fcd124d91f6e1` adds 16 paths
|
|
confined to isolated P10.3 Recruit/board/state/save/growth modules, two
|
|
focused tests, one fixture and their tracked UID files.
|
|
- Save v9 accepts only stable P10.2 Market 5, binds the real P10.3 board,
|
|
advances sequence/previous-commit linkage and preserves Run, Company, Coin,
|
|
HP, equipment, route history and legacy operation authority.
|
|
- Active/backup selection, checksum, rollback, future schema, corrupt source,
|
|
interrupted candidate and zero offline Coin/Credit/XP/Renown/healing/ticks
|
|
are covered. Tampered Run binding, Market level and growth disclosure reject.
|
|
- Artifact selection/defer/resume and promotion open/defer/confirm are
|
|
revision-exact and idempotent. `AR-011/012/015` expose effective capacities
|
|
`6/8/7`; the complete 12-by-2 regular Profession mapping is exact.
|
|
- The canonical Kindhand draft is `PF-A13/PF-A14`. Confirming one branch
|
|
preserves Recruit ID, origin, level/XP, exact HP, Trait, equipment,
|
|
Company/Line/Reserve order and custom survival history.
|
|
- Fresh fixed-source R1 is
|
|
`/private/tmp/abg-p103-26ef043-step2-r1.Fyc4Uy/evidence/`. Four P10.3 tests
|
|
and four P10.2 regressions pass with strict diagnostics and owned Godot
|
|
process counts zero. Source archive SHA-256 is
|
|
`69f148b3d0da78cd89ffe838237d84cc9350e26fa971256fc0b2ce66eb0e0e36`;
|
|
the 16-row inventory SHA-256 is
|
|
`6d9f07e9cba52f3cb09a0ccf0c899272c5f3d4e4ef7ccbef6214794fe6e44e60`.
|
|
- Step 2 reaches `automated_verified`. Step 3 alone now owns the three-Round
|
|
battle/settlement arc and opposed growth-choice consequences.
|
|
|
|
### P10.3 Step 3 Three-Round Battle Arc - 2026-08-16
|
|
|
|
- Source `ffb813ff194e82eb19f773091cfbb5b6b9492329` adds exact-once
|
|
P10.3 route preparation, deterministic battle and settlement services plus
|
|
narrow `prepared`, `recovery` and `market_8` Run-state invariants.
|
|
- All nine routes have fixed preferred and wrong-plan outcomes across all four
|
|
plans. Channel Widow and Sluice Elder expose linked-healing, adjacency,
|
|
moving safe-index, Wet-threshold and direction-reversal events.
|
|
- `AR-011/012/015` each wins one fixed Round-7 comparison and loses another.
|
|
`PF-A14` is stronger on linked-care risk 1 while `PF-A13` is stronger on
|
|
moving-safe-index risk 2; neither branch is a flat universal upgrade.
|
|
- Rounds 5-7 grant exact Coin `30/39/48` and XP `20/26/32`, grow base capacity
|
|
`6/7/7`, create the Artifact draft after Round 6 and preserve the chosen
|
|
Artifact plus promotion in a source-bound Save-v9 Market 8 handoff.
|
|
- Defeat applies one permanent casualty, returns equipment, grants bounded
|
|
Credit and supports exact-cost recovery without resurrection or automatic
|
|
Reserve substitution. Battle snapshots are replay-validated before settle.
|
|
- Fresh fixed-source R1 is
|
|
`/private/tmp/abg-p103-ffb813f-step3-r1.fPFMlH/evidence/`. Six P10.3 tests
|
|
and six P10.2 regressions pass with 12 exact markers, strict diagnostics zero
|
|
and owned Godot process count zero. Source archive SHA-256 is
|
|
`f4bf6a00cb73ab88a3d58acb317a925fbbe5628817bd31b1f56f9f51b7a3919b`;
|
|
the 15-row inventory SHA-256 is
|
|
`d6b93495f0eb535c329aa3ef8f257d2a1a0df19f92708bf657c8608323b36b00`.
|
|
- Step 3 reaches `automated_verified + simulation-ready domain`. Step 4 alone
|
|
now owns continuous runtime, touch, layout and recording presentation.
|
|
|
|
### P10.3 Step 4 Continuous Runtime - 2026-08-16
|
|
|
|
- Product commit `a09e9bfe36618e3377a8c11a27749fafccb7eda3` adds the isolated
|
|
runtime Market adapter, continuous controller, causal motion presenter,
|
|
narrow `runtime/main.gd` handoff and four focused runtime tests plus UIDs.
|
|
Verification source `42ea94be06b9bc5903184a43a1058edbc8df85c5`
|
|
changes only recording exit order so the valid Market 8 state remains visible.
|
|
- Market 5 now flows through all three battles, Artifact `AR-012`, promotion
|
|
`PF-A13`, capacity seven and saved Market 8. Channel Widow/Sluice Elder events
|
|
drive actor-bound thread, safe-index, displacement and damage feedback.
|
|
- Parsed runtime input records Touch `19` / Drag `1`; the fixed recording
|
|
records Touch `18` / Drag `1`. All fallback/direct counts are zero.
|
|
- Twelve normal-render fixtures cover `760x360`, `844x390`, `1280x720` and
|
|
portrait guidance, zh_CN/en, 130% text, reduced motion, mute and low power.
|
|
Controls are at least 48px; app panel/card counts are zero.
|
|
- R1-R4 remain append-only `INVALID`: preflight self-match, warning assumption,
|
|
broken process postflight and recording teardown. No result is reused.
|
|
- Fresh R5 is `/private/tmp/abg-p103-42ea94b-step4-r5/evidence/`. Twenty-three
|
|
headless programs, normal layout and MovieWriter pass strict-clean. The
|
|
844x390 recording contains 838 frames at 30 FPS for `27.933333s`, has zero
|
|
black intervals and ends at valid Market 8.
|
|
- MP4 SHA-256 is
|
|
`995b4555d44d3d47f98a972cfd8ba7058f1382533b9ac5b216eac81fd48c480e`;
|
|
the 56-row inventory verifies 56/56 with SHA-256
|
|
`8e909b94e0fdd0771b174e393241e43c83a3300f7f0b88c590ce4309beeb49a3`.
|
|
- Step 4 reaches `runtime_verified + agent_visual_reviewed`. Human review and
|
|
final media remain open; Step 5 alone now owns simulation/candidate evidence.
|
|
|
|
### P10.3 Step 5 Profiles And Candidate - 2026-08-16
|
|
|
|
- Exact verification source `d00c7ad4f960b4498cb4a4f0b88fa8603a1e462b`
|
|
adds only the five-profile and candidate-matrix tests plus tracked UID files.
|
|
Product runtime is byte-unchanged from Step-4 source `42ea94b`.
|
|
- Normal, active, efficient, adversarial and returning profiles record 79
|
|
decisions with a `4.0s` maximum nonbattle gap. All nine routes, three
|
|
Artifact rules, both promotion branches and all four plans are exercised.
|
|
- Counterfactuals prove 9 route, 3 Artifact and 2 promotion reversals. One
|
|
casualty recovery never resurrects the fallen Recruit; six returning reloads
|
|
preserve stable Market 8 with zero negative Coin or offline reward.
|
|
- Twelve Save-v9 states cover Market 5/6/7/8, prepared, Artifact, promotion,
|
|
defer, recovery and recovered boundaries. The 32-case normal matrix covers
|
|
four viewports, zh_CN/en, 100/130% text, reduced motion, mute and low power.
|
|
- R1 is append-only `INVALID_HARNESS_PATH_SHADOW`: its zsh test-row variable
|
|
replaced the command search path after the first row. Its five-row inventory
|
|
SHA-256 is
|
|
`2e281ee0bd1c8b63f655ea748ce47bae1de944d2dd3a2d12e62a76e1df039018`.
|
|
No R1 execution result is reused.
|
|
- Fresh fixed-source R2 is
|
|
`/private/tmp/abg-p103-d00c7ad-step5-r2/evidence/`. Isolated import, 25/25
|
|
tests and one normal candidate matrix pass strict-clean. Audit SHA-256 is
|
|
`c89d193f87481b5829e17b22d6e5e6b3813d8cee36d63f94cde9b0b7c080c0d1`;
|
|
the 35-row inventory verifies 35/35 with SHA-256
|
|
`7c8287b05a14cb134eeaf235f412ce2072a147a261bcace9b5e8ae20ceb3b512`.
|
|
- P10.3 reaches `simulation_verified + runtime_verified +
|
|
agent_visual_reviewed`. Human, H5, device, package, signing, store and
|
|
release gates remain open or frozen.
|
|
|
|
## Step Contracts
|
|
|
|
### P10.3-STEP-1 CONTENT AND BOARDS
|
|
|
|
```text
|
|
ID: P10.3-STEP-1
|
|
PLAYER OUTCOME: Markets 5-7 truthfully preview linked-position, moving-safe-
|
|
index and combined pressures before the player commits.
|
|
IN SCOPE: isolated P10.3 registry; EN-R2-11..12; EQ-057..064; AR-011/012/015;
|
|
nine route rows; deterministic 3/4/3 boards; localized names/previews;
|
|
formula, identity, reference, seed, hash and negative tests.
|
|
OUT OF SCOPE: state mutation, Save v9, Artifact/promotion transactions, battle,
|
|
presentation, media, H5 and packaging.
|
|
OWNED FILES: runtime/p10_3 content/generator modules, focused tests and UIDs;
|
|
durable closure after a pushed source commit.
|
|
ACCEPTANCE CHECKS: exact source IDs; same inputs byte-identical; Markets 5-7
|
|
use levels 2/2/3, capacities 6/6/7 and Coin 30..48; refresh changes only
|
|
Recruit/equipment rows; route/artifact facts never reroll; malformed source,
|
|
IDs, counts, formulas and locale rows reject; P10.2 regressions pass.
|
|
EVIDENCE LEVEL EXPECTED: automated_verified for content authority.
|
|
COMMIT BOUNDARY: focused source/test push, fixed-source evidence, docs closure.
|
|
LEGAL TERMINAL: P10.3 Step 1 content and boards complete.
|
|
NEXT STEP: P10.3-STEP-2.
|
|
```
|
|
|
|
### P10.3-STEP-2 SAVE V9 AND GROWTH CHOICES
|
|
|
|
```text
|
|
ID: P10.3-STEP-2
|
|
PLAYER OUTCOME: The first shared run rule and Profession branch are explicit,
|
|
reversible before confirm where allowed, and trustworthy after restart.
|
|
IN SCOPE: Save-v8-to-v9 migration; Markets 5-7 state; Artifact draft/select/
|
|
defer; promotion eligibility/draft/confirm/defer; exact transaction receipts.
|
|
OUT OF SCOPE: battle execution, runtime presentation, media and H5.
|
|
OWNED FILES: isolated P10.3 state/Market/save/growth services and tests.
|
|
ACCEPTANCE CHECKS: exact migration; full success/negative atomicity; stable
|
|
drafts; conflict and duplicate protection; all 12 base parent mappings;
|
|
preservation of Recruit identity/condition/item/order; zero offline value.
|
|
EVIDENCE LEVEL EXPECTED: automated_verified.
|
|
COMMIT BOUNDARY: focused source/test push, fixed-source evidence, docs closure.
|
|
LEGAL TERMINAL: P10.3 Step 2 Save v9 and growth choices complete.
|
|
NEXT STEP: P10.3-STEP-3.
|
|
```
|
|
|
|
### P10.3-STEP-3 THREE-ROUND BATTLE ARC
|
|
|
|
```text
|
|
ID: P10.3-STEP-3
|
|
PLAYER OUTCOME: Artifact and promotion choices change how the Company answers
|
|
deep-channel pressure rather than acting as flat upgrades.
|
|
IN SCOPE: Rounds 5-7; Widow/Sluice events; Artifact rules; promotion branch
|
|
events; Coin/XP/casualty/recovery/capacity and stable Market-8 settlement.
|
|
OUT OF SCOPE: Round 8+, Bosses, hidden hybrids, presentation and H5.
|
|
OWNED FILES: narrow P10.3 Run-state phase/handoff invariants; isolated route
|
|
preparation, battle and settlement services; P10.3 fixture and focused tests.
|
|
ACCEPTANCE CHECKS: nine bounded routes; fixed preferred/wrong outcomes;
|
|
opposed Artifact/promotion comparisons; exact rewards/capacity/Market 8;
|
|
permanent casualty and no-resurrection recovery; interruption-safe receipts.
|
|
EVIDENCE LEVEL EXPECTED: automated_verified plus simulation-ready domain.
|
|
COMMIT BOUNDARY: focused source/test push, fixed-source evidence, docs closure.
|
|
LEGAL TERMINAL: P10.3 Step 3 deep-channel battle arc complete.
|
|
NEXT STEP: P10.3-STEP-4.
|
|
```
|
|
|
|
Step-3 product ownership is limited to:
|
|
|
|
- `runtime/p10_3/run_state.gd` for `prepared`, `recovery` and stable
|
|
`market_8` invariants only;
|
|
- new P10.3 route-preparation, battle and settlement services plus tracked UID
|
|
files;
|
|
- `runtime/tests/p10_3/deep_channels_fixture.gd` and two focused Step-3 tests
|
|
plus tracked UID files.
|
|
|
|
P10.2 source, P10.3 catalog/Market generation/Save-v9/growth transaction
|
|
authority, controllers, scenes, presentation, media, H5 and delivery remain
|
|
forbidden in Step 3.
|
|
|
|
### P10.3-STEP-4 CONTINUOUS RUNTIME
|
|
|
|
```text
|
|
ID: P10.3-STEP-4
|
|
PLAYER OUTCOME: The player sees the ferry become a rule-selection and promotion
|
|
workspace, then sees those choices alter battle and Market 8.
|
|
IN SCOPE: world targets; Artifact shrine; promotion anvil; linked/safe-index
|
|
events; capacity and Market-8 presentation; parsed touch/drag; normal renders.
|
|
OUT OF SCOPE: new paid media, H5, native package and release.
|
|
OWNED FILES: one P10.3 runtime Market adapter for atomic deployment only;
|
|
isolated P10.3 controller/presentation; narrow main handoff; focused tests.
|
|
ACCEPTANCE CHECKS: controls >=48px; no card wall; parsed touch/drag only;
|
|
causal event motion; visible rule/branch consequence; required layouts,
|
|
locales, accessibility and fixed 15-30 second recording pass strict-clean.
|
|
EVIDENCE LEVEL EXPECTED: runtime_verified and agent_visual_reviewed.
|
|
COMMIT BOUNDARY: focused source/test push, immutable evidence, docs closure.
|
|
LEGAL TERMINAL: P10.3 Step 4 continuous runtime complete.
|
|
NEXT STEP: P10.3-STEP-5.
|
|
```
|
|
|
|
Step-4 product ownership is limited to:
|
|
|
|
- one P10.3 runtime Market adapter that may commit deployment order but may not
|
|
invent hire, equipment, refresh, lock, economy or content operations;
|
|
- one P10.3 controller and motion presenter plus tracked UID files;
|
|
- the narrow `runtime/main.gd` Market-5-to-P10.3 handoff;
|
|
- P10.3 continuous-runtime, parsed-touch, layout and recording tests plus UIDs.
|
|
|
|
Step-3 battle/settlement results, Save-v9 authority, P10.2 source, content,
|
|
new media, H5 and delivery remain frozen.
|
|
|
|
### P10.3-STEP-5 PROFILES AND CANDIDATE
|
|
|
|
```text
|
|
ID: P10.3-STEP-5
|
|
PLAYER OUTCOME: The new run rules remain strategically variable, recoverable
|
|
and persistence-safe across profiles and mobile layouts.
|
|
IN SCOPE: five policies; timestamps; anti-dominance; recovery/starvation;
|
|
Save-v9 phase matrix; layout/accessibility matrix; immutable evidence.
|
|
OUT OF SCOPE: product changes unless a declared gate finds a product failure;
|
|
H5, devices, package, store and release.
|
|
OWNED FILES: bounded simulation/matrix tests and UIDs; evidence; closure docs.
|
|
ACCEPTANCE CHECKS: five distinct policies, maximum nonbattle gap <=12 seconds,
|
|
all routes/rules/branches covered, stable Market 8, no negative Coin,
|
|
resurrection/offline reward, strict diagnostics, clean/upstream and cleanup.
|
|
EVIDENCE LEVEL EXPECTED: simulation_verified plus runtime_verified.
|
|
COMMIT BOUNDARY: focused verification source, immutable evidence, docs closure.
|
|
LEGAL TERMINAL: Aetherbound Guild P10.3 Siltwake deep channels candidate ready.
|
|
NEXT STEP: FG-2 activation under the approved complete-development program.
|
|
```
|
|
|
|
## Issue Register
|
|
|
|
<!-- markdownlint-disable MD013 -->
|
|
|
|
| ID | Status | Finding |
|
|
| --- | --- | --- |
|
|
| P103-I01 | `RESOLVED_IN_CONTRACT` | Product authority requires an Artifact by the end of Round 6; the fixed draft is AR-011/012/015 and applies from Market 7. |
|
|
| P103-I02 | `RESOLVED_IN_CONTRACT` | Market-5 baseline has no eligible promotion; Round-6 growth opens the first level-4 survivor draft at Market 7. |
|
|
| P103-I03 | `RESOLVED_STEP_3` | Three Artifact rules and both promotion branches reverse fixed route valuations instead of adding universal score. |
|
|
| P103-I04 | `OPEN_FG2` | Existing rigs remain temporary; FG-2 now owns the production visual/audio direction and canonical runtime slice. |
|
|
|
|
<!-- markdownlint-enable MD013 -->
|