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

109 lines
4.5 KiB
Markdown

# Phase 9.0R7 Individual Growth Runtime Contract
## Authority And Boundary
This contract owns only the continuation from the accepted P9.0R6
second-cycle result through one individual level choice, one fifth battle and
one third-cycle result. It previews the product authority that levels belong to
individual generated Recruits, but does not implement the authoritative XP,
promotion, Market, save or content systems.
## Stable State
```text
member_slots = [front, rear] + [added when present]
member_level(slot) = 2 only when slot == trained_member; otherwise 1
veteran_mark_available = route_reward_committed and not training_committed
training_choice = empty | one current member slot
training_committed = false -> true exactly once
fifth_reward_committed = false -> true exactly once
```
Slots bind to the current runtime member identity and profession. An absent
`added` slot never renders and is illegal at selection, review and commit.
## Training Transaction
- `open_training` requires the R6 result and committed route reward, clears
only the uncommitted training selection and opens the training scene.
- `choose_training` accepts one current member slot and mutates selection only.
- `open_training_review` requires one legal selection and mutates nothing.
- `cancel_training_review` returns to the same selected training scene.
- `commit_training` revalidates the selected slot, consumes the mark, makes
exactly that slot `Lv.2`, locks the transaction and starts the fifth battle.
- Duplicate or out-of-page commit is inert.
## Fifth Battle
The fifth encounter uses existing accepted actors and Riftblade-family assets.
It is a bounded presentation fixture, not an authoritative combat engine or a
new catalog identity.
Base state:
```text
front_hp = 100
rear_hp = 100
enemy_hp = 140
base_time = 7.40s
Farstring Lv.2 time = 6.40s
reward = +8 Coin at verified result
```
Ordered consequences:
1. A trained Farstring moves its one normal shot before enemy pressure; it
does not gain a second attack.
2. Front crush deals `-45`; retained `EQ-002` reduces it to `-30`; trained
front reduces the already-derived damage by another `20`.
3. Split pressure hits the original rear for `-40`.
4. Original rear acts once here unless its trained Farstring shot already
moved to step 1.
5. Added rear acts once here when present unless its trained Farstring shot
already moved to step 1; otherwise the retained build follows up.
6. Route guard reaches `0` and reward commits once.
Kindhand healing targets the damaged original rear. A normal Kindhand restores
`+12` to rear HP `72`; a trained Kindhand restores `+25` to rear HP `85`.
Farstring training changes timing only. Front training changes front HP only.
Both rear professions act once in a full line.
## Result Matrix
| Trained role | Frontpin retained | Front HP | Rear HP with Kindhand | Time |
|---|---|---:|---:|---:|
| front | yes | `90` | `72` | `7.40` |
| front | no | `75` | `72` | `7.40` |
| Farstring | yes | `70` | `72` when Kindhand present | `6.40` |
| Farstring | no | `55` | `72` when Kindhand present | `6.40` |
| Kindhand | yes | `70` | `85` | `7.40` |
| Kindhand | no | `55` | `85` | `7.40` |
When a two-person Company has no Kindhand, rear HP remains `60`. When Kindhand
is present but not trained, rear HP becomes `72`. Route selection changes the
inherited Coin only; it does not secretly change this fixed fifth encounter.
## Presentation
- Training is a scene with the actual Company standing in the world and one
selectable level crest above or beside each member, not a generic settings
list or spreadsheet.
- Every member shows position, profession, current level and the exact next
event change before selection.
- Review names the member and single counterfactual, then offers Back and Train.
- Fifth battle visibly distinguishes early shot, reduced front damage and
stronger rear recovery using existing number/VFX feedback.
- Result names the causal level effect before Coin/HP/time totals.
- Primary `844x390` has no scrolling and every action is at least 44px.
## Evidence
- Focused tests cover legal member sets, training transaction, member levels,
all role outcomes, exact times, reward and cleanup.
- Real parsed ScreenTouch covers open, revise, review, cancel, commit, battle
and result with no fallback or direct callback path.
- Normal-render captures cover two- and three-person training, review, the
three role effects and representative results.
- Fast preview evidence cannot become formal candidate, human, device or
release evidence.