Skip to main content

What check guarantees

✔ Consistent — 3 spaces / 3 boundaries
  Structural consistency only — architectural validity is what koyu validate says, separately

That line says one thing only: what is written does not contradict itself as data. It sits at the same layer at which a JSON parser rejects broken JSON. It is not a judgement but part of reading.

This page draws that line with a worked example. The exact list of promises is in Scope.

A sealed two-storey house

These eleven lines are green.

koyu 1.0
grid X 0 3600
grid Y 0 4000
level L1 0 h:2400 slab:300
level L2 3000 h:2400 slab:300
space /L1/hall hall X1..X2 Y1..Y2
space /L2/bed bedroom X1..X2 Y1..Y2
space /out exterior
boundary /L1/hall /out t:150
boundary /L2/bed /out t:150
boundary /L1/hall /L2/bed type:stair
✔ Consistent — 3 spaces / 3 boundaries
  Structural consistency only — architectural validity is what koyu validate says, separately

There are external walls, there is a stair, the levels line up, and the height invariant holds. And there is no way out.

npx tsx src/cli.ts doors sealed.muro /L2/bed /out
Cannot reach /out from /L2/bed

The reason is simple. The default between touching spaces is a wall, and a wall without a door cannot be passed. Declare not one door and a two-storey house is perfectly sealed while staying green (Default boundaries).

There used to be a warning for "these touch but no boundary is declared". Once the default became a wall it had no work left to do and was retired. In a system where silence means a default wall, silence is not an omission.

Judgement is said by a different command

The seal is not overlooked. A different surface catches it.

npx tsx src/cli.ts validate sealed.muro
✖ [access.unreachable] sealed.muro:line 6: Cannot reach the exterior: /L1/hall (no passable boundary leads out — write a door)
✖ [access.unreachable] sealed.muro:line 7: Cannot reach the exterior: /L2/bed (no passable boundary leads out — write a door)
Validation — 2 violations / 0 cautions

check and validate are different commands, returning different types, in different states of freeze. That split is itself a design decision, and check and validate takes it up.

An empty file is green too

At the extreme, check passes an empty file.

✔ Consistent — 0 spaces / 0 boundaries
  Structural consistency only — architectural validity is what koyu validate says, separately

Exit code 0. There is no composition that fails to hold, so this is correct.

check tests that what is written contains no contradiction; it does not test that what is needed has been written. That asymmetry is not a defect but the definition.

What green does and does not guarantee

Guaranteed — uniqueness of paths and identity, existence of referents, definition of levels, overlap of regions in plan and in section, that composition resolves, sufficiency of the information needed to make a form, soundness of relations, uniqueness of derivation, value ranges of interpreted attributes, soundness of the given.

Not guaranteed — daylight, coverage ratio, floor area ratio, continuity of the envelope, whether a stair is climbable, whether a door can physically be installed, egress, road frontage, and every other kind of architectural validity. Plus the meaning of carried-tier attributes.

The line is drawn consistently. check goes as far as "can a unique form be made from this"; "is that form architecturally valid" is validate.

That is why overlap in section — a ceiling below and a floor above occupying the same z — is in check: it is the same kind of contradiction as two regions overlapping in plan, and no unique form comes out of it. Whereas height judgements like storey height, eaves height and setback envelopes are not in check.

The full list, mapped to diagnostic codes, is in Scope.

What green entitles you to claim

ClaimCan green support it?
This file can be readyes
A unique form can be made from this fileyes
This file's canonical JSON is stableyes
You can get out of the buildingno → doors / validate
The envelope is closedno → validate's envelope.gap
There is enough daylightno → light / validate
The stair is climbableno → runs / validate
It works as a buildingno

Never claim "it works" on the strength of green. That is not an expression of caution; it is the definition of what check means.

Next