Files
healer-man/docs/ENEMY_CONTROL_RUNTIME_FOLLOWUP_2026-10-06.md
2026-10-06 22:25:34 -04:00

40 lines
9.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Enemy control runtime follow-up — 2026-10-06
Shield Bash's missing Daze, safe source-informed fear movement and source-proven immunity escape/purge are integrated. The level-80 cap, Ready-five certification scope and existing loot behavior remain intact. All 126 focused checks across 15 files pass; Ready-five adds seven Vitest and twenty Python checks. The final 8 GB TypeScript/Vite build, asset audits and release-bundle verification pass.
## Behavior and ownership
- `wow335ShieldBashDaze.ts` registers child 29703 for the exact selected WoW335 Shield Bash 72 parent and ordinary source NPCs. It applies a 50% movement slow for six seconds. Source mechanic 11 is **SNARE**, despite the Dazed display name. Snare/physical-school immunity rejects the child; parent interruption remains independent. Full parent blocking/avoidance suppresses the trigger. CoA/RoM parents, unbound ranks/procs and excluded defenders cannot borrow it. The generated playable Shield Bash chain has one rank, 72, through level 80.
- `enemyFearMovement.ts` and `enemyFearMovementRuntime.ts` implement deterministic destination selection within the pinned core's distance/path/retry ranges, live caster lookup, actor-local goal caching and the five-path-failure fallback. They are source-informed simulator policy, not exact server paths or RNG.
- PlayerRig follows accepted waypoints through the existing collision controller and gravity. PartyPopulation follows approved navigation at normal actor speed, including forced movement under Stop. Source fear cannot enable catch-up speed or stuck-recovery relocation. Shorter overlapping stun/confuse/root/sleep auras hold movement even when fear owns the longest timer. Voluntary movement/jumping and ordinary attacks/casts stay blocked.
- `enemyFearSummonMovement.ts` moves mobile owned summons only on a loaded graph with approved projection, LOS, path and bounded steps. The real combat tick suppresses actions while source fear remains. Pet Prowl and actor-local source speed are retained; totems/zones remain stationary.
- The WoW generator retains raw Attributes1/5 and imported apply-aura scalar signatures. `enemyControlImmunityPurge.ts` proves only exact Berserker Rage 18499 and Bladestorm 46924 grants. Applying the proven grant removes whole named FEAR-mechanic shout auras 5246/19134/20511/29544, including bundled riders, while retaining unrelated controls. Player/party Berserker Rage can escape the covered source fear or 20511's FEAR-mechanic stun. Other stuns, cooldowns and GCD still block it. Bladestorm has no controlled-casting bypass. Icebound Fortitude has no sourced active-purge flag.
The matching source and limitations are in [the Daze import](WOW335_SHIELD_BASH_DAZE_2026-10-06.md), [fear audit](ENEMY_FEAR_MOVEMENT_2026-10-06.md) and [hit/immunity audit](ENEMY_CONTROL_HIT_IMMUNITY_FOLLOWUP_2026-10-06.md). Historical sources were read only.
## Verification
The focused report is `artifacts/enemy-control-followup-2026-10-06/focused-vitest.json`: 126/126 checks, 15 files, zero failures. It covers actual player casts and companion completion/AI, parent blocking and dispatch gates, movement expiry, missing/blocked navigation, overlapping controls, accepted immunity grants and authoritative party control state. The rejection fixtures temporarily perturb the canonical learned catalog and restore it in `finally`; those are synthetic source-gate fixtures, not live casts from another game profile.
GPT-6 Luna extra-high handled immunity proof/party escape and the read-only runtime review. Both finished; the reviewer found no actionable runtime bugs. The Daze and fear workers hit Luna capacity, so root completed their remaining implementation/integration and verification. No higher-tier subprocess was used. Root also repaired generated TypeScript emission/type declarations needed by concurrent native-lighting edits; the six native-lighting sanity fixtures passed once those inputs settled. This is not a new native balance certification or a claim of ownership over the concurrent lighting feature.
The final build SHA-256 is `2ded1eedcf7cfb60d53f6c82a33c088c05ff4d881bb258852c035df94770c8d1`. Build output and all referenced content objects were copied and hash-verified before the final one-boss Cellblock Rush run. The earlier content freeze could not be reused because the shared manifest changed.
## Final Cellblock Rush evidence
Run `20261006-172609059`, shared run ID `83b375bf-95bd-4afb-8ac1-7438b7a9d13f`, selected Hamhock through normal Bite-Sized selection: entry 1717, actor/spawn `creature-79098`. Native required and killed IDs both contain exactly that boss. The results overlay records **1/1 in 03:09.7**, with zero player/party deaths and four companions alive. The UI-created Discipline Priest used isolated pre-entry level-30 preparation, ordinary controls and read-only telemetry; no combat-state writes or Boss Testing were used. Seven ordinary healing windows were accepted and effective, totaling 2,444 effective player healing with zero recorded overheal. The owned helper, server and browser completed and cleaned up.
The committed-state recorder retained **797 consecutive events, IDs 9–805**, with zero gaps, errors or discarded events. It records 70 NPC hand results and 161 player/party hand results. Three actual party Shield Bash parent results, IDs **574, 659 and 777**, immediately precede accepted child 29703 aura grants **575, 660 and 778** on Hamhock. This is live dispatch/application evidence; no retained slow-state sample measures the six-second duration or half-speed movement. Those values are established by the actual runtime fixtures. Two Disarm windows contain four actor-hand results; utility snapshots include two Disarm, 38 Wound and nine Bloodlust observations. Offhand, Thrash, block and source-shout applications are unobserved in this seed. Fear locomotion and immunity escape/purge remain focused-runtime evidence, not credited live shout demonstrations.
Root visually inspected the real roster, equipped-party, route-50 and results PNGs under `campaign/final-build-20261006-172611414/`. Player and companion bodies, robe/shoulders and staff/shield/weapon silhouettes render; close stair clustering limits individual companion gear identification. `bite-sized-stormwind-stockade-boss-arrival.png` shows the native results overlay, despite its historical filename. Nine PNGs actually exist. Camera-drag paths declared by the route are absent from that list and from disk, so this run supplies no live camera-drag proof. The unchanged look behavior has 33 passing input regressions. There are zero page exceptions; the only browser console error is a favicon 404.
The fresh snapshot is `artifacts/enemy-control-followup-2026-10-06/frozen-20261006-172147833/`. It contains 5,967 build files (118,392,707 bytes) and a complete copied content manifest, version `content-2160be7ff070205b`, SHA-256 `85fc9f1c504c82aa794806b8a634596a07b34ba63e0bf66530243fe76e2d0356`. All 27,587 referenced objects (6,568,369,443 bytes; 21,605 logical entries) were verified before QA. Build and content fingerprints remain unchanged before/after the run. Root's labeled audit rehashes every frozen build file, seven loaded chunks and all 2,124 actually served manifest objects (77,019,550 bytes), then checks event continuity, boss identity and native completion; it passes with zero integrity failures. Recorded successful URLs/status metadata match immutable local sources. Raw network response bodies were not retained, so independent response-body hashing is not claimed.
The live record, utility events and root integrity audit are under `playtest-artifacts/stockade-weapon-utilities/20261006-172609059/`. Historical full-clear field names certify only the entered one-boss slice. No gameplay source changes or additional live runs followed the freeze.
The Luna extra-high evidence-review subprocess completed an independent read-only check of the captured run, matching the seeded boss/native result, unchanged fingerprints, root integrity audit, event continuity and three Daze grant pairs. It also confirmed the absent slow-state/camera evidence and the results image's historical filename. One adjacent event timestamp pair, IDs 714/715, runs backward by 1 ms; event IDs remain distinct and consecutive, so timestamp monotonicity is not claimed. Final game release hygiene, including untracked paths, and the task's separate vault diff/text checks pass. Canonical feature/workflow notes are updated and the worklog is closed.
## Remaining boundaries
General shout Magic miss/resist/deflect needs fuller original-caster, active-spell, defender and configuration inputs; no guessed roll was added. None-class aura-only children keep their source distinction. Other utility ranks/profiles and immunity grants, remote actor authority, hostile-NPC exact flee behavior, general aura-state immunity, Deterrence siblings, the private Ascension stance DUMMY consumer and exact source Targorr Thrash timing remain gated. Native/CoA builds stay Needs Testing. No full Stockade campaign, Wailing live test, staging, commit or deployment is part of this pass.