Skip to content
EN · PT

Gate: open-questions-resolved

The spec has no open question — implementing is not guessing.

Property Value
Checker open-questions-resolved
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 decisions it has NOT yet taken, and keeps it out of “ready” while there is an open question.

The defect class is UNRESOLVED AMBIGUITY — the cheapest to avoid and the most expensive to discover late. The path is always the same: the spec does not decide something the code needs; whoever implements picks a defensible reading and moves on; the choice is never confronted with the one who had the answer; the product ships with the wrong reading. No other gate catches it, because all the pieces exist and reference one another — the defect is a decision nobody took.

What this gate adds to the advice “don’t guess, record and report” is a declared PLACE for the record. Without a place, recording becomes a PR comment that dies in the merge. With a place, the question is a visible work item, and the spec only becomes implementable when the section empties.

The intended cycle: whoever writes notices what they do not know and writes it in the section; the gate accuses while there is an item; the question is taken to whoever decides; the answer BECOMES A RULE, with a code, and the item leaves the section.

gates:
- name: open-questions-resolved
on: [spec]
check: open-questions-resolved

Source: checker · its spec