docs: open P9.0R7 individual growth
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user