Features · The register

Forty findings, and every one names a number.

A check that says "geometry looks wrong" is an opinion. A check that says "the declared 2.520 m² door was emitted as 3.375 m², +33.9%, at a 0.75 m cell" is something you can act on, or overrule, on the evidence. Every finding in Ashbeck is written to the second standard.

Why a register at all

The failure that made this necessary passed sixteen checks.

We were rebuilding a published £25,000 consultancy study, clause by clause. A run came back complete. The solver reported success. Sixteen checks passed. A report issued with a governing available-safe-egress time of 38 to 42 seconds.

The building in that model was a sealed vessel. Sixteen leakage paths had been declared and not one reached outside air, so the fire had nowhere to push. Pressure peaked at 60,275 Pa — 0.6 bar, in an office. The tenability numbers were physically meaningless and there was nothing on the page to say so.

None of the checks were lying. They were each correctly examining something. The defect was in what nobody had thought to examine. Every finding added since exists because a specific number came out wrong, and the register is the list of things we now refuse to find out the hard way twice.

A check that has never fired on a real defect is a check nobody has validated. Ours are written from failures we had, and the commit that adds each one names the run it came from.

Severity

Three levels, and only one of them stops the document.

Severity is not a mood. It is a decision about whether the document remains transferable, and it is fixed in code rather than chosen per project.

PRES-01Blocker
Compartment pressure is physically implausible. Examined the pressure record across every zone. If a compartment reaches a differential no real building could sustain, the enclosure has sealed itself and every tenability number downstream is describing a pressure vessel. The report does not issue. This is the check written from run 45, and its severity never moves — an excursion that clears before the assessment window is still an excursion, because available-safe-egress time is derived continuously.
GEO-09Warning
The grid resized an opening. Openings are declared in metres and solved in cells, and no solver can cut half a cell. Beyond 10% of declared clear area this is stated in the document so the quoted area is the one the solver used; beyond 25% it blocks, because flow through an opening scales with area and at that point the modelled door is not the designed door.
CONF-01Blocker
The deck does not implement the model. Every other check reads the model, or reads the run. This one reads the input file the solver was actually given and reconciles it against the model that commissioned it. A promise the deck does not keep is a blocker, not a caveat: the entire value of the document is that it describes the simulation that was solved.
GEO-09Note
Openings resolved within 10% of declared. A clean result still says it looked, and at what. "No finding" and "not examined" must never render the same way — that distinction is the one the sealed-vessel run destroyed, and half the register exists to protect it.
Coverage

What the forty codes cover.

Grouped by what they examine. The register runs on every job; codes that do not apply to a building return nothing rather than a misleading pass.

FamilyCodesWhat it examines
ModelMODEL-01..03 Whether the declared building is internally coherent before anything is meshed.
GeometryGEO-01..10 Spaces, references, openings, and whether the grid changed either the geometry or the flow areas that geometry was declared to provide.
MeshMESH-01..03 Alignment, partitioning and whether refinement has sealed something it should have resolved.
Mechanical smoke ventilationMSV-00..05 Achieved flow against declared duty, damper areas, face velocities — and MSV-00 first, which states which systems the rest of the family covered.
Natural ventilationNAT-01 Shafts and vents that work on buoyancy rather than a fan.
FireFIRE-01..03 Design fire, burner footprint against declared area, and whether the fire actually reached the growth it was specified to reach.
PressurePRES-01 Whether the enclosure can breathe.
ConformanceCONF-01 The deck against the model.
Control logicCTRL-01 Whether the devices and controls that were declared actually fired in the run.
ResultsRES-01..03, TIME-01..02 Whether the assessment window contains enough of the right data to draw a conclusion from.
ScopeJURIS-01, REF-01, CON-01 Whether the guidance cited governs where the building actually is.
Cost and verificationCOST-01..02, VERIFY-01 Whether the run was affordable to trust and whether it verified against anything.
The rule we enforce on ourselves

A check that fires on a right answer is worse than no check.

It trains people to ignore the register, and once they do, the one finding that mattered scrolls past with the rest. We have made this mistake and caught it in testing twice in recent memory.

The first cut of the opening-area check compared closed doors too. A closed door is a solid leaf with no clear opening — zero emitted area is correct — so it raised a blocker on all twenty-seven correctly modelled closed doors in the building. The second keyed on "the opening is timed" as a proxy for a solver rule about device ownership; when the emitter changed, the proxy stopped correlating and the check became a false blocker on decks that ran perfectly well.

Both were caught before release by tests that assert the clean case as hard as the dirty one. Twenty test files run against the engine, and several of them exist solely to pin a finding at the severity it was measured at, so a future change cannot quietly promote or demote it.

A threshold that blocks the deck the system was validated against was not chosen by measuring. We set the opening-area limits only after measuring the distortion at six cell sizes.

Ask us to run it against a study you already have.

The register is the part that is hardest to describe and easiest to demonstrate. Give us a scheme that has already been assessed and we will show you what it finds — including, if it happens, nothing at all.