Machine-readable models
The requirements, values, and provenance records behind the specification clauses. CAD, BOM, and requirements tools read these files, not the PDF tables.
| File | Holds | Generator |
|---|---|---|
document.json |
The document model: parts and clauses with their pages, identifier prefixes, roles and interfaces, features, annexes, data files, and design references | tools/model.py loads it with every other file here; every generator, builder, card, test, and the site read the model |
requirements.json |
The requirements register: every requirement's level, product types, feature, the role or interface it binds, how it is verified (Annex G), clause, provenance, and rationale (Annex P) | tools/requirements.py validates it, cross-checks every clause citation, and writes spec/requirements.md; tools/document.py writes the structure tables of the front matter and the annexes |
register.lock.json |
The identifiers and text as last locked: an identifier is never reused or resequenced, and a changed requirement gets a new one | python tools/model.py --lock rewrites it deliberately; the checks fail on any other change |
standards.json, module.json, rail.json, insert.json, screw.json, screw-fits.json |
Mechanical figures and their provenance | tools/standards.py, module.py, rail.py, insert.py, insert_card.py, screw.py check them and draw the figure cards |
signals.json |
Patch and bus signal classes and their ranges; the external port names of Annex I are marked normative: false |
tools/signals.py injects the class tables into clauses 6.6 and 7.2 and Annex I |
video_timings.json |
The video timing formats; the raster figures match the timing contract in tests/fixtures/ |
tools/video_timings.py injects clause 7.3 |
video_75.json, dc_12.json |
the VID-75 video reference ports (COAX-IN, COAX-OUT, COAX-PASSTHRU, COAX-LOOPTHRU) and star topology; PWR-DC12 entry variants, multi-pin pin maps, and distribution outputs | tools/video_75.py, dc_12.py inject clauses 7.4 and 6.5 |
power_domains.json |
The power domains of clause 6.1: rails and their claim-file keys, how each is made, distributed, and taken, the clauses, and each domain's ripple limit (SUP-007) | tools/power_domains.py injects the tables of clauses 6.1 and 6.2; claim.py and row_budget.py read the rails |
analog_6.json |
PWR-A6: the voltage windows, ripple and entry limits, cable limits, and the A6-VH3 connector | tools/analog_6.py injects the tables of clause 6.8 |
power_ribbon.json |
The ribbon length and conductor limits of BUS-015 | |
claim.schema.json, examples/claim-*.yaml |
The claim file a product publishes: product type, features, and every figure the register requires; a worked example per product type | tools/claim.py --check validates a claim file and prints the claim line |
survey/ |
A copy of the eis-reference module, case, supply, and bus board survey, with source.json naming the commit it was copied at; informative, no requirement reads it |
tools/survey.py writes Annex F and the depth card from it; --pull refreshes the copy from an eis-reference checkout, and --check fails when Annex F is stale or a clause quotes a figure the data no longer gives |
row_budget.schema.json, examples/row_budget_two_row.yaml |
Informative row-budget worksheet, budgeted per power domain: schema and example | tools/row_budget.py --check |
License: CC BY 4.0 on the curated data and expression (see COPYRIGHT.md and LICENSE). Code that reads or renders these files (tools/*.py) is MIT (LICENSE-CODE).