MosswartOverlord/go-services/inventory-go
Erik b90b52c515 feat(go-services): inventory-go item-processor (extract_item_properties) — exact
Ports the core item processing: raw item JSON -> normalized columns for all 7
tables, with the exact per-table sentinel->NULL rules, material/item_set string
translation, the Spells/ActiveSpells union (is_active), and compute_base_values
(the spell_effects buff-reversal for base_armor_level/base_max_damage/
base_attack_bonus/etc., with the data embedded and the 167772170-vs-167772172
attack-bonus id discrepancy preserved). loadEnums now also loads MaterialType.
A loopback POST /debug/process returns the normalized columns for validation.

Validated against production's STORED rows (read-only, no writes): 0 mismatches
across 200 items for every sampled column of items, item_enhancements (incl.
translated material + set), item_combat_stats (incl. base_* values), and
item_ratings.

This unlocks ingestion (the processor produces the rows) and the remaining
search-response enrichment (spells/weapon/mana from the same extractor).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 12:23:38 +02:00
..
Dockerfile feat(go-services): inventory-go Phase A — read-side scaffold + simple endpoints 2026-06-24 11:33:55 +02:00
go.mod feat(go-services): inventory-go Phase A — read-side scaffold + simple endpoints 2026-06-24 11:33:55 +02:00
main.go feat(go-services): inventory-go item-processor (extract_item_properties) — exact 2026-06-24 12:23:38 +02:00
process.go feat(go-services): inventory-go item-processor (extract_item_properties) — exact 2026-06-24 12:23:38 +02:00
search.go feat(go-services): inventory-go search — object_class_name (exact, gem context) 2026-06-24 12:11:47 +02:00
store.go feat(go-services): inventory-go Phase A — read-side scaffold + simple endpoints 2026-06-24 11:33:55 +02:00