# Enemy source parity continuation — 2026-10-06 ## Result Ordinary source NPC defense consumes target-local block chance, ignore-hit-direction, and critical-block aura inputs. Successful ordinary and post-hit blocks roll the source integer critical-block chance independently, doubling block value on success. Player/party auto damage events carry their actual weapon hand, and the QA recorder projects those results onto committed Disarm windows. Imported Intimidating Shout 5246 and Frightening Shout 19134 now use separate explicit-victim child and caster-centered area targeting. The parent cast retains its captured victim through threat changes and rechecks eligibility, range and LOS at release. The area uses an inclusive 8m 3D radius without a separate LOS check, and 5246 caps its shared area selection at five. The eligible explicit victim can also receive the area aura. The child/parent controls remain independently stored; their longest active timer governs control, with stun winning equal expiry ties. All four source rows have Dispel 0. A different caster preserves an existing copy; same-caster recasts refresh it. Timed recipient auras survive caster removal. The Ascension 20511 child also applies its sourced +15% physical damage taken. Epoch has no such rider. The compiler checks parent and child DBC signatures, trigger links, cap, attributes and Dispel before emitting the new descriptor. Catalog regeneration changes six attack effect descriptors across four dungeons and adds 11,095 explicit source GUIDs to static spawns and patrol members. All other catalog data, geometry, health and populations compare equal to the pre-generation snapshot. `artifacts/enemy-source-parity-2026-10-06/catalog-diff.json` and `catalog-equipment-audit.json` retain both checks; the compressed catalog matches the JSON output. The boss guide describes the distinct victim and area effects. The exact pinned equipment table is recovered and hash-checked. Its imported 13,277 spawn assignments join source selectors to sanitized virtual item IDs using the pinned Item.dbc inventory whitelist. An ordinary NPC with a validated offhand weapon gains AUTO offhand capability, keeps its independent half-delay timer, and restores that capability after evade/death resets. Source GUIDs travel from the compiler through population/scene registration and the selected Cellblock Rush boss clone. Missing or mismatched GUIDs, empty hands, shields, unsupported selectors and native actors do not acquire AUTO offhand attacks. Item stats, model attachments and loot are outside this mapping. ## Source boundaries - Improved Blocking 3419 is a complete supported source import. Critical Block 47294–47296 and Deterrence variants supply reviewed block-input contracts but remain gated as complete automatic spell imports: their sibling effects are unsupported. The runtime tests explicitly use block-input fixtures. - Non-direct full-hit blocking has a bounded source proof for WoW Shield Bash 72. Its helper proves only the relevant custom-attribute bits for one pinned core and database snapshot. Utility/status application consumers and other source profiles remain open; a client DBC alone does not establish absent custom bits. - Equipment selector zero, exact positive IDs, ordinal-plus-one random selection, and alternate entry validation use the recovered matching source. Synthetic actors lack an explicit source GUID and remain unbound; no-spawn-data ID-1 defaults are not inferred. This mapping does not import item damage or stats. - Hostile-NPC outgoing threat is source-inapplicable to the current enemy target path. Current eligible recipients are playable player/party actors or owned summons; a future NPC-vs-NPC path requires a recipient-side threat-list model. - Parent shout aura 31's movement-speed rider, additional server hit/immunity exceptions, Ascension stance DUMMY behavior, exact Thrash source cast timing, native custom gear/rates/prerequisites and wider proc formulas remain open. Source audits: [block auras](NPC_BLOCK_AURA_PARITY_2026-10-06.md), [triggered shouts](ENEMY_TRIGGERED_SHOUTS_2026-10-06.md), [equipment mappings](ENEMY_EQUIPMENT_MAPPING_2026-10-06.md), and [threat boundary](HOSTILE_NPC_THREAT_BOUNDARY_2026-10-06.md). ## Validation - Initial source/hand checks: 90 tests across 17 focused files passed. After equipment integration, 73 affected helper/runtime/population tests across 10 files passed; these groups overlap and are not additive. - Importer, compiler pin, actor Disarm evidence and committed recorder checks: 20 Node tests passed. The wrapper's `--prepare-only --bite-sized-stockade` syntax check passed without starting a server or browser. - Ready-five: 7 Vitest and 20 Python tests passed. Avatar checks: 56 passed. No full-suite or all-class sweep was run. - Independent Luna reviews found no confirmed issue in shared block/shout integration or source GUID/equipment registration/reset behavior. The new equipment runtime fixture explicitly requires pinned flags before reading them, fixing two optional-value errors caught by the first TypeScript build. - Standard `npm run build` passed after that fix: TypeScript, Vite, environment audits, static compression and release-bundle verification. The asset audit has its existing 60 budget exceptions and no regressions. Existing build prehooks regenerate the same 9-boss/23-item catalog; no loot is wired here. - Catalog metadata audit: 11,095 source GUID additions, 30 leaf changes within six reviewed shout descriptors, zero other changes, matching compressed JSON. The reviewed build is frozen at `artifacts/enemy-source-parity-2026-10-06/corrected-build-20261006-054606946/`. All 5,967 build files are verified, aggregate SHA-256 `50f723e4737f01fe82973c1a9c8259a4358179c1df74373b587fa76fb69b44a7`. The unchanged isolated content copy is reused from the earlier fully verified freeze: manifest SHA-256 `ac0fa2a867ba0a495c172de2b89532d69b32d56d032482b26020ce2d189f074b`, 27,571 objects, 6,489,632,021 bytes. This freeze rehashes both content manifests and the complete new build; it does not recopy those unchanged objects. All subprocesses use GPT-6 Luna with extra-high reasoning. The workspace includes concurrent changes; no stage, commit or deployment is part of this task. Level cap 80, existing loot scope and readiness policy remain unchanged. ## One final live check Run `playtest-artifacts/stockade-weapon-utilities/20261006-054628643/` uses the frozen build and normal Cellblock Rush entry. The UI-created Discipline Priest profile receives isolated pre-entry level-30 preparation; four companions are asserted against the Ready-five set. Gameplay uses ordinary movement, target, party-command and healing inputs with read-only committed telemetry. No Boss Testing, combat-state writes, enemy/aura seeding or teleports are used. The seeded boss is **Targorr the Dread**, entry 1696, source/live actor `creature-84027`, from source dungeon `stormwind-stockade`. Native killed-boss progress and the results overlay agree on **1/1** in **03:10.3**. No player or party deaths are recorded; effective player healing is 2,845.8. This certifies the entered bite-sized slice, not the five-boss full campaign. The recorder retains 794 consecutive post-baseline events with zero ID gaps, sampling errors or capacity loss. Actual NPC weapon results comprise 60 mainhand, eight offhand and four Thrash extra-mainhand outcomes. The latter retain source spell 3391. Three queued-extra-attack state observations and 89 positive offhand timer observations are also retained; snapshots are not activation counts. Player/party auto results contribute 162 actual hand events. Targorr's committed source-equipment snapshot retains GUID 84027, selector/set 1, virtual items `[5305, 5305, 0]`, offhand Class 2 and AUTO capability, including a pre-engagement state with no armed offhand timer. Three committed actor Disarm windows contain four such results; their presence does not independently prove contribution formulas or cast gates. Runtime regressions provide that bounded coverage. The seed records three Disarm and 39 Wound aura snapshots. Bloodlust, block and triggered-shout aura applications are unobserved in this seed; source/helper and runtime fixtures cover the newly implemented block/shout behavior. These absent live observations do not certify all spells or encounter variants. Root visually inspects the desktop roster, dungeon equipment silhouette, mid-route images and `bite-sized-stormwind-stockade-boss-arrival.png` (which captures the native results overlay). Player/companion bodies and staff, shield, sword and dagger silhouettes are visible. Overlap/occlusion limits a complete per-companion gear inspection. Results clearly show Targorr and 1/1. No page exceptions occur; the sole outer console item is a favicon 404. Both build and content manifest fingerprints remain unchanged before/after. The harness verifies 2,124 actually served hash-addressed, manifest-referenced content objects with zero integrity failures. Independent Luna audit rehashes all 5,967 frozen build files, the seven recorded loaded build chunks and all 2,124 served content objects (77,019,550 bytes), with zero failures. Recorded URLs and successful response metadata agree with those immutable sources; raw network response bodies were not persisted. Recorder IDs 9–802 are independently checked as consecutive. Evidence: `playtest-artifacts/stockade-weapon-utilities/20261006-054628643/independent-evidence-audit.json`. `npm run release:check` passes 399 changed paths including untracked files. Game/vault diffs are reviewed separately, and all six task vault notes pass EOF and trailing-whitespace checks. The worklog is closed; the one owned live helper, server and browser are cleaned up. No source changes follow the frozen live run.