Earworm v0.3.0 — akousma spec v1.2: location, capture, open records
Spec v1.2 (additive over v1.1/v1.0):
location— where the sound was heard:lat/lon,accuracy_m,altitude_m, humanlabel,source,captured_at. Optional and consent-scoped; dropped from open-research exports by default — where someone listens is as sensitive as what they heard.capture— how the listening was triggered:direction(past= the ring-buffer seconds before the trigger,future= the window after it,live),seconds,trigger,armed_at,triggered_at.- Open records — unknown top-level fields MUST be preserved and MAY be ignored: future vocabulary, not errors.
py-akousma 0.3.0: location()/capture() builders, indexed lat/lon columns with in-place store migration, locations() / near() / query(has_location=…), a created_at index, and a JSON1 fast path for tags(). JS SDK mirrored (constants, builders, shape checks, typings). New v1.2 CI fixture. 31 Python tests + full pnpm check green.