Data-driven combination recipes (requires/consume/produce/effects/response/ failText), operands from inventory or current room, order-independent lookup, generic-or-failText feedback. No parser change (on/with already fillers). Minimal matches+torch -> lit_torch demo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>