mirror of
https://github.com/Heretek-AI/AetherTable.git
synced 2026-11-11 23:51:29 -10:00
- F1 MED: Help promise burned by LOS/cover-refused attacks — consumption moved after all fallible gates; refused attacks leave it standing (red-first socket test). - F2 MED: explicit under-level cast requests now 422 INVALID_SLOT_LEVEL instead of silent .max() upgrade (gateway default aligned to 0 = unspecified); absurd damage formulas (>2x caps) hard-rejected without spending slots, moderate overshoot still gently clamped — validation hoisted before expenditure. - F3 MED: monster spawns require a GM seat (403 MONSTER_SPAWN_ FORBIDDEN for non-GM unowned NPC spawns; owned-player deploys via the service principal unaffected); encounter-builder copy matches reality. - F4/F5/F6 LOW: viewport fog-parity claim corrected to the actual union semantics; ability-score defaulting warns instead of silently defaulting; .expect() calls in core replaced with error propagation; offhand index 0 refused as matching the main hand. All gates green: workspace tests, clippy -D warnings, pytest 496, tsc. Co-Authored-By: Claude <[email protected]>