e7934a1ebb
Stage 2 of #127. A smart drone now carries why it is aimed where it is (Intent: plan, sead, react, replace) apart from the aim bookkeeping (unit, since, switches, confidence). Assignments are throttled per adaptive tick and per contact, a fresh disclosure replaces an aim only after a hold, within a switch cap and when the change is worth a new route, and a killed aim is replaced as a separate, lower-priority decision. The queue is bounded and taken by priority (plan > sead > react > replace); unknown land is no longer free in a replanned route. The autosave now carries the air state: the drones in flight, the launch queue, every pending job with its id, aim, unit, version, priority, intent and relief version, the contacts the jobs were chosen from and the relief snapshots they plan over. The format is a versioned `air 1` section; older saves read as before, scenarios do not carry the sky, stale, ghost and duplicate jobs are cancelled on load, and the section is bounded (512 drones, 512 route points, 4096 contacts, 8 reliefs, 900 KB). A periodic save waits while a raid is only being planned. enemy_picture() now explains targets and pending jobs (aims, aimed_by, pending_jobs, reason, work_per_tick) in English, and intel_bench records the queue and intent evidence next to completion, losses and failures.