E Schema files§
| File | Contents |
|---|---|
bus-core.schema.json | Datatypes, entity base, versioning, property definitions, party, spaces, assets, points, relationships, intent, alarms, events, knowledge, resources, and the full presentation model. |
bus-document.schema.json | The document envelope with per-documentType class constraints, across fifteen document types. |
bus-manifest.schema.json | The manifest, including completeness across twelve domains, the actuation declaration, extension and dictionary declarations. |
bus-symbol-roles.json | Machine-readable form of Annex B. Fifty-two roots and seventy-five leaves. |
bus-units.json | Machine-readable form of Annex C, including the informative mapping of C.3. |
bus-conformance-tests.json | Machine-readable form of Annex A. Fifty-six tests across four groups. |
All three schema documents use the [JSONSCHEMA] 2020-12 dialect and resolve cross-references by $id. A validator MUST be configured with all three as a resource registry; they are not self-contained individually.
NOTE The $id values resolve to a placeholder authority and will be reassigned when a governance body exists. Implementations MUST treat them as opaque and MUST NOT fetch them at validation time.
F Open issues for version 0.3§
F.1 Known gaps§
- Ports and connection points — the largest remaining expressiveness gap.
subjectPortandobjectPortare free strings. Without a model it is impossible to say which branch, which side of a valve, or that a coil has a supply and a return. Should be decided against a real hydronic plant. - Networks and drivers —
binding.networkis a free string. Integration and driver configuration appears in this document’s own gap table (20.3) as something no standard carries — and this one does not carry it either. - The neutral vector format —
bus-vector-1is named in 13.4.3 and not specified. Figure mode is portable in principle and not in practice until it is. - Extraction of deployed control logic — sequences are referenced, not extracted. ASHRAE 231 is design-time. Extraction has no precedent in any standard and is the largest gap between this document and the charter’s reconstruction promise.
- Analytic rule portability — the extension interface attaches a result. It cannot carry the rule that produced it, and the boundary between a portable rule and a proprietary method is genuinely unclear.
- Signature formats — the manifest admits signatures and constrains nothing. This matters more now that actuation travels, and should be settled before any package is relied on as evidence.
- Revision under concurrent editing — revision is defined for a single writer. Two systems editing the same building and exchanging packages is not yet specified.
- Package scale — nothing bounds entity count or decompressed size. Test RT-14 measures scale without setting a threshold. A real portfolio export will find the limit before the standard does.
F.2 Decisions that merit challenge§
- No equipment taxonomy — defended in 1.4 and 5.3.3. The counter-argument is that a package whose classifications are all in vocabularies the receiver does not implement is portable in form and not in substance. Property definitions (7.8) are the mitigation; whether they are sufficient is untested.
- Relationships as entities — roughly a third of package size. A compact form for relationships carrying no provenance is worth considering.
- Forty symbol roles — small enough to ratify, possibly too small to be useful. The fallback rule means the cost of being wrong is low, but the first implementer to hit the ceiling should say so.
- Free-text knowledge notes — defended in 8.9 on the grounds that structure encourages discarding what does not fit. The opposite argument, that free text cannot be reasoned over and will be ignored, is also strong.
- Vendor-tree media type — correct today and wrong as soon as a governance body exists. The transition needs specifying before adoption, not after.
F.3 What review is asked for§
Implementers are asked to attempt an export from a real system at profile core-intent, and separately to attempt a graphics export, and to report: what the exporting system holds that the model cannot express; which completeness reason codes were needed and which were missing; how many symbol roles were unavailable; and what the export could not do without vendor assistance.
The last question is the one the charter cares about most and the one a schema cannot answer.
Take my building with me.
Not a data dump. Not a proprietary backup. A portable, durable, reconstructable understanding of the building the owner already paid to create.
END OF BUS-1 · VERSION 0.2 · WORKING DRAFT