Skip to content

lawref.export

Экспорт сведений дела §168.5 (DECISION-0169 §1.2) — эталон export-case.

Поставщик ЯВНО называет записи; артефакт law.case-export/0.1 — каталог с export.json и documents/<путь>:

  • source — пакет (имя, версия, namespace), дело, resolutionHash лока;
  • records — выбранные assertion-узлы дела как в case.json, с явными id, в порядке дела (анонимный assert — LDC-E1364: его ID зависит от provenance и при повторном понижении не сохраняется);
  • bindings — ТРАНЗИТИВНОЕ замыкание констант дела, достижимых из записей: const_ref в аргументах литерала, в объекте judgment, в payload документа и в issuer; константа, ссылающаяся на константу, тянет и её. Недостающая привязка — LDC-E1364 с перечнем, а не молчаливая ссылка на константу потребителя;
  • evidence — документы из полей evidence записей И документы, названные from относящейся опоры (ребро тянет свой документ, даже если ни одна запись его не называет);
  • supportEdges — рёбра, ОТНОСЯЩИЕСЯ к записи по таблице отбора §168.5: пара «пропозиция БЕЗ полярности + relation». У assert P это supports P и refutes P; у assert not P — ТЕ ЖЕ рёбра, потому что §78.2.2 называет штатной опорой отрицания refutes с ПОЛОЖИТЕЛЬНЫМ to. Отбор по равенству литералов терял бы опору всякого отрицательного утверждения;
  • verifications — проверки этих документов;
  • documents — вложения этих документов: uri из payload, файл поставщика по локу вида document, копия в <out>/documents/<uri>, а path перечня — documents/<uri> (путь внутри каталога снимка, §168.5); documentHash каждого evidence сверяется с БАЙТАМИ вложения (§1.2, гейт Astra);
  • contentHash — sha256 канонических байтов export.json без этого поля.

Замыкание, которое нельзя собрать (документ записи не объявлен, константа не связана) — отказ LDC-E1364 с перечнем. Понижение дела — работа компилятора (lawc lower-ask), вызывается из CLI; модуль принимает УЖЕ пониженный документ дела и перечень анонимных утверждений.

Attributes

NameDescription
DOCUMENT_CODENo description.
EXPORT_CODENo description.

Functions

NameDescription
buildАртефакт без записи на диск и перечень вложений (uri, файл поставщика).
closurebindings, evidence, supportEdges, verifications по выбранным записям.
select_recordsВыбранные записи в порядке ДЕЛА. --record принимает StableId либо
write<out>/export.json каноническими байтами и <out>/documents/<uri>.

DOCUMENT_CODEattributemodule attribute#

DOCUMENT_CODE = 'LDC-E8704'

EXPORT_CODEattributemodule attribute#

EXPORT_CODE = 'LDC-E1364'

buildfunction#

def build(root: Path, *, manifest: dict, lock: dict, case_name: str, case: dict, record_ids: list[str], anonymous: list[str]) -> tuple[dict, list[tuple[str, Path]]]

Артефакт без записи на диск и перечень вложений (uri, файл поставщика).

closurefunction#

def closure(case: dict, records: list[dict]) -> tuple[dict, list[dict], list[dict], list[dict]]

bindings, evidence, supportEdges, verifications по выбранным записям.

Опоры отбираются related_edges — по паре «пропозиция без полярности + relation» (§78.2.2); документ, названный from относящейся опоры, входит в замыкание, даже если ни одна запись не называет его в поле evidence; константы замыкаются ТРАНЗИТИВНО, недостающая — LDC-E1364 с перечнем.

select_recordsfunction#

def select_records(case: dict, wanted: list[str], anonymous: list[str], namespace: str) -> list[dict]

Выбранные записи в порядке ДЕЛА. --record принимает StableId либо короткое имя (<namespace>#<имя>); анонимный — LDC-E1364.

writefunction#

def write(out: Path, artifact: dict, files: list[tuple[str, Path]]) -> Path

<out>/export.json каноническими байтами и <out>/documents/<uri>.

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

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