Tighten the system/user prompts so the shortener returns ONLY the
rewritten message — no "Here's a version at N characters:" preamble,
no quotes, no labels. Previously such preamble was being transmitted
on-air and consumed the byte budget, causing the actual content to
truncate.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bump version to 1.0.0 and pin the donglora dep to >=1.0.0,<2.0.0 (PyPI), matching the freshly-published donglora 1.0.0 client.
Also knock out two preexisting lint failures surfaced by the release-time `just check` gauntlet:
* orac/crypto.py: drop the redundant int() wrap around round() (RUF046).
* orac/state.py: widen _state value type to include list[list[float]] so heard_positions type-checks under pyright.
Upgrade the MeshCore bot to talk the DongLoRa Protocol v2 via donglora 1.0.0.
* BotRuntime now holds a donglora.Dongle instead of a raw serial conn. All transmit / receive / ADVERT plumbing goes through the async Dongle surface.
* Drop the direct pyserial imports; SerialException handling is now dongle-level (reconnect is handled by donglora.connect()).
* Update constants and dispatch to match the Dongle accessors (info, set_config, transmit, start_rx) exposed by the 1.0 client.