Label player auto-attack damage with its source ability identity #15

Open
opened 2026-10-13 23:01:58 -07:00 by Codex · 2 comments

The source player melee auto-attack damage event omits its ability ID, while its matching presentation release names player-auto-attack. Damage totals remain correct, but per-ability analysis places the actual auto damage in unknown and shows zero damage beside the auto swing count. This makes automated damage-output investigation misleading.

Discovered during owner-requested native all-class sweeps, tracked by Codex/healer-man-godot#439. Coordinator Root /root, session 01a12399-cfab-7c72-8455-e0e4cb7e156c, native branch feature/automated-combat-sweeps; source-tracing reviewer /root/issue439_catalog_audit, GPT-6.1 Sol extra-high. This is a recorded finding, not a claimed implementation task. No source changes or balance changes have been made.

Exact accepted combat source: src/game/combatStore.ts SHA256 5afefb58b9a02b564cf07140c19388163a8423d22695f3619d196a9d603eeb7d, immutable native input snapshot /Volumes/backup1tb-2/Projects/Issue-Fixes/native-rom-playable-party-2026-10-13/inputs/combat-source. At lines24403–24417, the main-hand auto damage call uses playerThreatSource(state) with no ability ID. Lines24459–24468 emit its presentation as player-auto-attack / Auto Attack. Source version/line references must be checked against current source before a fix; this frozen file is the reproduction reference.

Concrete saved cell cell-b501bc8a973eebe08188, WoW Death Knight Frost L10, frozen native diagnostic engine 7e88045ec9dc70546350451af2e4360a933cf9aa1f30565a4fecd67a510582e7: owner damage9,266, with4,632 in77 unnamed main-hand damage events matching77 auto releases by timestamp and target. Collector records77 player-auto-attack swings and0 damage under that ability. This particular low-level DK case is source-fallback due missing below55 stat rows; the event-ID omission is independently established by the source call path and does not imply its damage amount is certified. In the first121 saved cells,60 had unnamed damage coinciding with auto releases, totaling66,086; that broader temporal correlation is observational evidence, not a reassignment rule.

Evidence is retained under /Volumes/backup1tb-2/Projects/Issue-Fixes/automated-combat-sweeps-2026-10-14/campaign/cells/<cell-id>/{cell.json,analysis.json}. The native collector faithfully preserves the missing source identity; it must not silently infer IDs from timestamps or fabricate pet actors.

Acceptance for a future scoped source fix:

  • Emit an explicit source-owned auto-attack ability identity on actual player auto damage (including applicable hands and supported rulesets), keeping damage, hit/RNG, resources, timing and threats unchanged.
  • Ensure main/off-hand/proc/ability events remain distinguishable; do not classify ordinary melee spell damage as autos.
  • Add a meaningful source event-stream regression proving an authentic auto damage event joins its presentation/swing identity and that actor/per-ability totals reconcile without double counting.
  • Verify WoW/RoM/CoA source/native consumers and record exact source commit, review and the native engine rebuild separately. Do not rewrite this frozen diagnostic campaign or claim a balance correction.
