Skip to content

Commit f978283

Browse files
KI7MTclaude
andcommitted
adif-mcp v1.1.0 + ADIF 3.1.7 — docs site sweep
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>
1 parent 632cf37 commit f978283

3 files changed

Lines changed: 14 additions & 14 deletions

File tree

docs/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Ask your AI assistant to look up a callsign, check your LoTW confirmations, find
1313
| Package | Tools | What It Does |
1414
|---------|:-----:|--------------|
1515
| [qso-graph-auth](servers/qso-graph-auth.md) || OS keyring credential management, persona CRUD, provider management |
16-
| [adif-mcp](servers/adif-mcp.md) | 8 | ADIF 3.1.6 spec engine, validation, parsing, geospatial |
16+
| [adif-mcp](servers/adif-mcp.md) | 8 | ADIF 3.1.7 spec engine, validation, parsing, geospatial |
1717

1818
### Logbook Services (Authenticated)
1919

@@ -117,6 +117,6 @@ Dashboard, physics lab, DXCC progress, path analyzer, and log viewer — all pow
117117
- **Demo**: [qso-graph-demo.vercel.app](https://qso-graph-demo.vercel.app/)
118118
- **GitHub**: [github.com/qso-graph](https://github.com/qso-graph)
119119
- **PyPI**: [eqsl-mcp](https://pypi.org/project/eqsl-mcp/) · [qrz-mcp](https://pypi.org/project/qrz-mcp/) · [lotw-mcp](https://pypi.org/project/lotw-mcp/)
120-
- **Foundation**: [qso-graph-auth](servers/qso-graph-auth.md) — credential management ([PyPI](https://pypi.org/project/qso-graph-auth/)) · [adif-mcp](servers/adif-mcp.md) — ADIF 3.1.6 spec engine ([PyPI](https://pypi.org/project/adif-mcp/))
121-
- **Testing**: [60/60 PASS](testing.md) — security audit + ADIF 3.1.6 official test corpus + forensic validation
120+
- **Foundation**: [qso-graph-auth](servers/qso-graph-auth.md) — credential management ([PyPI](https://pypi.org/project/qso-graph-auth/)) · [adif-mcp](servers/adif-mcp.md) — ADIF 3.1.7 spec engine ([PyPI](https://pypi.org/project/adif-mcp/))
121+
- **Testing**: [108/108 PASS](testing.md) — security audit + ADIF 3.1.7 official test corpus + forensic validation
122122
- **Related**: [IONIS](https://ionis-ai.com/) — HF propagation prediction from 14B amateur radio observations

docs/servers/adif-mcp.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# adif-mcp
22

3-
**Foundation package — ADIF 3.1.6 spec engine, validation, parsing, enumerations, and geospatial.**
3+
**Foundation package — ADIF 3.1.7 spec engine, validation, parsing, enumerations, and geospatial.**
44

55
```bash
66
pip install adif-mcp
@@ -14,7 +14,7 @@ pip install adif-mcp
1414

1515
adif-mcp provides ADIF specification tools for parsing, validation, and geospatial calculations:
1616

17-
- **ADIF 3.1.6 specification** — 186 fields, 26 enumerations (4,427+ records), 28 data types, all bundled as JSON
17+
- **ADIF 3.1.7 specification** — 186 fields, 26 enumerations (4,432+ records — +5 from 3.1.6), 28 data types, all bundled as JSON. Sealed 3.1.6 set retained for backward compatibility.
1818
- **Record validation** — enum membership, compound CreditList format, conditional Submode checks, import-only detection
1919
- **Log parsing** — streaming parser for large `.adi` files with pagination
2020
- **Geospatial** — Great Circle distance and beam heading between Maidenhead grids
@@ -29,7 +29,7 @@ All tools run locally against the bundled spec data. No network calls required.
2929

3030
| Tool | Description |
3131
|------|-------------|
32-
| `validate_adif_record` | Validate ADIF records against the 3.1.6 spec |
32+
| `validate_adif_record` | Validate ADIF records against the 3.1.7 spec |
3333
| `parse_adif` | Stream and paginate ADIF log files |
3434
| `list_enumerations` | List all 26 enumerations with record counts |
3535
| `search_enumerations` | Search across enumerations by keyword |
@@ -46,7 +46,7 @@ Plus 1 MCP resource: `adif://system/version`
4646

4747
### validate_adif_record
4848

49-
Validates an ADIF record string against the 3.1.6 specification. Checks field names, data types (Number validation), and enum membership for all 43 enum-typed fields across 26 enumerations.
49+
Validates an ADIF record string against the 3.1.7 specification. Checks field names, data types (Number validation), and enum membership for all 43 enum-typed fields across 26 enumerations.
5050

5151
| Parameter | Type | Required | Description |
5252
|-----------|------|:--------:|-------------|
@@ -84,7 +84,7 @@ Validates an ADIF record string against the 3.1.6 specification. Checks field na
8484
}
8585
```
8686

87-
FT4 must be `MODE=MFSK + SUBMODE=FT4` per ADIF 3.1.6 — unlike FT8 which was grandfathered as a MODE.
87+
FT4 must be `MODE=MFSK + SUBMODE=FT4` per ADIF 3.1.7 (same as 3.1.6) — unlike FT8 which was grandfathered as a MODE.
8888

8989
### parse_adif
9090

@@ -104,7 +104,7 @@ Streaming parser for large ADIF files with record seeking and pagination.
104104
105105
### list_enumerations
106106

107-
Lists all 25 ADIF 3.1.6 enumerations with record counts, import-only counts, and searchable fields.
107+
Lists all 26 ADIF 3.1.7 enumerations with record counts, import-only counts, and searchable fields.
108108

109109
**Parameters:** None
110110

@@ -133,7 +133,7 @@ Search across all 26 enumerations or filter to a specific one. Case-insensitive
133133
134134
### read_specification_resource
135135

136-
Loads a named ADIF 3.1.6 spec module as raw JSON. Covers fields, data types, and all 26 enumerations.
136+
Loads a named ADIF 3.1.7 spec module as raw JSON. Covers fields, data types, and all 26 enumerations.
137137

138138
| Parameter | Type | Required | Description |
139139
|-----------|------|:--------:|-------------|
@@ -181,7 +181,7 @@ Credential management has moved to [qso-graph-auth](qso-graph-auth.md). See the
181181

182182
## Validation Coverage
183183

184-
adif-mcp v1.0.0 validates against all 26 ADIF 3.1.6 enumerations with 48 automated tests:
184+
adif-mcp v1.1.0 validates against all 26 ADIF 3.1.7 enumerations with 108 automated tests:
185185

186186
| Category | Tests | Status |
187187
|----------|:-----:|--------|
@@ -191,7 +191,7 @@ adif-mcp v1.0.0 validates against all 26 ADIF 3.1.6 enumerations with 48 automat
191191
| Compound enum validation | 3 | PASS |
192192
| Conditional enum validation | 2 | PASS |
193193
| Regression | 1 | PASS |
194-
| Official ADIF 3.1.6 test corpus (6,191 records) | 2 | PASS |
194+
| Official ADIF 3.1.7 test corpus (6,197 records) | 2 | PASS |
195195
| KI7MT forensic hard tests (real operator data) | 12 | PASS |
196196
| Security audit (source code) | 6 | PASS |
197197
| **Total** | **48** | **48/48 PASS** |
@@ -202,7 +202,7 @@ See [Testing & Validation](../testing.md) for the full test register.
202202

203203
## Known Quirks
204204

205-
- **FT4 is not a MODE**: Per ADIF 3.1.6, FT4 must be `MODE=MFSK + SUBMODE=FT4`. FT8 was grandfathered as a MODE before the policy. The validator correctly rejects `MODE=FT4`.
205+
- **FT4 is not a MODE**: Per ADIF 3.1.7, FT4 must be `MODE=MFSK + SUBMODE=FT4`. FT8 was grandfathered as a MODE before the policy. The validator correctly rejects `MODE=FT4`.
206206
- **LoTW uppercase bands**: LoTW exports `BAND=15M` (uppercase). The validator handles this — ADIF values are case-insensitive.
207207
- **Import-only values**: 42 deprecated Mode values (AMTORFEC, etc.) produce warnings, not errors. Historical QSO data is preserved.
208208
- **Deleted DXCC entities**: 62 geopolitically merged entities pass silently. These are valid historical entity codes.

docs/servers/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ QSO-Graph provides 14 packages (12 MCP servers + auth foundation + LLM relay) co
1111
| Package | Tools | Service | Auth Pattern |
1212
|---------|:-----:|---------|-------------|
1313
| [qso-graph-auth](qso-graph-auth.md) || OS keyring credentials | None (local) |
14-
| [adif-mcp](adif-mcp.md) | 8 | ADIF 3.1.6 spec | None (local) |
14+
| [adif-mcp](adif-mcp.md) | 8 | ADIF 3.1.7 spec | None (local) |
1515

1616
### Logbook Services
1717

0 commit comments

Comments
 (0)