Skip to content
EN · PT

Gate: domain-declared

The spec declares what it accepts and who guards the boundary.

Property Value
Checker domain-declared
Confronts spec
Blocking by default — new project yes
Blocking by default — existing project no — informs
Duplicates a declaration it controls repeated in one file fails it; duplicates: false switches this off

Confronts a spec against the question the rest of the framework does not ask: what does this unit accept as input, and who guarantees that the invalid never arrives?

The gap it closes was measured: 71% of the specs of a real project had a section of rules or effects, and only 14% said what the unit accepts. The whole framework is built on cataloguing EFFECTS — what the unit does —, and every edge defect found in three rounds of adversarial review lived in what nobody had declared.

The distinction that gives the gate its reason: ## Constraints says what the unit does NOT do, and pushes the duty OUTWARD; ## Domain says what it ACCEPTS, and NAMES WHO is left with it. Writing more constraints closes nothing — it creates orphans, because every “not mine” needs someone on the other side.

gates:
- name: domain-declared
on: [spec]
check: domain-declared

Source: checker · its spec