Add JSON schema validation test suite#7
Open
billmallard wants to merge 7 commits into
Open
Conversation
…age, and MAOS integration
Validates canfix.json structural integrity: 230 parameters with required fields, unique IDs in 256-1759 range, valid compound/array types, parseable min/max with comma-formatted number handling, group coverage of 0-2047, status entries, and known-parameter spot checks. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Docs-only workflow: installs Sphinx + pyexcel(-ods), runs the existing generators (canfix_json/canfix_xml/parameters) against CAN-FIX.ods, builds the HTML with sphinx-build, and deploys to GitHub Pages. Adds a root index.html redirect to toc.html (the master_doc). The schema (CAN-FIX.ods) is read only, never modified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a GitHub-wiki companion to the published specification: - tools/gen_param_reference.py generates a parameter quick-reference table from src/canfix.json (grouped by CAN ID range), so it always matches the spec without hand maintenance. - wiki/ holds the canonical wiki source: Home, Frame-Format, Data-Types, Implementing-a-Node, the generated Parameter-Reference, and the _Sidebar/_Footer navigation. - tools/sync_wiki.sh regenerates the table and mirrors wiki/ to a local clone of the GitHub wiki for review and publishing. Docs-only: nothing here touches the master spreadsheet (CAN-FIX.ods) or the generated schema. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add a "Read the Specification Online" section pointing to the live GitHub Pages spec and the new wiki quick-references. - Clarify that canfix.json/xml and parameters.rst are generated from the master spreadsheet CAN-FIX.ods (not hand-edited), and add the regenerate step plus the GitHub Actions auto-publish note to the build instructions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Researched 2026-07-05: Stock Flight Systems (1998), NASA AGATE (2001), Rotax iS deployment, ARINC 825 lineage, current status (spec frozen at V1.7/2006), and the 2013 Birkelbach 'What's wrong with CANaerospace?' forum thread quoted as the primary source. Mirrors pyEfis/docs/canaerospace_background.md. Also force-add wiki/_Sidebar.md + _Footer.md: the Sphinx '_*' ignore was silently excluding them from the canonical wiki source that tools/sync_wiki.sh mirrors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Bill Mallard <wpballard@gmail.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
tests/test_canfix_spec.py— 30 pytest tests covering structural integrity ofcanfix.jsonCHAR[2],INT[2],BYTE,DINT) and comma-formatted numbers ("60,000") present in the specTest plan
cd tests && pip install pytest && pytest -v— all 30 tests should pass🤖 Generated with Claude Code