Skip to content

Add optional radio instance registry validation - #11

Merged
emuehlstein merged 2 commits into
mainfrom
feat/radio-instance-registry
Aug 12, 2026
Merged

Add optional radio instance registry validation#11
emuehlstein merged 2 commits into
mainfrom
feat/radio-instance-registry

Conversation

@emuehlstein

Copy link
Copy Markdown
Contributor

Summary

Adds an optional instance-registry contract for profile validation and resolved output provenance.

Changes

  • Add instance registry schema:
    • schemas/instance-registry-0.1.schema.json
  • Add optional loader/validator in profile pipeline:
    • src/codeplugger/profile.py
  • Add optional CLI flag:
    • --instance-registry path/to/instances.yml
  • Enforce join checks when registry is provided:
    • profile radio_instance (or profile id fallback) must exist in registry
    • registry entry radio must match profile radio
  • Thread optional instance metadata into resolved model:
    • ResolvedCodeplug.radio_instance
    • src/codeplugger/resolved.py
  • Add tests for missing instance, radio mismatch, and metadata propagation:
    • tests/test_profile.py
  • Keep CHIRP test compatibility with resolved model update:
    • tests/test_chirp_csv.py
  • Add README docs for instance registry usage:
    • README.md

Validation

  • pytest -q
  • Result: 21 passed

Notes

  • Instance registry is optional; existing profile workflows remain backward compatible when --instance-registry is not supplied.

@emuehlstein
emuehlstein merged commit 6038664 into main Aug 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant