Skip to content

feat(loot): add Gargul-fed loot log at /loot/ - #40

Merged
ivorycrayon merged 1 commit into
mainfrom
feat/loot-log
Jun 29, 2026
Merged

feat(loot): add Gargul-fed loot log at /loot/#40
ivorycrayon merged 1 commit into
mainfrom
feat/loot-log

Conversation

@ivorycrayon

Copy link
Copy Markdown
Contributor

What

A public loot log at hype.swagcounty.com/loot/ fed from the raid's Gargul award history.

  • server/ingest_gargul.py: parses Gargul.lua (AwardHistory), normalizes each award, upserts into loot_awards keyed by Gargul's per-award checksum. Disenchant awards excluded. Source path is host-side config, not in the repo.
  • server/app.py: GET /api/loot — MS/OS standings, needs-gear view, per-lockout 2/3 loot-lock flag, recent-drops feed.
  • loot/: static page with class colours, sortable table, Wowhead tooltips on the recent feed. Same CSP shape as /tbc/.
  • Hub tile added; index.html regenerated.
  • hype-gargul-ingest.service/.timer (15-min) wired into install.sh/deploy.sh.
  • Privacy policy updated with loot-log data-flow section (public character names + items only).

Why

The guild runs SR and hard reserves through Gargul and weighs loot by need and reciprocity. A visible standings page makes the 2/3 loot-lock rule and "who deserves a drop" legible to the whole raid without relying on the officer having the spreadsheet open.

Test plan

  • Parser run against a real Gargul.lua (50 awards → 43 MS / 7 OS, 2 disenchants excluded; idempotent on re-run).
  • Page rendered in preview: standings, needs-gear panel, lock badges, and Wowhead-decorated recent feed all populate.
  • caddy validate passes.

@ivorycrayon

Copy link
Copy Markdown
Contributor Author

Self-review + verification pass (standing hype-PR reviewer flow):

  • git-collab-reviewer gate: passed (artifacts rewritten per its findings).
  • Leak grep over the diff: clean — no hostnames, LAN IPs, host paths, or partner names. The Gargul source path stays host-side in hype-vote.env.
  • Parser/API verified against a real Gargul.lua: 50 awards → 43 MS / 7 OS, 2 disenchants excluded, idempotent on re-run.
  • Page rendered in a preview browser: standings, needs-gear panel, lock badges, Wowhead-decorated recent feed all populate.
  • caddy validate → Valid configuration.
  • Backend + Caddy already deployed to the host; /api/loot live on loopback with real data. Merging brings the static page live via deploy-pull.

Self-authored, so this is a verification note, not a formal approval. Squash-merging.

Public standings page fed from the raid's Gargul award history. Awards
are keyed by Gargul's per-award checksum so multiple looters' exports
merge idempotently; disenchants are excluded. The Gargul source path
stays host-side in hype-vote.env, never in the repo.

Adds: loot_awards table, GET /api/loot (standings, needs-gear view,
2/3 loot-lock flag, recent feed), /loot/ static page + hub tile,
hype-gargul-ingest.service/.timer (15-min), privacy section update.
@ivorycrayon
ivorycrayon merged commit 8e689bb into main Jun 29, 2026
1 check passed
@ivorycrayon
ivorycrayon deleted the feat/loot-log branch June 29, 2026 03:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant