Data Center Lab · BIM and Navisworks · Failure Postmortem

A BIM Purity Gate Stopped Federation at 80 of 96 Electrical Instances

The purity gate stopped the next federation revision before any clash test ran, because the electrical model exposed 80 of 96 controlled instances; a clash result could never have reported connectivity anyway.

3D model rendering of a long modular data center building with service doors along one facade
Model-based rendering of the modular building.

The plugin returned a blocked-purity status and generated no revision files. Three clash tests were never run. The previous revision was left untouched. Nothing was blocked by a clash. The instance purity gate stopped the next federation revision because the electrical whitelist expected 96 controlled instances and matched 80 [MODELED]. Sixteen are missing by name. The structural register expected 149 and matched 147, missing two named elements, while the mechanical set at 162 and the maintenance set at 98 passed exactly [MODELED].

The Gate Records a Failed Precondition, Not a Clash

Four collections are checked before anything is created. The selector refuses model roots, type containers and any object outside its whitelist. Search sets are created, tests are run and the revision is saved only when all four satisfy expected equals matched with missing, extra and duplicate all at zero. Two of the four did not. The saved status therefore names a failed input precondition, not a coordination outcome. Without a revision file there is no downstream test artefact whose result can be compared with the prior run.

The gate record closes the two escapes that schedule pressure would otherwise reach for. The authoritative expected count may not be lowered to 80 or to 147. The shortfall may not be made up with whole-model or container objects. Either would have produced a saved revision with three tests that ran, and the resulting counts would have read as ordinary coordination progress while resting on a smaller population than the whitelist declares. The structural selection is also declared not to contain two further named elements, so the 147 is a stated figure and not a residual.

What the gate measures is whether a named instance resolves. A hard-clash test measures whether two solids overlap. No field in either record reports whether two devices are joined. The coverage audit on the same object population already treats uniqueness and coverage as two different gates. A complete instance list is not a connected plant.

Sixteen Empty-Geometry Instances Are Expected, Not Missing

A companion instance whitelist, read independently from the native files, records the same 96 electrical instances and splits them: 80 with nonempty geometry, 16 with none [MODELED]. Those sixteen are the existing zero-degree objects — a ring-main unit, twelve maintenance bypasses, a bus tie, a synchronising point and a grounding resistor. They are to be kept on the whitelist, marked as empty geometry, and neither selected as clashable solids nor described as having geometry. The purity run on the previous federation treated them as missing. That is why the gate blocked. It is also why lowering expected to 80 is the attack the gate exists to catch.

Identity had already been closed in the other direction at the previous revision, when an independent read-back matched a frozen manifest's 147 held identifiers one for one against leaf objects in the federated file and confirmed byte-identical digests before and after reading [MODELED]. That read-back had to reach its 147 by matching display names, because the platform does not expose the underlying application identifier as a stable readable property. Its own scope statement is equally narrow: it proves the content can be read repeatably with closed selections, and not that the concept proxy geometry has reached construction clash freedom.

Recovery Is Republication; the 80-of-96 Cause Has No Owner

Recovery is written as two republications and a rerun: an electrical model that is visible and exportable and contains all 96 controlled instances, a structural model containing the two absent elements, then the purity gate again. A different conclusion about this revision becomes available the moment those two republications land, because the gate would then pass and the blocked status would disappear without a single clash having been closed. That is the sharpest demonstration that the two questions are unrelated.

The sixteen absent electrical identifiers are listed individually in the gate record. The per-collection evidence file prints expected, matched, missing, extra, duplicate and the member identifiers for each of the four sets, so a republication can be checked and not merely asserted. Selector source, run script and whitelist are each published with their own digest, so the next run can be shown to have used the same rule as this one and not a relaxed variant of it.

Whoever republished the electrical model must record why it now exposes 80 of 96 controlled instances. A republication cannot be checked against a cause nobody has written down. That record has no owner in any document of the read set.

Limits and open items

Confirmed: the next revision was not generated; the three tests were not run; the authoritative expected counts may not be lowered to the matched figures. [FACT]

Modelled and unfrozen: 96 expected against 80 matched, 16 missing; 149 against 147; 162 and 98 exact; the previous revision's 147 held-identifier match. The sixteen empty-geometry instances are the zero-degree set already classified on the native electrical file. They are to be kept on the whitelist and neither selected as clash solids nor described as having geometry. [MODELED]

Open: an electrical republication that exposes all 96 controlled instances, including the sixteen empty-geometry members as members rather than as clash solids; a structural republication containing the two absent elements; a written cause for the 80-of-96 exposure; a rerun of the same purity rule. Nothing here has been sealed. No clash has been closed, because none was run. [HOLD]

Do Not Lower Expected Counts to the Matched Figures

The useful test of the next federation is not whether three tests complete. It is whether expected still reads 96 on electrical and 149 on structure. If either has been edited down to the matched count, the gate has been defeated in the one way this run refused to allow.


© 2026 K&K Data Service Inc. All rights reserved. Reproduction or republication is permitted only with clear attribution to K&K Data Service Inc. and a working hyperlink to the canonical URL of this article. Excerpts must preserve the technical context, maturity labels, assumptions, and limitations. No excerpt may imply project approval, field validation, certification, or endorsement that the original article does not state.

Source: K&K Data Service Inc., “A BIM Purity Gate Stopped Federation at 80 of 96 Electrical Instances,” https://www.kkdatasvc.com/lab/bim-and-navisworks/rev5-blocked-at-80-of-96-electrical-instances-not-at-a-clash/.

Discuss This Constraint. If your project record shows a different result, or the same failure domain under another name, we want to see it. Email inquiry@kkdatasvc.com or use the contact page.