Model espionage as truth-at-low-confidence, not a blend toward truth
When adding intel-stealing (espionage) to a fog-of-war sim where actors project a fake value behind a secrecy number, the intuitive model — believed = projected*(1-fidelity) + true*fidelity — is wrong: it anchors the spy on the deception, so piercing a well-guarded bluff barely moves the belief. Better: a successful spy records the TRUE value with confidence = fidelity, and let your recall(prior=) revert-to-prior do the blending. A deep secret => tiny fidelity => reads as a mere hint above the population average (existence tier); a soft secret => high fidelity => the real number. This defeats the projection (the point of spying) and makes a soft bluff genuinely callable. Also: build buy/sell of intel as ONE generic transfer over the shared beliefs table keyed by topic, so a price report and an order-of-battle use the same code. Gotcha that silently no-ops a sale: the freshness guard (skip if buyer already has a belief with as_of_day >= seller) fires when both learned on the same tick — advance the clock or the sale transfers nothing.