Why: prompts are moving from code into a data library; core needs the PromptModule/Trigger/Block contract and profiles need an ordered promptModules reference (empty = default base+env set). Evidence: unit-covered via backend prompts package tests over this contract; composite make test green. Impact: additive contract fields only; no behavior change in core. Refs: feature/prompt-library task card.