Tutorial Island revision 239 validation
Complete static gameval and unit-test validation in this repository. No authenticated RuneLite/OSRS client was attached during matrix creation, so every new live observation is pending. Blank targets mean that the stage is not an object transition. Numeric IDs marked
in the transition catalogue are GAMEVAL_CONFIRMED; this matrix does not promote their semantics
or postconditions to LIVE_VERIFIED.
| Varp | Stage | Player location | Visible widget | Target ID | Action | Result | Expected postcondition | Verified |
|---|---|---|---|---|---|---|---|---|
| 1 | NAME_ENTRY | — | 558/679 root | — | — | pending | setup root visible | No — live client pending |
| 2 | GIELINOR_GUIDE | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 3 | TAB_CONTINUE | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 7 | GIELINOR_REOPEN | — | Settings | — | Configure/skip | pending | preference read-back when supported, otherwise fail-open warning | No — live client pending |
| 10 | WALK_TO_SURVIVAL | — | — | 9398 | Open | pending | door gone/Survival area | No — live client pending |
| 20 | SURVIVAL_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 30 | TAB_CONTINUE | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 40 | FISHING | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 50 | TAB_CONTINUE | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 60 | SURVIVAL_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 70 | WOODCUTTING_2 | — | — | — | — | pending | inventory/varp observed state | No — live client pending |
| 80 | FIREMAKING | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 90 | COOKING | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 120 | WALK_TO_CHEF | — | — | 9470 | Open | pending | varp/area | No — live client pending |
| 130 | WALK_TO_CHEF | — | — | 9709 | Open | pending | Chef area | No — live client pending |
| 140 | CHEF_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 150 | MAKE_DOUGH | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 160 | COOK_BREAD | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 170 | WALK_TO_QUEST | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 200 | WALK_TO_QUEST | — | — | 9716 | Open | pending | Quest area/NPC reachable | No — live client pending |
| 220 | QUEST_GUIDE_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 230 | TAB_CONTINUE | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 240 | QUEST_GUIDE_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 250 | CLIMB_DOWN_LADDER | — | — | 9726 | Climb-down | pending | plane/mine area | No — live client pending |
| 260 | WALK_TO_MINING | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 270 | MINE_TIN | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 300 | MINE_TIN | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 310 | MINE_COPPER | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 320 | SMELT | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 330 | MINING_POST_SMELT | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 340 | OPEN_ANVIL | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 350 | SMITH_DAGGER | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 360 | OPEN_GATE | — | — | 9718 | Open | pending | combat area | No — live client pending |
| 370 | COMBAT_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 390 | TAB_CONTINUE_EQUIPMENT | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 400 | OPEN_EQUIPMENT_STATS | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 405 | WIELD_DAGGER | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 410 | COMBAT_TALK_2 | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 420 | WIELD_SWORD_SHIELD | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 430 | TAB_CONTINUE_COMBAT | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 440 | OPEN_RAT_GATE | — | — | 9719 | Open | pending | gate disappearance/rat area/varp | No — live client pending |
| 450 | MELEE_RAT | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 460 | MELEE_RAT | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 470 | COMBAT_RANGED_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 480 | RANGE_SETUP_AND_ATTACK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 490 | RANGE_SETUP_AND_ATTACK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 500 | CLIMB_UP_LADDER | — | — | 9727 | Climb-up | pending | plane/varp | No — live client pending |
| 510 | BANK_BOOTH | — | — | 10083 | Use | pending | bank/modal | No — live client pending |
| 520 | POLL_BOOTH | — | — | 26815 | Use | pending | varp/dialogue | No — live client pending |
| 525 | HINT_DOOR | — | — | 9721 | Open | pending | Account Guide reachable/varp/disappearance | No — live client pending |
| 530 | ACCOUNT_GUIDE_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 531 | TAB_CONTINUE_ACCOUNT | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 532 | ACCOUNT_GUIDE_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 540 | WALK_TO_BROTHER_BRACE | — | — | 9722 | Open | pending | Brother Brace area/varp/disappearance | No — live client pending |
| 550 | BROTHER_BRACE_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 560 | TAB_CONTINUE_PRAYER | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 570 | BROTHER_BRACE_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 580 | TAB_CONTINUE_PRAYER | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 600 | BROTHER_BRACE_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 610 | WALK_TO_MAGIC | — | — | 9723 | Open | pending | Magic Instructor area/varp/disappearance | No — live client pending |
| 620 | MAGIC_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 630 | TAB_CONTINUE_PRAYER | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 640 | MAGIC_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 650 | CAST_WIND_STRIKE | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 670 | MAGIC_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 671 | MAGIC_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 680 | MAGIC_TALK | — | — | — | — | pending | varp or stage-specific observed state | No — live client pending |
| 1000+ | COMPLETE | — | — | — | — | pending | completion varp observed | No — live client pending |
Static evidence completed
- Revision-239 generated symbols and numeric values are pinned by
TutorialConstantsTest. TutorialStageTestcovers every supported varp and the1000+completion threshold.- Controller/fake-runtime tests cover setup roots, functional-child gating, dialogue-before-busy priority, pending observation, exact-ID selection, approach behavior, object disappearance, bank-modal precedence, and bank-close-before-poll ordering.
- Documentation integrity includes this matrix through
docs-site/sidebars.js.
These checks establish deterministic source contracts. They do not establish current-game object actions, widgets, pathing, packet behavior, timing, or completion.
Required replay scenarios
| Scenario | Status | Evidence required before completion |
|---|---|---|
| Clean account from name creation | pending | Root/child widgets, every varp, every action and postcondition, final 1000+ |
| Restart during appearance | pending | Root routes to appearance without name action; confirmation advances |
| Restart between Survival and Chef | pending | Gate 9470 approach, Open action, disappearance/area/varp |
| Restart underground | pending | Inventory reconstruction and ladder/gate recovery without controller history |
| Restart with bank modal open | pending | Offer text matched, modal closed before bank/booth action |
| Restart during ranged combat | pending | Equipment/combat state reconstructed and at most one action per tick |
| Restart during Magic Instructor dialogue | pending | Dialogue priority, cast-first behavior, finale advances |
| Two client layouts/dimensions | pending | Root/group discovery and functional actions in both layouts |
| Manual Step Action for every transition | pending | Correct ID/action, approach, result, and observed postcondition per transition |
| Complete unattended run | pending | No manual intervention; final varp maps to COMPLETE |
Acceptance alone is not verification. Record the player location, visible widget, target ID/tile,
action menu, InteractionStatus, walker state, and observed postcondition in the matching row.
Do not record account-identifying information.