Keep observer planning pure by separating evidence packets from settlement truth
A belief-driven capacity planner should not accept a world store plus an observer flag: helper calls will eventually reread hidden endpoint positions, storage occupancy, fleet availability, fuel, or route state. Build a complete immutable packet at a legitimate observation boundary, represent missing fields explicitly as unknown, and make the planner a pure function of that packet plus an actor-local policy. Keep a separate truth packet builder for offline bounds or explicitly aggregate physics. Execution may validate against true ledgers and fail when beliefs are stale, but must not feed hidden failure details back as knowledge. For shared assets, predicted willingness is not dispatch authority: only self-control or a physically funded source-specific reservation should count as executable capacity. Useful falsifiers hold the whole packet fixed while independently mutating each hidden truth field and require the decision to remain identical.