From 57327d6b88923410167da7bcf2687eaf06c1c27b Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 10 Aug 2026 15:25:12 +0000 Subject: [PATCH] Point at Open Checklists for the checklist formats too The aircraft profile spec already redirected to the openchecklists repository. The checklist library has now moved there as well (allenmcghan/openchecklists#1), so the reference should cover it: the checklist, preflight-log and pilot-logbook schemas are all defined there and consumed here. Records the split by kind, because a reader who sees TOML profiles and JSON checklists in one project will otherwise assume one of them is a mistake. Profiles are hand-edited hardware configuration with no upstream document to cite; a checklist carries a source and a verification state that has to survive conversion into every other format. Different problems, different formats. Also names the property Junco actually depends on rather than leaving it implicit: checklist phase identifiers are stable and semantic, which is what lets the app map a section to a moment in flight instead of to a page number. No functional change to firmware, app, BLE spec, or log format. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01JRrL2B6zmM3jxkTRt2DTVB --- README.md | 2 +- spec/aircraft-profile.md | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5378410..d895faa 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Junco is an engine and air data front end for aircraft that existing open avioni | Project | What it does | How Junco relates | |---|---|---| -| [Open Checklists](https://openchecklists.net) | Aircraft profiles and checklists for Part 103 and experimental aircraft | Junco reads aircraft profiles from here. The profile format specification lives in that repository; `spec/aircraft-profile.md` redirects to it | +| [Open Checklists](https://openchecklists.net) | Aircraft profiles, and a machine-readable checklist library with provenance and verification state, for Part 103 and experimental aircraft | Junco reads aircraft profiles from here, and consumes the checklist, preflight-log and pilot-logbook schemas defined there. Both formats and all of that tooling live in [that repository](https://github.com/allenmcghan/openchecklists); `spec/aircraft-profile.md` redirects to it | | [MakerPlane](https://github.com/makerplane) | FIX-Gateway data broker, pyEFIS display, CAN-FIX bus protocol for experimental aircraft | Junco publishes into FIX-Gateway through a plugin, so pyEFIS can display Junco data. CAN-FIX is the bus candidate for v2 | | [Stratux](https://github.com/cyoung/stratux) | Dual band ADS-B receiver on a Raspberry Pi | Junco does not receive ADS-B. Traffic comes from a receiver the pilot already owns | | [AP_Periph](https://dronecan.github.io/Implementations/AP_Periph/) | ArduPilot's DroneCAN peripheral node firmware | A candidate for the v2 bus stage. Not used in v1: no BLE, STM32 only, and no thermocouple or ignition-pulse tach support | diff --git a/spec/aircraft-profile.md b/spec/aircraft-profile.md index ea867b7..896fa48 100644 --- a/spec/aircraft-profile.md +++ b/spec/aircraft-profile.md @@ -10,6 +10,21 @@ The aircraft profile format is defined and versioned in the openchecklists project, which also hosts profiles for common Part 103 and experimental aircraft and the checklists that accompany them. +Two formats live there, and they are deliberately different. **Aircraft +profiles are TOML**: hand-edited hardware configuration, no upstream document +to cite. **Checklists are JSON** against a published schema, because a +checklist carries a source and a verification state that has to survive being +converted to every other format. Junco consumes both, plus the preflight-log +and pilot-logbook schemas: + +- **Checklist schema:** [schema/open-checklist-1.0.schema.json](https://github.com/allenmcghan/openchecklists/blob/main/schema/open-checklist-1.0.schema.json) +- **Preflight log:** [schema/open-checklist-log-1.0.schema.json](https://github.com/allenmcghan/openchecklists/blob/main/schema/open-checklist-log-1.0.schema.json) +- **Pilot logbook:** [schema/open-logbook-1.0.schema.json](https://github.com/allenmcghan/openchecklists/blob/main/schema/open-logbook-1.0.schema.json) + +Checklist phase identifiers are stable and semantic, which is the property +Junco depends on: it is what lets the app map a checklist section to a moment +in flight rather than to a page number. + Junco firmware and the Android app implement the current schema version of that specification. Incompatible schema version changes will be tracked in the Junco changelog.