Skip to content

lawref.population_replay

population-replay — воспроизведение одного документа отчёта population-impact по пинам банка (DECISION-0271, proof по требованию).

Отчёт, собранный с --no-store, несёт только адреса документов (documentRef — sha256 канонических байтов §208). Повтор — тот же ask строки на той же стороне с тем же закреплённым запросом: пины сторон банка (манифест, лок, theoryHash, artifactHash, ресурсы), понижение дела, исполнение. Байты сверяются с documentRef; совпали — документ записан в --out (если дан), код 0; разошлись — код 3 POPULATION_REPLAY_MISMATCH (документ всё равно записывается для разбора); отказы подготовки — код 2.

Attributes

NameDescription
FAILEDNo description.
MISMATCHNo description.
MISMATCH_EXITNo description.
NO_DOCUMENTNo description.
OK_EXITNo description.
QUERIESNo description.
REFUSED_EXITNo description.
REPORT_INVALIDNo description.
TOOLNo description.
USAGENo description.
USAGE_TEXTNo description.

Classes

NameDescription
ReplayRefusalNo description.

Functions

NameDescription
document_ref(вид адреса, адрес) документа строки для стороны и запроса: documentRef
load_reportNo description.
mainNo description.
query_ofЗапрос и мера (для проекции) по имени; rank/size — только сторона basis.
replay(канонические байты документа, его адрес, ожидаемый адрес из отчёта).

FAILEDattributemodule attribute#

FAILED = 'POPULATION_REPLAY_FAILED'

MISMATCHattributemodule attribute#

MISMATCH = 'POPULATION_REPLAY_MISMATCH'

MISMATCH_EXITattributemodule attribute#

MISMATCH_EXIT = 3

NO_DOCUMENTattributemodule attribute#

NO_DOCUMENT = 'POPULATION_REPLAY_NO_DOCUMENT'

OK_EXITattributemodule attribute#

OK_EXIT = 0

QUERIESattributemodule attribute#

QUERIES = ('measure', 'rank', 'size.adults', 'size.children')

REFUSED_EXITattributemodule attribute#

REFUSED_EXIT = 2

REPORT_INVALIDattributemodule attribute#

REPORT_INVALID = 'POPULATION_REPLAY_REPORT_INVALID'

TOOLattributemodule attribute#

TOOL = 'population-replay'

USAGEattributemodule attribute#

USAGE = 'POPULATION_REPLAY_USAGE'

USAGE_TEXTattributemodule attribute#

USAGE_TEXT = 'python -m lawref population-replay --bank <bank.json> --report <report.json> --row <rowId> --side before|after [--query measure|rank|size.adults|size.children] [--out <файл>] [--lawc <бинарь>]'

ReplayRefusalclass#

class ReplayRefusal(code: str, message: str)

Bases: Exception

codeattributeinstance attribute#

code = code

messageattributeinstance attribute#

message = message

linemethod#

def line() -> str

document_reffunction#

def document_ref(core: dict, row_id: str, side: str, query: str) -> tuple[str, str]

(вид адреса, адрес) документа строки для стороны и запроса: documentRef в полном режиме, outcomeHash в отчёте без proof (DECISION-0275, reportCore.proofMode = omitted); отсутствие — отказ.

load_reportfunction#

def load_report(path: Path) -> dict

mainfunction#

def main(argv: list[str], lower=None, lower_root=None) -> int

query_offunction#

def query_of(bank: dict, query: str, side: str) -> tuple[dict, dict | None]

Запрос и мера (для проекции) по имени; rank/size — только сторона basis.

replayfunction#

def replay(bank_path: Path, report_path: Path, row_id: str, side_label: str, query: str, lower, lower_root) -> tuple[bytes, str, str]

(канонические байты документа, его адрес, ожидаемый адрес из отчёта). Адрес — documentRef документа либо, для отчёта без proof, outcomeHash той же проекции §5 над полным документом повтора.

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

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