The source player melee auto-attack damage event omits its ability ID, while its matching presentation release names `player-auto-attack`. Damage totals remain correct, but per-ability analysis places the actual auto damage in `unknown` and shows zero damage beside the auto swing count. This makes automated damage-output investigation misleading. Discovered during owner-requested native all-class sweeps, tracked by https://git.whoagland.com/Codex/healer-man-godot/issues/439. Coordinator Root `/root`, session `01a12399-cfab-7c72-8455-e0e4cb7e156c`, native branch `feature/automated-combat-sweeps`; source-tracing reviewer `/root/issue439_catalog_audit`, GPT-6.1 Sol extra-high. This is a recorded finding, not a claimed implementation task. No source changes or balance changes have been made. Exact accepted combat source: `src/game/combatStore.ts` SHA256 `5afefb58b9a02b564cf07140c19388163a8423d22695f3619d196a9d603eeb7d`, immutable native input snapshot `/Volumes/backup1tb-2/Projects/Issue-Fixes/native-rom-playable-party-2026-10-13/inputs/combat-source`. At lines24403–24417, the main-hand auto damage call uses `playerThreatSource(state)` with no ability ID. Lines24459–24468 emit its presentation as `player-auto-attack` / Auto Attack. Source version/line references must be checked against current source before a fix; this frozen file is the reproduction reference. Concrete saved cell `cell-b501bc8a973eebe08188`, WoW Death Knight Frost L10, frozen native diagnostic engine `7e88045ec9dc70546350451af2e4360a933cf9aa1f30565a4fecd67a510582e7`: owner damage9,266, with4,632 in77 unnamed main-hand damage events matching77 auto releases by timestamp and target. Collector records77 player-auto-attack swings and0 damage under that ability. This particular low-level DK case is source-fallback due missing below55 stat rows; the event-ID omission is independently established by the source call path and does not imply its damage amount is certified. In the first121 saved cells,60 had unnamed damage coinciding with auto releases, totaling66,086; that broader temporal correlation is observational evidence, not a reassignment rule. Evidence is retained under `/Volumes/backup1tb-2/Projects/Issue-Fixes/automated-combat-sweeps-2026-10-14/campaign/cells/<cell-id>/{cell.json,analysis.json}`. The native collector faithfully preserves the missing source identity; it must not silently infer IDs from timestamps or fabricate pet actors. Acceptance for a future scoped source fix: - Emit an explicit source-owned auto-attack ability identity on actual player auto damage (including applicable hands and supported rulesets), keeping damage, hit/RNG, resources, timing and threats unchanged. - Ensure main/off-hand/proc/ability events remain distinguishable; do not classify ordinary melee spell damage as autos. - Add a meaningful source event-stream regression proving an authentic auto damage event joins its presentation/swing identity and that actor/per-ability totals reconcile without double counting. - Verify WoW/RoM/CoA source/native consumers and record exact source commit, review and the native engine rebuild separately. Do not rewrite this frozen diagnostic campaign or claim a balance correction.

Owner-authorized fix now claimed. Coordinator Root /root, session 01a12399-cfab-7c72-8455-e0e4cb7e156c. Worker /root/combat_events_luna, model/reasoning gpt-6-luna / xhigh, branch fix/15-16-combat-event-lineage, source base a9322a3897. Scope: Player auto damage identity and source event-stream regressions. Isolated source worktrees preserve all native dirty work and frozen #439 archives. Focused source tests and Ready-five checks, independent review and source publication precede separately pinned native composition/adoption. No all-class campaign is repeated. The owner requested GPT-6 Luna xhigh workers for the simpler tasks.

Owner-authorized fix now claimed. Coordinator Root /root, session 01a12399-cfab-7c72-8455-e0e4cb7e156c. Worker /root/combat_events_luna, model/reasoning gpt-6-luna / xhigh, branch fix/15-16-combat-event-lineage, source base a9322a389709df5fb87c2423a825f09580a2d8fe. Scope: Player auto damage identity and source event-stream regressions. Isolated source worktrees preserve all native dirty work and frozen #439 archives. Focused source tests and Ready-five checks, independent review and source publication precede separately pinned native composition/adoption. No all-class campaign is repeated. The owner requested GPT-6 Luna xhigh workers for the simpler tasks.

Source implementation independently reviewed and published in #21 at exact head 2f8cb8a510. Combined validation: 94 focused tests, Ready-five 7 JavaScript +20 Python, full source TypeScript and required release check passed. Root /root session01a12399-cfab-7c72-8455-e0e4cb7e156c coordinates the named Luna xhigh workers. Native source composition/engine adoption is tracked separately by Codex/healer-man-godot#457; historical 873-cell evidence remains unchanged. Memory and final source/main/adoption states will be recorded before acceptance closure.

Source implementation independently reviewed and published in https://git.whoagland.com/phenom/healer-man/pulls/21 at exact head 2f8cb8a5104978e66077523202b4d7f9ec24ff60. Combined validation: 94 focused tests, Ready-five 7 JavaScript +20 Python, full source TypeScript and required release check passed. Root /root session01a12399-cfab-7c72-8455-e0e4cb7e156c coordinates the named Luna xhigh workers. Native source composition/engine adoption is tracked separately by Codex/healer-man-godot#457; historical 873-cell evidence remains unchanged. Memory and final source/main/adoption states will be recorded before acceptance closure.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: phenom/healer-man#15