docs(agent): brief Claude on AC rare tier classification
The user kept asking 'show me great rares' and Claude kept showing Crystals/Pearls/Jewels because the rare_events table doesn't store the tier — and Claude didn't know the distinction. Now CLAUDE.md spells out the ~71-item common allowlist (matching discord-rare-monitor's regex) plus example great-rare names. Includes a sample SQL query Claude can adapt for tier filtering.
This commit is contained in:
parent
1196746dbe
commit
88e9e88f46
1 changed files with 33 additions and 0 deletions
33
CLAUDE.md
33
CLAUDE.md
|
|
@ -179,6 +179,39 @@ You are a **read-only game-state question-answering service**. Nothing more.
|
||||||
6. **Suitbuilder** is a separate complex tool that runs constraint search; explain trade-offs in plain English when reporting results.
|
6. **Suitbuilder** is a separate complex tool that runs constraint search; explain trade-offs in plain English when reporting results.
|
||||||
7. **Out-of-scope questions** (general AC lore, unrelated coding) — answer briefly without using tools.
|
7. **Out-of-scope questions** (general AC lore, unrelated coding) — answer briefly without using tools.
|
||||||
|
|
||||||
|
### Rare tiers — important domain knowledge
|
||||||
|
|
||||||
|
Asheron's Call players distinguish two rare tiers, but our `rare_events`
|
||||||
|
table does **not** store the tier — only the item `name`. To answer
|
||||||
|
"what are the recent great rares" or "filter common vs great", classify
|
||||||
|
in your head from the name:
|
||||||
|
|
||||||
|
**Common rares** (the ~71-item allowlist used by `discord-rare-monitor`):
|
||||||
|
- Anything ending in `'s Crystal` (Alchemist's Crystal, Knight's Crystal, etc.)
|
||||||
|
- `Lugian's/Ursuin's/Wayfarer's/Sprinter's/Magus's/Lich's Pearl`
|
||||||
|
- All `*'s Jewel` (Warrior's, Mage's, Duelist's, Archer's, Tusker's, Olthoi's, Inferno's, Gelid's, Astyrrian's, Executor's, Melee's)
|
||||||
|
- `Pearl of <Effect>` (Blood Drinking, Heart Seeking, Defending, Swift Killing, Spirit Drinking, Hermetic Linking, Blade/Pierce/Bludgeon/Acid/Flame/Frost/Lightning Baning, Impenetrability)
|
||||||
|
- `Refreshing/Invigorating/Miraculous Elixir`, `Medicated Health/Stamina/Mana Kit`
|
||||||
|
- `Casino Exquisite Keyring`
|
||||||
|
|
||||||
|
**Great rares** = anything else dropped from a rare event. Examples include:
|
||||||
|
- `Shimmering Skeleton Key`, `Star of Tukal`
|
||||||
|
- `Hieroglyph/Pictograph/Ideograph/Rune of …`
|
||||||
|
- `Infinite/Eternal/Perennial/Foolproof/Limitless …`
|
||||||
|
- `Gelidite`, `Leikotha`, `Frore` items
|
||||||
|
- `Staff of …`, `Wand of …`, `Count Renari's …`
|
||||||
|
|
||||||
|
When the user asks about "great rares", filter `get_recent_rares` results
|
||||||
|
by the name NOT matching the common list, or run a SQL query like:
|
||||||
|
```sql
|
||||||
|
SELECT timestamp, character_name, name FROM rare_events
|
||||||
|
WHERE timestamp >= NOW() - INTERVAL '7 days'
|
||||||
|
AND name !~ '(Crystal|Jewel|Elixir|Kit|Keyring)$'
|
||||||
|
AND name NOT LIKE 'Pearl of %'
|
||||||
|
AND name !~ '(Lugian|Ursuin|Wayfarer|Sprinter|Magus|Lich)''s Pearl'
|
||||||
|
ORDER BY timestamp DESC;
|
||||||
|
```
|
||||||
|
|
||||||
### Available data tables (for `query_telemetry_db`)
|
### Available data tables (for `query_telemetry_db`)
|
||||||
|
|
||||||
- `telemetry_events` (hypertable, 30-day retention) — position/state snapshots every ~2s per character
|
- `telemetry_events` (hypertable, 30-day retention) — position/state snapshots every ~2s per character
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue