2 Commits
Author SHA1 Message Date
John SmithandClaude a7dc5868b5 fix(homebrew): fail-loud parsing, never fabricate statblocks
Unparseable input used to silently yield a combat-ready fake: AC 14,
HP 30, invented "Claw Strike" action with +5 / 2d6+3. Core fields now
stay absent when not parsed, every missing field is reported in
warnings, and responses carry parse_ok. Strict mode (new flag on
HomebrewParseRequest) rejects with 422 instead of returning a
half-invented statblock. Placeholder lists are copied per call to stop
cross-parse state leaks.

Co-Authored-By: Claude <[email protected]>
2026-08-24 01:08:27 -04:00
John Smith 774c68410a feat(campaign-bundles-homebrew): implement COMPASS .vttbundle packaging, Homebrewery markdown parser, and bundle manager studio 2026-08-22 19:31:12 -04:00