docs: open P9.0R7 individual growth

This commit is contained in:
2026-08-13 05:35:00 +08:00
parent 89ed89b2a5
commit 5dc17b1d38
5 changed files with 230 additions and 11 deletions
@@ -0,0 +1,105 @@
# 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 performs one early shot before enemy pressure.
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.
5. Added rear acts once when present; 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.