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, conditions, annexes, and data files | 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, the condition that brings it in, the role or interface it binds, how it is verified, clause, provenance, and rationale | 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 C are marked normative: false |
tools/signals.py injects the class tables and signal maps into clauses 6.6, 7.2, and 7.3 and Annexes B and C |
video_timings.json |
The video timing formats; the raster figures match the timing contract in tests/fixtures/ |
tools/video_timings.py injects clause 8.3 |
video_75.json, dc_12.json |
the VID-75 video sync ports (COAX-IN, COAX-OUT, COAX-THRU, buffered or looped) and star topology; PWR-DC12 entry variants, multi-pin pin maps, and distribution outputs | tools/video_75.py, dc_12.py inject clauses 8.2 and 8.1 |
power_interfaces.json |
The power interfaces of clause 6.1: rails and their claim-file keys, how each is made, distributed, and taken, the clauses, and each interface's ripple limit (SUP-007) | tools/power_interfaces.py injects the tables of 6.1 and 6.2 |
power_ribbon.json |
The ribbon length and conductor limits of BUS-015 | |
doepfer_comparison.json |
Each statement of Doepfer's A-100 documents on which EIS differs, with what EIS says and the requirements that say it (informative) | tools/doepfer_compare.py writes Annex J |
sources.json |
The external sources EIS quotes or inherits from, with retrieval dates | |
claim.schema.json, examples/claim-*.yaml |
The claim file a product publishes: product type 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 |
row_budget.schema.json, examples/row_budget_two_row.yaml |
Informative row-budget worksheet, budgeted per power interface: 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).