Keep later surprises out of early Dave requests
Provider-context checks reproduced three premature story disclosures. An ordinary 3-2 conversation received definitions of 3-3's head reward/repayment, 4-1's shuffle payoff and 5-8's friendly Conehead. On 3-3 itself, inactive native head-prize fields still contained the future prices, and the waiting/windup magic description named the Threepeater before the transformation happened.
The provider now receives deal terms only when that offer is actually published, or when a scoped native receipt establishes an earlier dealing. Before the head offer, its raw future target/reward/repayment values are omitted from the provider copy. The unchanged request still reaches all normal validation and persistence. Magic waiting, windup and failure describe only the observed state. A successful transformation exposes its actual Threepeater effect without disclosing the later contract. A remembered transformation alone never establishes a financial deal.
The native game, prices, timing, prizes, authored dialogue, account settings and choice interpretation are unchanged. Once the head deal is offered, Dave can still explain the exact 500/600 terms when asked. Old witnessed deals remain available in later conversations; future lawns and another Adventure cycle do not supply them. The fog and roof memory explanations follow the same current-scene/history gates.
All four regression cases first exposed the old context and now pass, including checks on the full provider message strings and request nonmutation. Existing head, roof and shuffle checks also pass. Full repository build (5 tasks), typecheck (8 tasks), and all 397 isolated NPC tests pass. Receipts: output-unseen-head-build.log, output-unseen-head-typecheck.log, and output-unseen-head-tests.log. This prevents these specific premature disclosures; it does not claim that an arbitrary model cannot invent a spoiler from its general knowledge.
