1.3.0-release
What's new
lightweight tag e1663a8d6de4b022c714f8a04158a99990118184 1.3.0-release
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Mon Jul 20 13:13:53 2026 +0000
commit e1663a8d6de4b022c714f8a04158a99990118184
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Mon Jul 20 13:13:53 2026 +0000
Prep for 1.3.0 release
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
commit 0ee98be24c6b9a366a198f5d2aea9a71a288fc94
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Mon Jul 20 12:34:41 2026 +0000
Add scrollbar and line counter to the debug console (debug-logging-§11)
The debug log was a wheel-only ScrollingMessageFrame with no way to read
scroll position or buffer fill (anti-pattern #41). Add a thin right-edge
Slider synced both ways to the log's scroll offset — drag scrolls, wheel
moves the thumb — always shown but inert when the log fits (options-ui-
§10), plus a bottom "N / 500 lines" counter in the log's monospace font,
updated on append and reset on Clear. Drive the log only with the Lua
mixin scroll API (GetMaxScrollRange/GetScrollOffset/SetScrollOffset),
guarded so the headless mock stays a no-op, and run the initial sync last
in the window build so a frame-API error can't blank the header or drop
ESC-to-close. Add a headless no-op guard test and a smoke-test row.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
commit 4adb6ef8a34a6304bbde5f21e375f8c4e9dbbba0
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Mon Jul 20 12:13:36 2026 +0000
Refresh README FAQ/Troubleshooting; swap in new screenshots
FAQ and Troubleshooting had drifted from 1.3.0 behavior: document the
debug console (window vs. logging), the now-instant default delay, in-
combat deferral of the popup and settings panel, and popup/debug window
position persistence. Correct the "How it works" and settings-panel
notes to match. Replace the old dialog/chat screenshots with the current
popup, chat, and settings-panel captures and repoint the README images.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
commit b81bc3774e1cfa163b4898823f39b35d35e738d8
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Sun Jul 19 07:52:24 2026 +0000
Add What's-new section for 1.3.0; sync Version History row
Add a player-facing "What's new in 1.3.0" section above Screenshots per
documentation-§1 item 5 (standard v2.9.0), and reconcile the stale top
Version History row so the two agree. Highlights: Settings page now
appears in the AddOns list at login, chat/popup fire instantly on join,
new /wg debug console, colour-coded slash output, full clean Defaults
reset, and the 12.0.7 patch update.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019TPbRAtiHkwrb57aguvtw5
commit fd5d431bd9135f397a49cfa1a7aa085b6c41abfe
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Sat Jul 18 19:19:03 2026 +0000
Close 2026-07-18 audit deviations (MUST + WG-17/WG-27)
Remediates the deviations from docs/audits/2026-07-18, per the requested
scope (all MUST except WG-09, plus SHOULD WG-17 and WG-27):
- WG-22/23: one secret-safe chat printer (core/Util.lua — NS.SafeToString
/ NS.Util.print). ShowNotification and NS.Debug now stringify every arg,
so a combat-protected value can't raise in the chat/debug path.
- WG-24: profile default VALUES move to defaults/Profile.lua (NS.C); each
schema row references default = C.<path>, keeping schema-as-single-source.
- WG-25: combat panel-open refusal uses the canonical grey notice.
- WG-26: popup + debug console persist their window position
(db.global.windows), via the shared NS.Windows helpers.
- WG-29: new /wg version verb. WG-19: drop the help-header trailing colon.
- WG-14: reorder the TOC file-listing sections to the mandated order
(Libraries -> Locales -> Core -> Defaults -> Modules -> Settings).
- WG-17: vendor AceTimer-3.0 and route the notify delay through
self:ScheduleTimer / CancelTimer (self.notifyTimer), replacing the
notifyGen counter. The two 0-delay secure-defer hops stay raw by design.
- WG-27: rename CLAUDE.md's section to "Standards compliance (read first)".
Tests: 48 -> 61 (new test_util, test_slash suites); luacheck clean. Docs
synced across ARCHITECTURE, agent-context, capture-pipeline, file-index,
scope, slash-dispatch, settings-system, frame, debug-console, testing, and
the README tests badge. Includes the frozen audit bundle.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H5zpeBoB1vqxYCrGAw3xHG
commit bd2eb3f0b0e79d5eb1445d461ea116bdf5d4a28e
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Fri Jul 17 21:05:27 2026 +0000
Sync docs: fix tests badge count and stale debug-log references
README tests badge showed 45/45; the suite is at 48/48 (test-cases.md
already current). common-tasks.md cited two debug lines the code never
emits ("activity table OK", "GetTeleportSpell HIT") — replace with the
real [Apply] and [Frame] log lines.
commit b55b5b1b4e772d9de118de03f7ac9c302ad57cf6
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Fri Jul 17 19:34:30 2026 +0000
Pair Debug console into the grid; make it toggle window visibility only
Two refinements to the General panel's Debug console checkbox:
- It now packs into the two-column grid beside "Print to Chat"
(Enable | Auto Show / Print to Chat | Debug console / Test), instead
of sitting alone above the Test button. RenderSchema gains a
pairExtras slot for non-schema rows that participate in grid pairing
via a shared addToGrid helper, and makeCheckbox accepts custom
get/set so a virtual row can drive arbitrary state.
- The checkbox now toggles ONLY the console window's visibility
(NS.DebugLog Show/Hide via a new IsShown accessor); it no longer
flips the debug logging flag. Still session-only and non-persisted —
no schema row, no db.profile write, unchecked at every login.
Docs and smoke-test §3.6 updated to match.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H5zpeBoB1vqxYCrGAw3xHG
commit 7178901c500a4e1151d8928cdf76377c015f095e
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Fri Jul 17 19:20:20 2026 +0000
Add General debug toggle, default delay 0, log teleport presses
Three UX changes from in-game observations:
- Settings > General now carries a session-only "Debug console"
checkbox (WG-12 / debug-logging-§5). It is deliberately not a schema
row: it drives NS.State.debug through the DebugLog seam, never
db.profile, so it stays off /wg list and never persists — the box is
always unchecked at login. An OnShow hook re-syncs it with /wg debug
and the console's own toggle.
- notify.delay default drops from 1.5 to 0, so the notification and
popup fire immediately on join; raise it to reinstate a settle delay.
- The secure teleport button logs one [Frame] line per press (down
edge) via a taint-free PreClick, for capture-flow debugging.
Tests and live docs updated to match; frozen audit/review snapshots
left untouched.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H5zpeBoB1vqxYCrGAw3xHG
commit aaf78dd72f9ca657c8186a524ba77fb444177e61
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Fri Jul 17 17:51:22 2026 +0000
Record vendored debug font + logo as accepted deviations (WG-20/21)
The Blizzard-default-only audit found two intentional non-Blizzard
default assets: JetBrains Mono (debug console, satisfies debug-logging
-§2 since retail ships no guaranteed monospace face) and the addon's
own logo TGA (branding). Neither is a standard violation, so record
both as accepted deviations from the addon's Blizzard-default-only
baseline via in-code SHOULD-justification comments and ARCHITECTURE
notes. Comments/docs only — no behavior change.
commit b8e76f5fba91e37c1c976794e2e9491edd69800f
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Fri Jul 17 14:45:17 2026 +0000
Harden settings reset to yield a pristine profile
RestoreDefaults now wipes db.profile before re-threading schema
defaults, so keys orphaned by a removed/renamed row or a hand-edited
SavedVariables no longer survive a "reset every setting". Table
defaults are deep-copied so the profile can't alias the schema's
canonical default, and per-row onChange is skipped since the default
baseline is already the reconciled state (RefreshAll is the single
reconcile). Add F1/F2/F3 regression tests and sync the settings,
slash, and smoke-test docs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H5zpeBoB1vqxYCrGAw3xHG
commit b72377ecdca063cfe9354277e788d70499382ebb
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Thu Jul 16 12:40:14 2026 +0000
Correct WhatGroup.VERSION line citation in common-tasks doc
The version-bump site table pointed at WhatGroup.lua line 32; the
VERSION constant is on line 34. Fixes the stale line number so the
bump recipe lands on the right line.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H5zpeBoB1vqxYCrGAw3xHG
commit 91edb2add027ab849eeb2c94610bb7fb9099dfc4
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 20:23:40 2026 +0000
Correct API-dependency list and retire stale namespace note
ARCHITECTURE.md listed CastSpellByID as a dependency, but the addon
never calls it — teleport casting goes through a secure macrotext to
avoid ADDON_ACTION_FORBIDDEN. Add C_Spell.GetSpellName +
SecureActionButtonTemplate, which are actually used.
agent-context.md's note that "some topic docs still describe the
pre-refactor _G.WhatGroup shape" is obsolete — no living doc does.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit 3cac217ae0846ae838de018b42dcbc3903e1e28c
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 20:06:03 2026 +0000
Register Settings panel at login so it appears in the AddOns list (#3)
WhatGroup deferred Settings.Register() to first /wg config on the belief
that registering a canvas category at boot taints GameMenu's Logout
closure. Every other Ka0s addon (AbsorbTracker, KickCD, LootHistory,
ConsumableMaster) registers at OnEnable/OnInitialize with no taint — the
original diagnosis was a confound with the since-removed AceHook closures.
- Call self.Settings.Register() from OnEnable (PLAYER_LOGIN), matching
AbsorbTracker; the "Ka0s WhatGroup" entry is now in Settings -> AddOns
at login, no /wg config needed
- runConfig keeps an idempotent Register() call as a no-op fallback
(covers the rare login-in-combat case)
- The real boot-taint sources (secure teleport button, UISpecialFrames
insert) stay deferred in Frame.lua; widget bodies still build lazily
on first OnShow, so no AceGUI frame is created in a secure chain
- Correct the docs that asserted the old invariant (wow-quirks taint
list 3->2, ARCHITECTURE, settings-system, file-index) and add the
login-register case to the smoke-test checklist
Headless: 45 tests pass, luacheck 0/0. Needs the in-game §1.3
GameMenu->Logout smoke test to confirm no taint regression before ship.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit 125ade13442c67afa64217ebcd290a4a39e96730
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 14:25:29 2026 +0000
Rewrite README as a player-facing document (documentation-§1, v2.1.0)
Standard v2.1.0 defines the README as player-facing and removes its
Testing section. Bring WhatGroup's README into line.
- Remove the ## Testing section — the headless harness, luacheck, and
smoke-test how-to already live in docs/testing.md; the [tests] badge stays
- Rewrite the prose in plain language: drop code-facing jargon (saved-var
names, state machine, CLI peer, capture stage, …) and break up the
stacked em-dash run-ons; describe what the player sees
- Add the Tab | Covers table to the Settings panel section (documentation-§1)
- Trim Version History to user-visible changes, drop internal-refactor
notes, rename the column to Highlights
No version bump.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit 1adb33048274608638d5255d30467a3471eb096a
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 14:05:02 2026 +0000
Renumber standard refs to filename-§N scheme (drop retired §N.M)
The Ka0s Standard retired global §N.M section numbering (v1.5.0 split)
for per-file filename-§N cross-references. Convert every stale ref in
this addon's code comments and docs to the new scheme.
- Map each ref by content: §7.4→slash-commands-§4, §8.3→localization-§3,
§12.5→debug-logging-§5, §4.1→architecture-§1, §9.8→events-frames-taint-§8,
§14A→testing-§4, bare debug refs→debug-logging-§N, etc.
- Resolve context-sensitive tokens (§10 is public-api in namespace context
but debug-logging-§10 in logging context; §5 is slash-commands-§5 in the
settings-output path, testing-§5 for the --list inventory)
- Regenerate docs/test-cases.md after the six test-name refs moved (pass
count unchanged at 45)
- Leave §0 (deviation-justification rule, no new anchor) and smoke-tests.md's
own internal section numbering untouched
Tests (45) and luacheck (0/0) green. No version bump.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit 63195a8636f16b214cd63d968f51fb9d3ca78e73
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 13:37:16 2026 +0000
Migrate to modular layout (Standard v2.0.0); remove tier system
Ka0s Standard v2.0.0 retires the two-tier system — a single modular
layout is now the only conformant structure. Restructure WhatGroup to
match and scrub every tier reference from its docs.
- Move flat root sources into core/ defaults/ locales/ settings/ modules/
- Split WhatGroup_Settings.lua into settings/Schema.lua (schema + helpers)
and settings/Panel.lua (canvas panel), matching the reference addons
- Rename Locale.lua -> locales/enUS.lua, WhatGroup_Frame.lua -> modules/Frame.lua
- Adopt the standard load order (core -> defaults -> locales -> settings ->
modules); core/WhatGroup.lua now references NS.L at runtime since
locales/ loads after core/
- Point the TOC and the test-runner SOURCES at the new paths
- Sync README/CLAUDE/ARCHITECTURE + topic docs to the modular layout;
fix stale standards/01_STANDARD.md -> STANDARDS.md
Tests (45) and luacheck (0/0) green. No version bump.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit a66176c49b01bed24cb3ddeb02939d76dc5ad2d5
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 12:24:00 2026 +0000
Adopt Ka0s Standard v1.14.0 badge row; refresh logo asset
- README badge row → the five v1.14.0 badges in documentation-§1 order:
WoW (purple, Midnight_12.0.7 in lockstep with TOC ## Interface: 120007),
CurseForge, License (MIT, orange), Ka0s WoW Addon Standard (yellow), and
Tests (45/45, green — from the generated docs/test-cases.md).
- docs/agent-context.md: add the [wow] ↔ TOC ## Interface: keep-in-sync Hard
rule, companion to the existing [tests] ↔ docs/test-cases.md rule — both are
static badges that go stale silently, so each rides the change that moves its
source of truth.
- media/logos/whatgroup.logo.{png,tga} + README logo URL: refreshed logo asset
(CurseForge attachment 1794/926).
Note: these v1.14.0 badge templates lead the currently-published standard
(WowAddonStandards is at v1.13.0); the standard repo still needs the matching
documentation-§1 / testing-§5 bump so the addon and standard reconverge.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit 1670da3b4d9a303914a28d46b23cbaa4684df9f0
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 11:49:49 2026 +0000
Fix topic-doc drift (sync-docs pass)
Reconcile stale claims in topic docs against current code — no code change:
- agent-context.md: suite list now names all 6 suites (add test_debuglog).
- common-tasks.md: WhatGroup.VERSION is at WhatGroup.lua:32 (was 25); the
version-bump helper is `wow-addon:bump-version` (was `version-bump`).
- settings-system.md: drop the stale [Debug] checkbox from the panel mockup —
debug is session-only, no longer a panel control (WG-12).
- frame.md: describe WhatGroup as the NS.addon object, not a _G.WhatGroup
global (pre-refactor phrasing flagged in agent-context.md).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit 3110e57efefcc373d5dbbdcb177e92e1b873b6e3
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 09:58:02 2026 +0000
Record CRLF/test-cases.md sync as an accepted deviation (§0 justification)
.gitattributes enforces eol=crlf on all text incl. .md, so testing-§5's raw
`diff <(lua tests/run.lua --list) docs/test-cases.md` reports a spurious diff.
Add a §0 SHOULD-justification noting we verify sync the git-native way
(`git diff --exit-code`) rather than exempting the file to LF.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit 47c28b0b8a976514dee84a03234fa303a80e1c80
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 09:51:27 2026 +0000
Adopt testing-§5 docs: tests badge, docs/testing.md, sync-discipline rule
- README: add static `tests-45/45_passing` shields.io badge to the badge row
(after published-version, before license, per documentation-§1); Testing
section now points at the generated docs/test-cases.md as the authoritative
count and notes the badge is hand-maintained.
- docs/testing.md (new): the verification model — green gate, the non-executing
--list inventory mode, and the "keep inventory & badge in sync" rule. Current
status points at docs/test-cases.md rather than hard-coding a count.
- docs/agent-context.md: add the inventory/badge lockstep Hard rule and a
doc-index row for testing.md.
Sync verification uses the git-native `git diff --exit-code -- docs/test-cases.md`
because .gitattributes stores .md as CRLF on disk while --list emits LF, which
would make the raw `diff <(…)` report a spurious whole-file diff.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit 51e337fe304108ddb3cfde077bf562f3e5e71528
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 09:47:51 2026 +0000
Add non-executing --list mode + generated test-case inventory (testing-§5)
Adopt testing-§5 (test-case inventory & coverage badge). `lua tests/run.lua
--list` now loads every suite, stamps each registered case with its origin
suite file, and prints the docs/test-cases.md body (per-suite sections +
grand total) without running any test, then exits 0. Default run behaviour
is unchanged. Generated docs/test-cases.md is the authoritative pass count
(45/45).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESCM433jvcfjgZqn7aijrN
commit 2813554efe8b5d74090432ab8e5f48c3220156b0
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 09:10:55 2026 +0000
Enrich debug logging; comply with Ka0s standard v1.12.0 §5
Two rounds of debug-console work, both applying the standard's
debug-logging content rules so a pasted log tells the story of what
the addon did.
Coverage + anti-spam (§8/§9/§10):
- Merge apply+capture into one [Apply] summary; add [Notify]
fired/cancelled, [Frame] popup/teleport, [Migrate], [Test] traces.
- Coalesce /wg reset to one [Reset] line (skipLog opt) instead of one
[Set] per row; trim tag-echoing prefixes.
- Log every settings change once as [Set] <path> = <value> at the
Helpers.Set seam; the disable-flip logs a single material-effect
[Capture] wiped line only when a capture was in flight.
SetEnabled seam (§5, standard v1.12.0):
- Colour-code the chat ack: ON green (40ff40) / OFF red (ff4040),
matching the title-bar toggle so the flag reads identically in chat
and console.
- On enable, emit one [Init] session summary via raw DebugLog:Add
right after the bracket line — addon/version, schema, profile, plus
current runtime state — so a pasted log is self-identifying. Emitted
at the seam (not login) because the flag is session-only and off at
login. Supersedes the earlier LogState snapshot.
Debug stays session-only. Tests + luacheck green (45 passing).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
commit 6051b3067a0dce0f2a0c71974b4c93386503ea43
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Wed Jul 15 05:55:01 2026 +0000
Add on-screen debug console; colour slash list/get output
Debug output now routes to a styled on-screen console (DebugLog.lua)
instead of [DBG] chat spam — required by debug-logging §7 for any addon
with a main window; mirrors Ka0s AbsorbTracker's reference console.
- /wg debug toggles the console window; /wg debug on|off toggles the
session-only NS.State.debug flag through one SetEnabled seam.
- Colour /wg list/get/set per slash-commands §5 (green header, azure
section headers, gold/white key=value via FormatKV).
- Vendor LibSharedMedia-3.0 + JetBrains Mono (media/fonts) for the
monospace console log.
- Sync docs (debug-console.md + topic docs) and add tests/test_debuglog.lua
(39 headless tests passing, luacheck clean).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
commit 3b18e8a6dfdcb3f6935c91467c2e890f4649c9a1
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Mon Jul 13 05:56:44 2026 +0000
Move audit/ and reviews/ under docs/; fix doc references
Relocate the frozen audit and code-review bundles to docs/audits/ and
docs/reviews/ (git renames, history preserved), matching the /wow-addon
plugin's new output layout. Update every live reference: the CLAUDE.md +
agent-context.md snapshot pointers, the .luacheckrc exclude paths, and the
.pkgmeta ignore list (docs/ already covers both, so the dead root entries
are dropped).
Also fold in the sync-docs sweep: fix two ARCHITECTURE.md links left
pointing at the old repo-root path after it moved into docs/ (file-index.md,
scope.md), and correct capture-pipeline.md's "Four module-locals" -> "Five"
to match the table it heads.
Note: root-level audit/ + reviews/ is the standard's current convention, so
this is a deliberate change to that convention (the plugin now emits under
docs/) — the standard definition should be updated to match.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YWxf4Gq3rCWiH5CcRTdUb6
commit 33f0c262e399c1855d891c7e046147d8fe9bb886
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Mon Jul 13 05:42:18 2026 +0000
Add standards-adherence + deviation-flagging rule to instructions
Make working against the Ka0s WoW Addon Standard an enforced project rule
rather than a passive "adheres to" note. Adds a "Standards adherence"
section to the CLAUDE.md stub (auto-loaded every session) and mirrors it as
the first hard rule in docs/agent-context.md: check every change against the
standard, and on any deviation stop and let the user decide whether it's an
accepted deviation here or a change to the standard definition itself.
(A matching persistent memory reinforces this via MEMORY.md each session;
that lives outside the repo under ~/.claude and is not part of this commit.)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YWxf4Gq3rCWiH5CcRTdUb6
commit cee06235481c8ab67106f561558004feea0230ff
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Sun Jul 12 21:18:51 2026 +0000
Release 1.3.0; sync topic docs to NS namespace
Bump 1.2.0 -> 1.3.0 (TOC + WhatGroup.VERSION + a new README Version
History row). Sync the remaining docs/ topic files to the post-remediation
state: no _G.WhatGroup, session-only NS.State.debug (no persisted debug
setting / panel checkbox), NS.Compat spell-lookup routing, shared NS.PREFIX,
global.schemaVersion in the saved shape, and the em-dash-free help header.
Gates: lua tests/run.lua (28 passed, 0 failed), luacheck . (0/0).
No behaviour change beyond the debug-session-only shift already shipped.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YWxf4Gq3rCWiH5CcRTdUb6
commit 247b820dadad4f9eff6e0261dfc8a6cc0a36210f
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Sun Jul 12 21:10:17 2026 +0000
Remediate against Ka0s WoW Addon Standard v1.0.0
Closes the 2026-07-12 audit's MUST/SHOULD deviations, except the
deliberately deferred taint-sensitive settings registration (WG-02/WG-18,
which needs in-game Logout-taint verification first).
- WG-01/19: private NS namespace in every file; drop _G.WhatGroup;
shared NS.PREFIX; align /wg help header to the standard shape
- WG-03: Compat.lua as the sole caller of the variant spell/LFG APIs
- WG-07: Locale.lua (NS.L shell); route player-facing strings through it
- WG-08: Database.lua schemaVersion + idempotent RunMigrations
- WG-12: debug is session-only (NS.State.debug), off on every login
- WG-09/11/14/15/16/17: TOC field order + X-Standard/X-Curse-Project-ID,
# Addon header, TeleportSpells.lua to root, logo to media/logos/,
documented C_Timer-over-AceTimer deviation
- WG-04/05/06: headless test harness (28 tests), .luacheckrc, .pkgmeta
- WG-10/13: CLAUDE.md stub + docs/agent-context.md; ARCHITECTURE.md to
docs/; README Testing section + Standard badge; sync [wow] badge
Gates: lua tests/run.lua (28 passed, 0 failed), luacheck . (0/0).
No behaviour change; version unchanged. See audit/2026-07-12/06_EXECUTION_OUTCOME.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YWxf4Gq3rCWiH5CcRTdUb6
commit fe4de60905a00c32e7af90db211d97ede1ce859b
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Sun Jul 12 20:14:42 2026 +0000
Add standards audit bundle (2026-07-12, standard v1.0.0)
Read-only compliance audit against the Ka0s WoW Addon Standard v1.0.0.
Assigns deviation-ID prefix WG-. Findings: 13 MUST, 6 SHOULD.
Headline gaps: deferred settings registration (WG-02), global _G
namespace instead of NS (WG-01), and absent test/lint/packaging
toolchain (WG-04/05/06). Full catalogue, evidence, remediation design,
and execution plan in audit/2026-07-12/.
No addon source, TOC, or config changed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U6eJj96m5NbSj6XcprWmKa
commit d1ab998505477b11b1affb664de7e49d1e5c0661
Author: Tushar Saxena <tushar.saxena@gmail.com>
Date: Sun Jul 12 19:44:44 2026 +0000
Bump Interface to 120007; sync interface refs in docs
Retail Live Servers moved to 120007. Update the TOC and the three docs
that cite the interface line (CLAUDE.md, docs/scope.md, docs/file-index.md)
so the addon reports current in-game and the docs stop claiming the old
120000,120001,120005 list.
This mod has no additional files