Skip to content

lawref.evaluator.constraints

Non-derivational constraints §93.1–§93.3 (errata E-0086).

Constraint не выводит и не поражает: он СПРАШИВАЕТ готовое состояние — после всех strata §111 и norm runtime §280.3, перед ответом на запрос (§280.2: «evaluate finite constraint applications after their producer barriers»). До E-0086 ни одна реализация его не вычисляла: prose называла исходы, но не момент и не место результата (замер 01.09.2026, kz.tuystyq).

Порядок здесь нормативен байт в байт (§208): constraint-ы — по stable ID, подстановки — по каноническим байтам; law-eval/src/constraints.rs — порт.

Functions

NameDescription
evaluate_constraintsGround constraint applications §93.3 → (результаты CONSTRAINT, узлы
merge_intoВписать находки §93.3 в готовый документ ответа: результаты — после

evaluate_constraintsfunction#

def evaluate_constraints(nodes: list[dict], store: SupportStore, registry: ProofRegistry, manifest: dict, query_id: str, legal_time: str, issues: list[dict], env: Any = None) -> tuple[list[dict], list[dict]]

Ground constraint applications §93.3 → (результаты CONSTRAINT, узлы constraint_check). Issues §93.3 дописываются в issues по ходу.

merge_intofunction#

def merge_into(doc: dict, results: list[dict], proof_nodes: list[dict], registry_nodes: list[dict]) -> dict

Вписать находки §93.3 в готовый документ ответа: результаты — после ответов на запрос, узлы — корнями, посылки — замкнуто по §179.

Ветви запросов собирают proofGraph.nodes по-разному (term/calendar_op несут только корень), поэтому замыкание по посылкам достраивается из реестра: узлы, которых в документе нет, добавляются в порядке реестра.

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.