docs← Back to article

Markdown for LLMs

Queries: boundaries

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

Download this articlePlain text ↗
# Queries: boundaries

What the construct does NOT do: limits, reserved values, neighbouring constructs and the selection rule.

## Does not do

- **Not execute `focused_truth`.** A 0.3-semantics kind:
  in 0.2 the refusal is `FOCUS_UNSUPPORTED_SEMANTICS` (fatal) without a
  result, the document a separate focused-evaluation form, not
  accepted by the audit-document consumer. A conformance scenario pins the refusal.
- **Not substitute a non-marginal kind with a neighbour.** An implementation
  not executing the named query kind must reject it with a diagnostic.
  The kind list is a menu, not a guarantee that every kind executes
  in 0.2.
- **Not add support via `query`.** A named `query` declaration
  computes over the law (`let`/`return`) but adds no support to the
  legal state. Anyone waiting for a declared query to "lay a fact" mistakes
  the level: facts are laid by the case and by rules; a query only
  reads.
- **Not carry a term error in `positions`/`collect`.** The status ladder
  raises the status only on `truth`/`why_not`; other kinds
  (`positions`, `collect`, `argumentation`) do not carry a candidate term
  error in their status — a named but unclosed boundary.
- **Not answer an off-schema question.** A question failing
  the question schema is rejected before computation with `QUERY_INVALID`:
  a `kind`-less literal used to answer `COMPUTED` instead of
  `REQUIRES_JUDGMENT` — an answer different in meaning.
- **Not count in the explanation.** `why_not` names a rule with a computable
  head by compatibility, not equality, and does not tell "would have concluded
  another value" apart; substitution continuations read store
  witnesses only, cap eight per rule with a `truncated` flag.
- **Not iterate worlds without presentation.** `counterfactual` requires a finite content-addressed set of candidate patches
  (`law.core.counterfactual-input/0.1`), explicit `mutable`/`immutable`, a cost
  model with a canonical nonnegative Decimal and full tier success
  (`TRUE_ONLY` of the goal and all constraints); any fatal before the proven
  cutoff is `COUNTERFACTUAL_SEARCH_INCOMPLETE`, no partial minimum published.
  Without a cost function "minimal change" is undefined — the kind does not
  execute "thinking for the author".

## Reserved and closed

- The observation dictionary is closed and grows additively:
  `applied`, `any_applied`, `status_support`, `position_proved`,
  `deadline_trace`, `judgment_request(P[, A])`, `collected*`,
  `position_*`, `conflict_*`, `certificate`, `refused`. There is no unknown
  observation — there is a lowering refusal (`LDC-E1316` on short
  `position_count`, confirmed by run).
- The status list is closed (a computation-refusal envelope is a
  full document with an issue and a status, without a value; top-level `error`
  is only a pre-computation query/version refusal).
- Literalless kinds (`positions`, calendar operations) have nothing to
  check against a signature: arity checking does not apply to them.
- A standalone question's `queryId` is a URN of the case-package namespace;
  the completion form is deterministic, deriving from path/date/record form
  is forbidden (mismatch — `LDC-E1356`).

## Neighbours and the selection rule

- `truth` vs `why_not`: status vs explanation. See the selection
  table in `README.md`.
- `truth` vs `positions()`: one proposition vs a norm-position slice.
- `collect` vs `truth` with a value: listing vs checking.
- `query` declaration vs standard kind: computation over
  the law vs question to the law; the declaration carries the result contract
  (`result contract`), a runtime mismatch is a conformance error.
- `deadline` questions (calendar operations, `deadline policy` policies) vs `truth` about
  a period: a calendar operation is asked in its own kind, the date trace reads
  via the `deadline_trace` observation; output carry and cutoff-shift give
  one date on different days — the observation tells them apart, the date does
  not.
- `interpretation_analysis` vs `truth`: a question under each
  reading of the group; the only place where a query takes a query, and
  nesting is one level only.
- `weak_permission` vs strong permission (`liberty`): the weak one
  is "not prohibited under the closure policy", asked as a query kind,
  not as a position.