# Beef Snapshot Agent Notes

## Goal

Build a TBC 2.4.3 addon that records observable server NPC and combat data before shutdown or reset.

## Compatibility

- Target client: WoW TBC 2.4.3 build 8606.
- Do not use Retail-only APIs such as `C_Map` or `CombatLogGetCurrentEventInfo`.
- Combat log event payloads are handled from direct event varargs, with fallback to legacy `argN` globals.
- Keep SavedVariables compact and capped.

## Data Rules

- Always store raw GUID when available.
- Parse NPC entry conservatively; if parsing fails, store by raw GUID/name.
- Do not store unlimited raw combat events. Preserve aggregates even as raw event lists roll over.
- Prefer simple Lua 5.1-compatible code.

## Manual Test Checklist

1. Place the addon at `Interface\AddOns\BeefSnapshot`.
2. Confirm it appears in the addon list for a TBC 2.4.3 client.
3. Log in and verify `SFS loaded. Use /sfs help.`
4. Target an NPC and run `/sfs print`.
5. Run `/sfs start`, `/sfs target`, `/sfs status`, then `/sfs stop`.
6. Reload UI or log out and inspect `WTF\Account\<ACCOUNT>\SavedVariables\BeefSnapshot.lua`.
