ADIF 3.1.7 support (v1.1.0)#4
Merged
Merged
Conversation
Adds official ADIF 3.1.7 spec resources alongside the sealed 3.1.6 set. Pure additive — no breaking changes, no clients have to change anything. New enum entries (from upstream ADIF_317_resources_2026_03_22.zip): - Mode: +OFDM (Orthogonal Frequency-Division Multiplexing, with COFDM) - Submode: +FT2 (Mode MFSK) - Submode: +FREEDATA (Mode DYNAMIC) - Submode: +RIBBIT_PIX (Mode OFDM, "Images transmitted using Ribbit") - Submode: +RIBBIT_SMS (Mode OFDM) Resource set: - src/adif_mcp/resources/spec/317/ — full 30-file canonical 3.1.7 JSON (29 official from upstream ZIP + project-internal enumerations_country.json carried forward unchanged) - test/data/ADIF_317_test_QSOs_2026_03_22.adi — official G3ZOD test corpus (6,197 records, +6 over 3.1.6, exercises new enum values) Default spec switched to 3.1.7: - __adif_spec__ = "3.1.7" (was "3.1.6") - [tool.adif] spec_version = "3.1.7" - [tool.adif_mcp] spec = "ADIF_317" - get_spec_text(version=...) default = "317" - adif_catalog.json + adif_meta.json bumped Sealed for backward compatibility: - src/adif_mcp/resources/spec/316/ — untouched - test/data/ADIF_316_test_QSOs_2025_09_15.adi — untouched - Callers explicitly pinning version="316" continue to work Tests: - 6 new tests covering each new enum entry + total submode count - Mode record_count expectation 90 -> 91 (OFDM is not import-only, so import_only_count stays 42) - Official corpus assertion 6191 -> 6197 records, filename updated - test_pkg_meta allowed set extended to include "3.1.7" - Full suite: 108/108 pass Architecture note: package version (1.0.5 -> 1.1.0) and ADIF spec version (3.1.6 -> 3.1.7) intentionally bumped independently per the fleet convention from IONIS-AI/ionis-devel#49 — get_version_info now returns {service_version: "1.1.0", adif_spec_version: "3.1.7"}. References: - https://adif.org.uk/317/ADIF_317_annotated.htm - https://adif.org.uk/317/ADIF_317_resources_2026_03_22.zip Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The added '3.1.7' string pushed line 11 to 99 chars (cap: 95). Moved the trailing comment to its own line above the assert. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…nifest CLI The 'validate-manifest' CLI step in ci.yml has been failing on main since commit 7bde757 ("fix: remove dead provider/schema resource functions") which removed resources/schemas/ but missed the CLI in cli/validate.py that depends on it via: schema_path = files("adif_mcp.resources.schemas").joinpath("manifest.v1.json") Restoring the schemas directory with a proper JSON Schema describing the manifest.json structure (schema_version, name, version, description, components, tools). The CLI 'adif-mcp validate-manifest' now succeeds against src/adif_mcp/mcp/manifest.json. This unblocks the ADIF 3.1.7 PR which would otherwise inherit the pre-existing CI failure on main. Files: - src/adif_mcp/resources/schemas/__init__.py — package marker - src/adif_mcp/resources/schemas/manifest.v1.json — Draft 2020-12 schema describing the manifest contract (validates current manifest with no warnings) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
KI7MT
added a commit
to qso-graph/.github
that referenced
this pull request
May 16, 2026
adif-mcp shipped v1.1.0 with full ADIF 3.1.7 support (qso-graph/adif-mcp#4). Bumps the per-server table row from "ADIF 3.1.6 spec parsing ... v1.0.5" to "ADIF 3.1.7 spec parsing ... v1.1.0". Tool count stays at 8 — 3.1.7 is pure additive (+1 Mode, +4 Submodes) and didn't add new MCP tools. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
KI7MT
added a commit
to qso-graph/qso-graph.github.io
that referenced
this pull request
May 16, 2026
adif-mcp shipped v1.1.0 with ADIF 3.1.7 spec support (qso-graph/adif-mcp#4). Doc sweep: - docs/index.md — homepage Foundation table + Project Links footer + Testing reference: 3.1.6 -> 3.1.7. Test count 60/60 -> 108/108 reflects the actual test suite size after the L2 expansion + 3.1.7 enum tests. - docs/servers/index.md — fleet summary Foundation table row - docs/servers/adif-mcp.md — full server page: headline tagline, "What It Does" section (3.1.6 + counts), Tools table entry for validate_adif_record, all references in Tool Reference and Testing sections. Version 1.0.0 -> 1.1.0 in the test count line. Notes: - "+5 records vs 3.1.6" wording in the enum count line captures the additive change: +1 Mode (OFDM), +4 Submodes (FT2, FREEDATA, RIBBIT_PIX, RIBBIT_SMS). - "FT4 grandfathering" wording updated to clarify the policy is unchanged in 3.1.7 (still requires SUBMODE=FT4 + MODE=MFSK). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds official ADIF 3.1.7 spec resources alongside the sealed 3.1.6 set. Pure additive — no breaking changes, no clients have to change anything.
Tracks the natural follow-on from the fleet
get_version_inforollout (closed).get_version_infonow reports{service_version: "1.1.0", adif_spec_version: "3.1.7"}.New enum entries (from upstream
ADIF_317_resources_2026_03_22.zip)Resource set
src/adif_mcp/resources/spec/317/— full 30-file canonical 3.1.7 JSON (29 official from upstream ZIP + project-internalenumerations_country.jsoncarried forward unchanged)test/data/ADIF_317_test_QSOs_2026_03_22.adi— official G3ZOD test corpus (6,197 records, +6 over 3.1.6, exercises new enum values)Default spec switched to 3.1.7
__adif_spec__ = "3.1.7"(was"3.1.6")[tool.adif] spec_version = "3.1.7"[tool.adif_mcp] spec = "ADIF_317"get_spec_text(version=...)default ="317"adif_catalog.json+adif_meta.jsonbumpedSealed for backward compatibility
src/adif_mcp/resources/spec/316/— untouchedtest/data/ADIF_316_test_QSOs_2025_09_15.adi— untouchedversion="316"continue to workTests
test_317_new_mode_ofdm,test_317_new_submode_ft2,test_317_new_submode_freedata,test_317_new_submode_ribbit_pix,test_317_new_submode_ribbit_sms,test_317_submode_count)test_list_enumerations_has_mode: Mode record_count expectation 90 → 91 (OFDM is not import-only, soimport_only_countstays 42)test_official_adif_test_file_zero_errors: corpus filename + record count 6191 → 6197test_pkg_meta_exposed: allowed__adif_spec__set extended to include"3.1.7"Full suite: 108/108 pass.
Architecture note
Package version (1.0.5 → 1.1.0) and ADIF spec version (3.1.6 → 3.1.7) intentionally bumped independently per the fleet
{service_version, spec_version}convention. Coupling the two numbers would force fake spec bumps for bug fixes and prevent independent rev of the package.References