The standard

Roadmap and open issues

What is settled, what is provisional, what is unspecified, and what is deferred. Deliberately without dates — a standard that misses its own dates teaches people to ignore it.

Closed in v0.3

Five issues this page listed as open through v0.2 are closed. Each was closed after reading Project Haystack 4.0.0 and Brick Schema 1.4.4 in full and checking what they already did in the same space — which in one case was nothing at all.

  • bus-vector-1 — specified as a closed profile of SVG 1.1 Static, with a permitted element list and an explicit definition of what “render substantially as given” means. Neither Haystack nor Brick has any vector, drawing or figure construct, so there was nothing to adopt and a new format was not worth inventing.
  • Ports — H-1, closed. An asset declares named ports with a direction and a medium; a relationship names one. The prior art is ASHRAE 223P: Brick 1.4.4 has no port model whatever, and Haystack encodes ports as supertypes, which caps an asset at one port per medium per direction and so cannot say which side of a valve a pipe lands on.
  • Networks — H-2, closed as far as it should be. A network is an entity, following Haystack, because two devices sharing a trunk is a fact about the pair. Driver configuration stays out of scope deliberately: it is product configuration, not building description.
  • Deployed logic — H-3, narrowed rather than closed. A sequence can now say whether it is what was designed or what the controller is running, and unknown is an available answer. Extraction of compiled control programs is not specified: neither Haystack nor Brick has any control-logic construct, and there is no precedent to follow.
  • Quantity dimension vectors — closed, after this page first named them open. Every quantity in the unit vocabulary carries an SI dimension vector with a kind, so a receiver can check that two independently authored property definitions are dimensionally compatible before comparing their values, and the build verifies the vectors obey their own algebra.

Named and unspecified

  • Prototype templates — Haystack’s expected-content mechanism is the best idea in it that BUS lacks. Declined for now because it says what a good export contains, which is the conformance suite’s job, not the model’s.

Declined, with reasons

A roadmap that lists only what is coming reads as though everything is coming. These were considered and refused:

  • A point-function taxonomy. Brick has 938 point classes; Haystack composes point meaning from orthogonal tag slots that multiply out past sixteen thousand combinations. Adopting either would put BUS in the position of adjudicating between two mature vocabularies, which clause 7.7 explicitly refuses to do, and would age at the speed of the faster-moving of the two — Brick deprecated 71 of its own point classes across three minor versions.
  • Growing the symbol role vocabulary. Not without implementer evidence. Annex F.3 asks how many roles were unavailable in a real export; until someone answers, growth is guesswork, and the truncation rule already makes a missing leaf free.

Closed by BUS-2

Time series. This page listed it as deferred through v0.2, and the deferral worked exactly as designed: the timeSeries domain existed in the completeness vocabulary before the format existed, so every package in the interim declared the absence honestly instead of hiding it. BUS-2 now specifies the domain — a bus:Series declaration entity and a sample format built for the 2056 test — and the full profile is claimable without the dispensation clause 2.3 used to carry.

What evidence would change the model

The scale test is the clearest example of evidence changing the document. At 344,285 entities, JSON Schema validation took about a hundred seconds of a hundred-and-two second import; every other stage took seconds. That did not change the wire format — it changed the advice, and the specification now tells implementers to run a fast structural pass separately from schema validation.

The four questions

Annex F.3 asks implementers four questions. They were what drove v0.3 and they are still open, because the one that matters most — what an export could not do without vendor assistance — is the one no schema can answer. They are collected on the participate page.