Earworm v0.2.0 — Akousma Spec v1.1
The akousma memory layer grows connective tissue: records now link to each other as a network, not just a genealogy.
New in spec v1.1 (additive — 1.0.0 records remain valid)
- Typed relations (
lineage.relations):variant_of,response_to,same_source_as,recurrence_of,series_with,compares_with,replaces,other— curatorial kinship links kept strictly distinct from causalparent_akousma_ids. Rule 6: parents are causal, relations are kinship. summary— a skimmable one-liner per record; the record's answer to audio's missing skim affordance.- Provenance that travels:
capture_conditions,rights_note, andpipeline_effects(capture, telephony, acousmatization, amplification, phonofixation, phonogeneration, reshaping). audio.media— container, codec, bit depth, codec history.- Contract-pinned listening envelope:
{contract?, created_at, summary?, payload}per producer entry (e.g.akouo/v0.6), so consumers know which claim discipline shaped each payload.
Store (py-akousma 0.2.0)
relation_edgestable +related()(both directions) anddescendants()walks.- Richer queries: tag, free text, since/until, session, content hash;
find_by_hash()for dedupe and recurrence. verify()integrity report — dangling parents, dangling relations, missing audio, invalid records — reported, never silently dropped (rule 7: absence is information).reindex()rebuilds all edges from stored records after upgrading a pre-relations store.
SDKs
- sdk-js 0.2.0:
akousmaRelation,addListening, relations shape validation, updated TypeScript typings. - New conformance fixture exercising every v1.1 feature:
tests/fixtures/oida-harbor-series.akousma.json.