You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Trace: keep the action verdict (res/reason) and add a spells oracle to trace-score #289
Source: ~/TortoiseBots-audit/PLAN-SPELL-AUDIT.txt (spell audit of 33 dungeon runs RFC/WC/Uldaman/ZF, 2026-10-20/21, 1 Hz TBM:VIEW feed; [V]=verified in data/code, [I]=inferred, [U]=unknown). Run ids are tests/ folders under ~/TortoiseBots-audit. Module commit read: 9f929a13.
Gaps found while auditing spell use (all runs r1-r7):
T-a: trace frames drop the verdict letter and reason (internal/dungeon/runtrace.go:454-456 does not copy tbm.PartyRec.Result/Reason). The 1 Hz VIEW only carries the newest verdict, so impossible/failed rows cannot be analysed from the trace.
T-b: run_meta.server_trace was off in every r1-r7 run, so the module's full action record (name, res, rel, src_trigger, cast_interrupted, killer) was never collected. This is the same blocker as #249 (CheckCommand rejects '.bot trace start'); this issue asks that test rounds turn it on (run_meta.server_trace=true + driver word in the slot settings; AiPlayerbot.RunTrace.Enabled=1 on the test server, needs a server config change = ask the owner first) and that the .jsonl/.summary.json is copied back with the run folder.
T-c: no spell-usage oracle in trace-score. Add checks (thresholds via --set, unit tests on small synthetic traces, each with pass + fail case, fail-if-removed; the 1 Hz caveat goes into each Detail): spell_mix (report), idle_share (15 %), mana_at_death (report), oom_in_fight (1 per 10 fights), interrupt_cover (30 % on CC/heal casts), taunt_latency (median 3 s), cc_hold (50 %), pet_threat (5 %), impossible_spam (report). Details: plan sections 1 and 6.
Owner: OURS (turtle-agent). Unlocks verification of the module issues filed from this audit.
Part done in PR #291: the verdict letter/reason (res/why) are kept in the frames and trace-score has a report-only 'spells' check with a Spells section. Still open here: collecting the server-side run trace (the config change on the test box) and the taunt-latency, cc-hold and pet-threat checks.
Progress: T-c is merged into dev via PR #297 (e48f459): the spells check reports taunt_latency (median over 3 s warns), cc_hold (long CC only, under 50 % held warns; Entangling Roots included) and pet_threat (over 5 % of mob-frames warns), all warning-only and settable with --set. Still open, so this issue stays open: T-b (server-side run trace on the test box needs the owner's config decision and round scripts copying it back) and oom_in_fight as a warning.
oom_in_fight is not a check yet (the check ids in internal/tracecheck/tracecheck.go end at pet_threat).
The spell oracle is being built now from the Turtle WoW knowledge base: expected core spells per spec, plus a fight-score command that agrees with the dashboard fight debugger's checks.
Fixed on dev: T-a in #291 (abd37a3), T-c in #297 (e48f459), oracle and fight-score in #316 (f1ff3fa), so oom_in_fight exists (internal/tracecheck/oracle.go:19). The one leftover, T-b (turning server_trace on in the test rounds), is a TB-side config choice and not code here.
Activity
Merge pull request #291 from pjerra/feat/trace-spell-usage
pjerra commentedon Oct 21, 2026
Part done in PR #291: the verdict letter/reason (res/why) are kept in the frames and trace-score has a report-only 'spells' check with a Spells section. Still open here: collecting the server-side run trace (the config change on the test box) and the taunt-latency, cc-hold and pet-threat checks.
Merge pull request #297 from pjerra/fix/ta289-spell-checks
pjerra commentedon Oct 22, 2026
Progress: T-c is merged into dev via PR #297 (e48f459): the spells check reports taunt_latency (median over 3 s warns), cc_hold (long CC only, under 50 % held warns; Entangling Roots included) and pet_threat (over 5 % of mob-frames warns), all warning-only and settable with --set. Still open, so this issue stays open: T-b (server-side run trace on the test box needs the owner's config decision and round scripts copying it back) and oom_in_fight as a warning.
pjerra commentedon Oct 28, 2026
Status 2026-10-28
Done:
res/why), and a report-onlyspellscheck exists.e48f4591):taunt_latency,cc_holdandpet_threatchecks, warning-only.Still open:
oom_in_fightis not a check yet (the check ids ininternal/tracecheck/tracecheck.goend atpet_threat).fight-scorecommand that agrees with the dashboard fight debugger's checks.pjerra commentedon Nov 1, 2026
Fixed on dev: T-a in #291 (abd37a3), T-c in #297 (e48f459), oracle and fight-score in #316 (f1ff3fa), so
oom_in_fightexists (internal/tracecheck/oracle.go:19). The one leftover, T-b (turning server_trace on in the test rounds), is a TB-side config choice and not code here.