Skip to content

lawref.goals

Цели акта как объект (DECISION-0089) — оркестрация над свойствами §270.

Цель есть свойство с основанием basis (якорь §194 в преамбулу или иной текст о том, ЗАЧЕМ акт принят). Модуль отвечает на три вопроса тремя чистыми операциями над уже существующими движками и не содержит ни строчки семантики (инвариант 5):

  • вердикт цели над МНОЖЕСТВОМ миров (дела формата О-1): HELD, FAILED (контрпримеры названы парой мир/сущность), SKIPPED (наблюдающее правило не исполнено, §111) и VACUOUS — домен пуст во ВСЕХ мирах. Последний — третье значение, а не «держится на нуле»: цель по выходу невыбранного прочтения вакуумна всегда, и без этого значения фильтр ниже либо всё отбрасывает, либо пропускает пустой контекст (замер на fiqh.sawm 02.09.2026);
  • таблица «прочтение × цель» (--by-interpretation): по одному контексту на альтернативу группы §155 (exactly_one — каждая; any_of — пустой выбор и каждая порознь; compose_explicitly — не перечисляется, назван в манифесте). Режим анализа §156 оракулом не реализован, и здесь он не нужен: N контекстов — оркестрация;
  • телеологический ФИЛЬТР с порядком целей over: по рангам от старших к младшим остаются альтернативы без единого FAILED в ранге, а среди них — с хотя бы одним HELD, если такие есть. Итог — TELEOLOGICAL-UNIQUE, -AMBIGUOUS, -VOID (ни одна не служит целям), -VACUOUS (ни одна цель ни одну альтернативу не различает). Фильтр НЕ пишет контекст и не выбирает: выбор прочтения остаётся за контекстом дела §152.

Исполняет свойство оракул (lawtest.run_property); понижение свойства — работа компилятора (lawc lower-property --all), и модуль принимает уже понижённые документы, чтобы не зависеть от него.

Attributes

NameDescription
ALTERNATIVES_CAPNo description.
GOALS_BROKENNo description.
GOALS_PRESERVEDNo description.
GOALS_VACUOUSNo description.
NO_SELECTIONNo description.
SCHEMA_VERSIONNo description.

Classes

NameDescription
GoalsErrorОтказ по входу: цель без основания, повисший якорь, цикл порядка.

Functions

NameDescription
aggregateNo description.
alternativesАльтернативы прочтений из групп §155 документа: список
buildNo description.
check_goalsКаждая цель несёт basis, и он ведёт в фрагмент документа.
evaluate_goalsОтчёт: манифест + строки (альтернатива × цель) с вердиктом по мирам.
exit_code0 — цели держатся (или прочтение найдено/не единственно), 1 —
goal_ranksРанг цели по порядку over: 0 у старших, +1 за каждое ребро вниз
impact_sectionРаздел goals impact-отчёта: вердикт каждой цели ДО и ПОСЛЕ на одних
plain_verdictИтог без прочтений: FAILED > SKIPPED > VACUOUS > HELD.
render_impact_sectionNo description.
render_textNo description.
report_bytesNo description.
teleological_filterЛексикографический фильтр по рангам целей (DECISION-0089 §4.3).
world_verdictNo description.

ALTERNATIVES_CAPattributemodule attribute#

ALTERNATIVES_CAP = 64

GOALS_BROKENattributemodule attribute#

GOALS_BROKEN = 'GOALS-BROKEN'

GOALS_PRESERVEDattributemodule attribute#

GOALS_PRESERVED = 'GOALS-PRESERVED'

GOALS_VACUOUSattributemodule attribute#

GOALS_VACUOUS = 'GOALS-VACUOUS'

NO_SELECTIONattributemodule attribute#

NO_SELECTION = '—'

SCHEMA_VERSIONattributemodule attribute#

SCHEMA_VERSION = 'law.goals/0.1'

GoalsErrorclass#

class GoalsError(ValueError)

Bases: ValueError

Отказ по входу: цель без основания, повисший якорь, цикл порядка.

aggregatefunction#

def aggregate(verdicts: list[str]) -> str

alternativesfunction#

def alternatives(ir: dict, cap: int = ALTERNATIVES_CAP) -> tuple[list[dict], list[dict]]

Альтернативы прочтений из групп §155 документа: список {"label", "selected": [urn...]} и список групп манифеста.

buildfunction#

def build(ir: dict, documents: list[dict], worlds: list[tuple[str, dict]], by_interpretation: bool = False) -> dict

check_goalsfunction#

def check_goals(ir: dict, documents: list[dict]) -> None

Каждая цель несёт basis, и он ведёт в фрагмент документа.

Повисший якорь молчалив (dangling-source-anchor-is-silent), поэтому отказ здесь, до единого вызова движка.

evaluate_goalsfunction#

def evaluate_goals(ir: dict, documents: list[dict], worlds: list[tuple[str, dict]], alternatives_list: list[dict] | None = None) -> dict[str, Any]

Отчёт: манифест + строки (альтернатива × цель) с вердиктом по мирам. Детерминирован кортежем (документ, цели, миры, альтернативы): цели и миры сортируются по имени, чтобы байты не зависели от порядка argv.

exit_codefunction#

def exit_code(report: dict) -> int

0 — цели держатся (или прочтение найдено/не единственно), 1 — контрпример, 4 — «не утверждение о праве» (вакуум, пропуск, VOID).

goal_ranksfunction#

def goal_ranks(documents: list[dict]) -> dict[str, int]

Ранг цели по порядку over: 0 у старших, +1 за каждое ребро вниз (длиннейший путь). Цикл — отказ: порядок обязан быть частичным.

impact_sectionfunction#

def impact_section(before: dict, after: dict, documents: list[dict], worlds: list[tuple[str, dict]]) -> dict

Раздел goals impact-отчёта: вердикт каждой цели ДО и ПОСЛЕ на одних мирах, разность контрпримеров, итог.

GOALS-BROKEN(<цели>) — цель держалась до и упала после (FAILED) либо перестала проверяться (SKIPPED); уже павшая до и павшая после названа отдельно (alreadyFailed) — поправка её не ломала. GOALS-VACUOUS — ни одна цель после поправки не имеет домена ни в одном мире: «цели сохранены» на нуле дел не утверждается. Основания сверяются с документом ДО; после поправки фрагмент может исчезнуть — это названо полем basisAfter, а не отказом: снятая преамбула сама есть находка.

plain_verdictfunction#

def plain_verdict(report: dict) -> str

Итог без прочтений: FAILED > SKIPPED > VACUOUS > HELD.

render_impact_sectionfunction#

def render_impact_section(section: dict) -> list[str]

render_textfunction#

def render_text(report: dict) -> str

report_bytesfunction#

def report_bytes(report: dict) -> bytes

teleological_filterfunction#

def teleological_filter(report: dict) -> dict

Лексикографический фильтр по рангам целей (DECISION-0089 §4.3).

world_verdictfunction#

def world_verdict(result: dict) -> str

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

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