v1.4.0
A MINOR release: STANAG 4586 telemetry ingest — one new adapter, its codec and its fixture set. No wire contract moved.
Artefacts (workflow build digests — the comparison basis):
synapse_cdm-1.4.0-py3-none-any.whl— sha256006e5f0e8b8557d91c7cf90da1e5a6fd0341d8f398bab6617a1802e4ac1dd9f3synapse_cdm-1.4.0.tar.gz— sha2563f16e818d92af4a69721c248110eab16e9dbf8f75fd9bf9201981e09f97635e2
14 adapters registered. stanag4586 is the fourteenth shipped and #15 by ordinal — the ordinal table numbers specifications as well as adapters, and #9 (stanag5527) is a row set with no adapter, so a roster of fourteen occupies fifteen ordinals. Ingest-only: legion, pntmap, stanag4586; the other eleven bidirectional. 6 schemas, SCHEMA_VERSION 1.0.0 unmoved — the diff over schemas/ since v1.3.0 is empty. gates/bump_derivation.py classified this bump MINOR over 46 signals: the number was derived from the packaged diff, not chosen.
The adapter is built on STANAG 4586 Edition 3, which is not the current edition — Edition 4 could not be obtained, so the adapter declares the edition it actually read. The document defines 166 field-table messages in 27 functional groups; 48 of them, across 9 groups, are command uplink and out of scope by an enumerated ruling, 4 are decoded field by field, and every other message has its wrapper read and its data octets parked verbatim with its type recorded.
Suite at the tag: 3467 total, CI 3400 passed / 67 skipped. A CI green is not a maintainer's green — the pinned specification PDFs are gitignored, so a clone carries the pin records and not the documents and skips the tests that read them.
Built and gated in run 33307299409, published to PyPI over OIDC with attestations, deployment operator-approved 2026-08-30T17:18:53Z. Served-equals-built verified across six independent readings: the gate's --export-dist, the handover artefact (0d77928a… uploaded and downloaded), a local hash of that artefact, the publish job's pre-upload hashes, the in-toto DSSE subject digests, and the bytes PyPI now serves.