docs← Back to article

Markdown for LLMs

Constraints: boundaries

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# Constraints: boundaries

What the construct does NOT do in 0.2: limits, closed lists,
neighbouring constructs, and the selection rule.

## Does not do

- **Does not infer.** Adds no logical support, takes no part in
  defeat/priority as a rule. `X only_if Y` never infers `Y`.
- **Does not sanction.** Creates no automatic legal violation/sanction:
  failure is a validation/compliance finding. A sanction is a
  separate rule on established facts.
- **Does not substitute for a position.** A finding has no holder, window,
  or lifecycle: position pending/active/satisfied/violated
  do not apply here; the verdicts are its own — satisfied/violated/
  conflicted/undetermined.
- **Does not aggregate secretly.** The v1 aggregation query policy is one —
  `all`: findings are neither hidden nor folded. `severity` affects
  only the issue record, not the verdict.
- **Does not apply outside its window.** With `effective` outside
  the law date the constraint does not apply; an unexecutable one declares
  `NON_EXECUTABLE_CONSTRAINT` and is not evaluated.

## Reserved and closed

- `fatal` as a schema severity is reserved for computation halt:
  `critical` on a constraint is written as `error` with
  `details.severity = "critical"`.
- A constraint’s `message` enters the issue as `constraint <id> <verdict>:
  <message>`; without `message` the defaults are plain “requirement not met”
  / “antecedent or requirement contradictory”.
- The issue-blocking scope: `error` blanks only a result
  depending on the predicates of this constraint’s `scope`/`when`/`require`
  clauses; the constraint verdict and result themselves are unchanged.

## Neighbours and selection rule

- `constraint` vs `rule`: coherence checking without inference vs
  consequent inference with support. Want `Y` established — a rule.
- `constraint` vs `prohibition`: a finding without holder or window
  vs a norm with holder, window, and lifecycle. Someone to
  refrain and a when — a prohibition. See the
  [prohibitions page](/constructs/prohibition/).
- `constraint` vs `definition necessary`: a one-off check vs a
  concept half with the `was_derived_from` provenance edge. See the
  [definitions page](/constructs/definition/).
- `require` vs `valid_when`: a check without effect vs an exercise
  validity condition with `POWER_INVALID_EXERCISE`. See the
  [powers page](/constructs/power/).
- `only_if` vs `if X then Y`: always a constraint vs a rule, only if
  `Y` is an admissible head (a literal or a norm template).