Files
aetherbound-guild/docs/runtime/PHASE10_1_SILTWAKE_FIRST_CROSSING_CONTRACT.md
T

4.9 KiB

P10.1 Siltwake First Crossing Contract

Revision: p10.1-siltwake-first-crossing-r1 Status: FROZEN

Region Boundary

P10.1 owns only CTR-R2-01, the first crossing of RG-02. The Region begins from an exact P10.0 Guild profile that has both Windglass clear facts and RG-02 unlocked. The slice ends at a reload-stable Siltwake Market 2.

The first crossing uses these content rows:

  • Enemies EN-R2-01..EN-R2-07.
  • Equipment EQ-041..EQ-048.
  • Boss BO-R2-01 as disclosed future metadata only; no Boss battle may start.

Tide Authority

Allied positions are one-based from front to rear. The first crossing supports positions 1..4. Every battle offer must disclose:

  • current safe index;
  • next safe index, different from the current index;
  • exact shift tick and warning-window ticks;
  • the pressure applied outside the safe index;
  • the first enemy action that can change Company order.

The battle clock remains fixed at 100 ms. A tide shift cannot occur before its preview, cannot reroll on reload and cannot retroactively change an already reserved target. Reduced motion changes presentation only.

First Market Authority

Market 1 keeps the P10.0 board shape: three Recruit slots, four equipment slots and three battle-route slots. Step 1 owns the regional overlay only; the three Recruit instances are bound during the Save-v7 Run-creation step.

The four equipment offers are a deterministic unique draw from EQ-041..048. Across the board they must expose at least one front/rear protection response and at least one healing/displacement response.

The three battle routes are ordered risk 0/1/2 and never refresh:

  1. Reedbank Sounding: pull plus attacker-order pressure; smallest reward.
  2. Mudlamp Channel: healing denial plus timed hindrance; middle reward.
  3. Broken Sluice: pull, healing denial and indexed mud; largest reward.

Each route discloses exact enemy IDs, wave order, tide data, response tags, reward and recovery cost before commit. Refresh may change Recruit/equipment offers only. Same seed, Market and refresh inputs are byte-identical.

Decision And Failure Contract

  • Stable-order responses protect a chosen neighbor or line end but concede future tide coverage.
  • Deliberate-movement responses follow the disclosed safe index but may expose healing or a rear target while moving.
  • Healing-denial responses remove or interrupt the source before restoring; healing into an active denial must visibly produce the declared blocked or converted result.
  • Defeat never resurrects a Fallen Recruit. Recovery preserves permanent loss, charges the disclosed bounded cost and returns to Market 1 with a changed board state. Victory settles one reward and advances to Market 2.

No valid-looking command may silently do nothing. Disabled operations expose a localized reason. Every applied mutation increments exactly one revision; a rejected mutation preserves the complete public and internal snapshot.

Persistence Contract

Save v7 must migrate valid P10.0 Save v6 without inventing RG-02 state. It owns exactly-once receipts for Region entry, Market-1 creation, route commit, battle result, recovery, reward and Market-2 advance. Active and backup saves, checksum, rollback, corruption and interrupted writes remain required. Offline Coin, Credit, XP, Renown, healing and battle ticks remain zero.

Presentation Contract

The Siltwake Market and battle are world-first landscape scenes, not card-wall pages. At 844x390, focal order is:

  1. Company and current tide-safe position.
  2. next shift/countdown plus the enemy action that threatens the line.
  3. equipment/route response and resulting reward or recovery.

Actors, waterline, tide notches, hazard marks, equipment objects, UI and VFX remain separate layers. Pull, tide shift, healing denial, damage, recovery and reward require event-bound motion; idle loops alone do not satisfy the slice.

Evidence Boundary

Content/board, state/save, battle, simulations and runtime are verified in separate source-bound steps. Human comprehension, fun, visual acceptance and listening remain Owner gates. H5 delivery begins only after the complete slice passes runtime evidence and requires no native package or release action.

Step 4A source 47f2028c71215117d5cc37ffc7bb2797d9e9c84c satisfies the presentation-only runtime boundary with fixed-source R3 evidence at /private/tmp/abg-p101-47f2028-step4a-r3/. This records automation and supporting visual evidence only; it does not alter the frozen battle/save contract or grant Owner motion/game-feel acceptance.

Step 5 candidate source d964ca9774b1c341b104921f7bed91d37faeabb8 adds verification only and binds immutable R1 evidence at /private/tmp/abg-p101-d964ca9-step5-r1/. Five-policy simulation and the Save/layout candidate matrix satisfy the local simulation/runtime boundary without changing the frozen product source. H5 and all human/device/release claims remain separate.