Опубликованный пакет / CLIR
eu.transport.air_passenger_rights
v0.1.0Regulation (EC) No 261/2004 of the European Parliament and of the Council of 11 February 2004 establishing common rules on compensation and assistance to passengers in the event of denied boarding and of cancellation or long delay of flights, and repealing Regulation (EEC) No 295/91
sha256:2469dd56ac55e034eda559333efa2228f31c49e56e3d1bbfe8add29ecde0fbdflaw.toml[dependencies] eu.transport.air_passenger_rights = "0.1.0"
curl -O /blobs/2469dd56ac55e034eda559333efa2228f31c49e56e3d1bbfe8add29ecde0fbdf.lawir.json
Версия неизменна: содержимое по этому адресу не меняется никогда.
Дескриптор ниже — ровно та запись, которую резолвер кладёт вlaw.lock. Его форма нормативна ($defs/LockedPackageсхемы lockfile, §11), поэтому статус публикации выражается разделом каталога, а не полем внутри: лишнее поле сделало бы дескриптор невалидным.
{
"contentHash": "sha256:2469dd56ac55e034eda559333efa2228f31c49e56e3d1bbfe8add29ecde0fbdf",
"features": [
"core-executable",
"law.decision/0.1"
],
"name": "eu.transport.air_passenger_rights",
"namespace": "urn:eu:transport:clir:air-passenger-rights",
"registryId": "law-dsl-dev",
"resolverUri": "registry://law-dsl-dev/eu.transport.air_passenger_rights/0.1.0",
"version": "0.1.0"
}Байты
- скачать
- 2469dd56ac55e034eda559333efa2228f31c49e56e3d1bbfe8add29ecde0fbdf.lawir.json
- источник
- corpus/clir/eu-air-passenger-rights.lawir.json
- contentHash
- sha256:2469dd56ac55e034eda559333efa2228f31c49e56e3d1bbfe8add29ecde0fbdf
Имя файла и есть его content-адрес: путь не может начать означать другое содержимое. Проверить скачанное — тем же способом, каким считает реестр:
PYTHONPATH=lawref python3 -c ' import json, sys from lawref.resolver import package_content_hash print(package_content_hash(json.load(open(sys.argv[1])))) ' 2469dd56ac55e034eda559333efa2228f31c49e56e3d1bbfe8add29ecde0fbdf.lawir.json
Хэш посчитан по каноническим байтам CLIR-документа (§208). Скачанный файл обязан дать то же значение — это и есть проверка целостности, которую выполняет resolver.load_package_context при закреплении зависимости.
Подпись §244
Не выпускается. Схема поля есть (signature: algorithm, keyId, value), издателя и ключей — нет: подпись удостоверяет происхождение байтов, а не юридическую корректность правил, и заводится отдельной работой.