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

154 lines
9.2 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 utility and control completion — 2026-10-06
## Implemented behavior
Ordinary source Creature self-casts can import Critical Block 47294–47296
through a separate guarded path. The known template, identical caster/target,
complete profile/rank signature and default-core aura 107 applicability proof
are required. Aura107 spell modifiers are no-ops for non-player targets on
that audited default path; aura 253 supplies critical-block chance. The generic
importer and Deterrence remain gated. No source creature assignment was found,
so this pass assigns no new NPC cast. A labeled synthetic runtime fixture
proves permanent application, critical blocking, no damage and reset cleanup.
Exact WoW335 Shield Bash 72 now rolls one ordinary-NPC block stage before the
player and companion utility effect loops. Full blocking cancels the entire
recipient effect list while retaining the accepted cast's cost and cooldown.
A zero-amount cast result carries the block flag; no damage packet is
fabricated. Existing facing, casting, control, no-block, native, summon and
character-defender gates remain authoritative. An actively casting NPC cannot
block, so an unblocked interrupt still uses the existing interruption path.
This stage adds block only; other utility hit/avoidance behavior is unchanged.
Additional ranks, profiles and unknown custom attributes are not inferred.
Source shouts 5246/19134 apply parent aura 31's +25% movement speed alongside
their caster-centered fear. Player and companion movement consume the
strongest active target-local tagged bonus. Fear and speed share the parent
aura's adjusted lifetime, source-caster refresh and caster-removal persistence.
Baseline durations remain 5/4 seconds in Ascension and 8/6 seconds in Epoch.
The source core adjusts one shared parent aura duration; a fear-duration
modifier therefore shortens its speed rider too.
All four parent/child rows carry spell-level MECHANIC_FEAR. Whole-spell fear
immunity rejects their controls and riders before per-effect immunity checks.
Stun immunity alone strips 20511's stun effect while preserving Ascension's
separate +15% physical-damage-taken rider. Epoch has no such physical rider.
Compiler pins now include spell mechanic and all eight raw attribute words;
regenerated campaign JSON is byte-for-byte identical to the starting snapshot.
## Source boundaries
The stance/Thrash audit rechecks four active world tables against both locks
at world commit 4d9d1d4b5723e819c5c390f6ca1177283dbfb8e3, separately from the
read-only historical core e822d718 behavior reference. Ascension passive 7376's
third effect is fixed DUMMY +42, with no recovered handler/registration; the
core correction only suppresses caster procs. It remains metadata-only.
Targorr 1696 is SmartAI. Its three source rows cast 674, cast 8599 at low health,
and talk; no row schedules 3391. The template spell list establishes Thrash
availability, and CombatAI's separate scheduler cannot supply SmartAI timing.
The existing simulator cadence is retained and remains explicitly approximate.
The existing player/party/summon fear policy immobilizes rather than reproducing
source fleeing AI. Eligible summons can receive the source aura, but their
control loop returns before movement for that shared lifetime. General Magic hit/resist/deflect, already-active aura purge
on an unidentified immunity grant, wider utility full hit tables, Deterrence
siblings, native custom equipment/rates/prerequisites and broader weapon/proc
formulas remain separate gaps. The shout rows alone do not prove an immunity
grant's `IMMUNITY_PURGES_EFFECT` flag. Shield Bash retains trigger 29703 in its
parent descriptor, but the Daze child is absent from the runtime catalog;
this pass cancels trigger execution on full block without claiming a live
child application.
Source reports:
[Critical Block imports](NPC_CRITICAL_BLOCK_IMPORTS_2026-10-06.md),
[utility blocking](UTILITY_SPELL_BLOCKING_2026-10-06.md),
[shout speed/immunity](ENEMY_SHOUT_SPEED_IMMUNITY_2026-10-06.md), and
[stance/Thrash audit](STANCE_THRASH_SOURCE_AUDIT_2026-10-06.md).
## Validation
The directly affected helper/runtime selection covers 96 passing tests across
15 files, including the final 15-test shout file and four new actual utility
runtime tests. Runs overlap and are not additive. The player utility fixture
proves one block result, normal completion telemetry, retained cost/cooldown
and no damage. The companion fixture is a synthetic accepted pending cast
completed through the real executor. Casting-defender interruption and all
excluded defender types are covered. Six compiler source-pin Node tests pass,
including all shout attribute words and Critical Block sibling drift.
Ready-five passes 7 Vitest and
20 Python tests, and avatar checks pass 56 tests. The production build passes
TypeScript with 8GB memory, Vite, environment audits, compression and release
bundle verification. Existing prehooks regenerate the same 9-boss/23-item loot
catalog; this task adds no loot wiring. No full suite or all-class sweep runs.
Luna's read-only review finds no confirmed defect in the shared block,
Critical Block, shout or compiler integration. Final utility tests and an
8GB TypeScript check pass after adding their fixtures. No production source
changes follow the final build/freeze.
## One final live check
Run `playtest-artifacts/stockade-weapon-utilities/20261006-141251022/` enters
Cellblock Rush normally with a UI-created Discipline Priest and four Ready
companions. Isolated pre-entry preparation sets level 30; gameplay uses ordinary
movement, targeting, healing and party commands with read-only telemetry.
No Boss Testing, teleports, combat-state writes or enemy/aura seeding occur.
The seeded boss is **Targorr the Dread**, entry 1696, source/live
`creature-84027`. Native killed-boss progress and the visible results overlay
agree on **1/1** in **03:09.2**. No player or party deaths occur. Seven effective
player healing events total 2,337, with 95 overheal. The result certifies this
one-boss slice; the harness's historical full-clear field names do not mean
the five-boss full Stockade campaign was tested.
The committed recorder retains 749 consecutive events, IDs 9–757, with no gaps,
errors, discarded events/states or coverage issues. Source NPC hand results
include 56 mainhand, four offhand and two Thrash extra-mainhand outcomes; the
extra swings retain source 3391. They demonstrate the existing simulator
schedule/effect, not a source-proven Targorr cadence. Player/party hand results
total 172. Three committed Disarm windows contain seven hand results; this
overlap is evidence of actual events, not independent proof of contribution
formulas. Three Disarm and 42 Wound snapshots are observed. Block/shout and
Bloodlust aura applications are unobserved; no live claim is made for them.
Critical Block has no real source creature assignment in this catalog.
Root inspects roster, dungeon equipment silhouette, mid-route and the native
results image (`bite-sized-stormwind-stockade-boss-arrival.png`). Player/party
bodies and staff, shield and blade silhouettes are visible. Overlap and HUD
occlusion prevent a complete per-companion gear inspection. There are no page
exceptions; the sole outer console item is a favicon 404.
The build freeze is
`artifacts/enemy-utility-control-2026-10-06/corrected-build-20261006-140236745/`:
5,967 files, 118,061,079 bytes, aggregate SHA-256
`8cf9513613aa3ef6a0a64de392e90521b0349d85311f930ba8808e868d6867d9`.
The unchanged isolated content copy is reused from the earlier fully verified
freeze: 27,571 objects, 6,489,632,021 bytes, manifest SHA-256
`ac0fa2a867ba0a495c172de2b89532d69b32d56d032482b26020ce2d189f074b`.
The new freeze rehashes the complete build and both content manifests; it does
not recopy unchanged content objects. Before/after fingerprints agree. The
harness verifies 2,124 actually served manifest-referenced hash-addressed
objects with zero integrity failures. Raw network bodies are not retained;
evidence joins recorded URLs/status with the immutable local source files.
The independent evidence-audit follow-up also fails with Luna capacity. Root
runs `root-evidence-audit.cjs` in the current live evidence folder, rehashing
all 5,967 frozen files, seven recorded loaded chunks and all 2,124 served
manifest objects (77,019,550 bytes), with zero failures. It independently
recomputes consecutive event IDs, native one-boss completion, zero deaths and
the error boundary from retained artifacts. `root-evidence-audit.json` labels
this root fallback explicitly; it is not presented as a completed subprocess
audit. No higher-tier subprocess is selected.
All subprocesses use GPT-6 Luna with extra-high reasoning. The utility runtime
follow-up failed because that model was at capacity; root completed its four
tests directly without upgrading a subprocess. Level cap 80,
Ready-five certification and loot scope remain unchanged. The shared workspace
contains concurrent edits; no staging, commit or deployment is part of this
pass. Historical source trees remain read-only.
Final `npm run release:check` passes 478 changed paths, including untracked
files. Game and vault diffs are checked separately; all 13 task documents
pass EOF and trailing-whitespace checks. Canonical notes and the closed
worklog record the implemented behavior and remaining boundaries.