Package passports · 0.15.0

tutorial.archive

Учебный пример подключения пакетов, расчёта архивных тарифов и ограничений пени.

Declared by the maintainer

Passport JSON ↗

Connect and try

[dependencies]
"tutorial.archive" = "0.15.0"

Executable examples in the release

tests/late-fee.lawtest
language "law.core" version "0.2";
package tutorial.archive version "0.15.0";
namespace "urn:law:tutorial:archive";

test "три дня просрочки — 600, вся база в первой ступени" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2026-04-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2026) {
            id "assert-year";
            origin case_input;
        }
        assert days_overdue(entity_ref("urn:tutorial:ivanova"), 3) {
            id "assert-days";
            origin case_input;
        }
    }
    evaluate truth(late_fee(entity_ref("urn:tutorial:ivanova"), 600 KZT));
    expect truth_status == TRUE_ONLY;
    expect evaluation_status == COMPUTED;
}

test "пятнадцать дней — база 3000, вторая ступень в половину: 2500" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2026-04-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2026) {
            id "assert-year";
            origin case_input;
        }
        assert days_overdue(entity_ref("urn:tutorial:ivanova"), 15) {
            id "assert-days";
            origin case_input;
        }
    }
    evaluate truth(late_fee(entity_ref("urn:tutorial:ivanova"), 2500 KZT));
    expect truth_status == TRUE_ONLY;
}

test "шестьдесят дней — шкала даёт 7000, потолок 2026 года — 5000" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2026-04-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2026) {
            id "assert-year";
            origin case_input;
        }
        assert days_overdue(entity_ref("urn:tutorial:ivanova"), 60) {
            id "assert-days";
            origin case_input;
        }
    }
    evaluate truth(late_fee(entity_ref("urn:tutorial:ivanova"), 5000 KZT));
    expect truth_status == TRUE_ONLY;
}

test "та же просрочка на дату права 2025 года — потолок 4000" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2025-12-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2026) {
            id "assert-year";
            origin case_input;
        }
        assert days_overdue(entity_ref("urn:tutorial:ivanova"), 60) {
            id "assert-days";
            origin case_input;
        }
    }
    evaluate truth(late_fee(entity_ref("urn:tutorial:ivanova"), 4000 KZT));
    expect truth_status == TRUE_ONLY;
}
tests/tariffs.lawtest
language "law.core" version "0.2";
package tutorial.archive version "0.15.0";
namespace "urn:law:tutorial:archive";

test "семь страниц по ставке города — 1050" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2026-04-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2026) {
            id "assert-year";
            origin case_input;
        }
        assert copy_order(entity_ref("urn:tutorial:order1"), entity_ref("urn:tutorial:ivanova"), 7) {
            id "assert-order";
            origin case_input;
        }
    }
    evaluate truth(copy_fee(entity_ref("urn:tutorial:order1"), 1050 KZT));
    expect truth_status == TRUE_ONLY;
    expect evaluation_status == COMPUTED;
}

test "год счёта, на который совет ставки не установил, — платы нет" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2026-04-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2025) {
            id "assert-year";
            origin case_input;
        }
        assert copy_order(entity_ref("urn:tutorial:order1"), entity_ref("urn:tutorial:ivanova"), 7) {
            id "assert-order";
            origin case_input;
        }
    }
    evaluate truth(copy_fee(entity_ref("urn:tutorial:order1"), 1050 KZT));
    expect truth_status == NEITHER;
}

test "исследователь: три четверти тарифа — 787,50" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2026-04-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2026) {
            id "assert-year";
            origin case_input;
        }
        assert copy_order(entity_ref("urn:tutorial:order1"), entity_ref("urn:tutorial:ivanova"), 7) {
            id "assert-order";
            origin case_input;
        }
        assert reader_category(entity_ref("urn:tutorial:ivanova"), Researcher) {
            id "assert-category";
            origin case_input;
        }
    }
    evaluate truth(reader_fee(entity_ref("urn:tutorial:order1"), 787.50 KZT));
    expect truth_status == TRUE_ONLY;
}

test "студент: половина тарифа — 525" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2026-04-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2026) {
            id "assert-year";
            origin case_input;
        }
        assert copy_order(entity_ref("urn:tutorial:order1"), entity_ref("urn:tutorial:ivanova"), 7) {
            id "assert-order";
            origin case_input;
        }
        assert reader_category(entity_ref("urn:tutorial:ivanova"), Student) {
            id "assert-category";
            origin case_input;
        }
    }
    evaluate truth(reader_fee(entity_ref("urn:tutorial:order1"), 525.00 KZT));
    expect truth_status == TRUE_ONLY;
}

test "прочий читатель: полный тариф" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2026-04-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2026) {
            id "assert-year";
            origin case_input;
        }
        assert copy_order(entity_ref("urn:tutorial:order1"), entity_ref("urn:tutorial:ivanova"), 7) {
            id "assert-order";
            origin case_input;
        }
        assert reader_category(entity_ref("urn:tutorial:ivanova"), General) {
            id "assert-category";
            origin case_input;
        }
    }
    evaluate truth(reader_fee(entity_ref("urn:tutorial:order1"), 1050.00 KZT));
    expect truth_status == TRUE_ONLY;
}

test "год без ставки совета — плата невычислима, и посылка названа" {
    given {
        context {
            decision_time @2026-04-20T09:00:00+05:00;
            knowledge_time @2026-04-20T09:00:00+05:00;
            legal_time @2026-04-20;
            timezone "Asia/Almaty";
        }
        assert billing_year(entity_ref("urn:tutorial:ivanova"), 2025) {
            id "assert-year";
            origin case_input;
        }
        assert copy_order(entity_ref("urn:tutorial:order1"), entity_ref("urn:tutorial:ivanova"), 7) {
            id "assert-order";
            origin case_input;
        }
    }
    evaluate truth(copy_fee_computable(entity_ref("urn:tutorial:order1")));
    expect truth_status == NEITHER;
    expect not applied(CopyFeeComputable);
}

Scope and limitations

Declared by the maintainer

Checks and measurements

Performance

Passed

· Full report ↗

Native FFI · gate · Apple M4 Max

ScenarioInput factsp50 / p95, msResponse size, B
три дня просрочки — 600, вся база в первой ступениtests/late-fee.lawtest26.17 / 7.0968380
семь страниц по ставке города — 1050tests/tariffs.lawtest24.02 / 4.706502
три дня просрочки — 600, вся база в первой ступениtests/late-fee.lawtest126.46 / 7.0768380
три дня просрочки — 600, вся база в первой ступениtests/late-fee.lawtest1027.96 / 8.7168380

Handle loading: 3.91 ms · Peak worker memory: 52.11 MiB

These measurements apply to the named scenarios and environment. All measured answers passed their authored expectations.

Measurement conditions
{
  "environment": {
    "cpu": "Apple M4 Max",
    "loadAverage": [
      5.05419921875,
      6.02294921875,
      8.11865234375
    ],
    "logicalCpus": 14,
    "machine": "arm64",
    "os": "macOS-15.7.3-arm64-arm-64bit",
    "python": "3.10.11",
    "ramBytes": 38654705664
  },
  "configuration": {
    "buildProfile": "gate",
    "cache": "New isolated process; shared handle; OS file cache not flushed",
    "concurrency": 1,
    "engineHash": "sha256:71d6a2451af2b06810d847a59c0910f43888c7b56d6f4890d589ff54804e7dd0",
    "percentiles": "nearest-rank",
    "proofSizeEncoding": "Compact UTF-8 JSON of proofGraph; excludes enclosing field name",
    "rounds": 30,
    "scenarioDefinition": {
      "format": "law.package-scenarios/0.1",
      "scenarios": [
        {
          "id": "archive-1",
          "reason": "First authored example of this suite; pinned explicit selection, not exhaustive performance coverage.",
          "suite": "tests/late-fee.lawtest",
          "testIndex": 0
        },
        {
          "id": "archive-2",
          "reason": "First authored example of this suite; pinned explicit selection, not exhaustive performance coverage.",
          "suite": "tests/tariffs.lawtest",
          "testIndex": 0
        },
        {
          "extraFacts": 10,
          "id": "archive-1-facts-10",
          "reason": "Synthetic scaling: 10 assertions about distinct additional entities; original authored expectations must still hold.",
          "suite": "tests/late-fee.lawtest",
          "testIndex": 0
        },
        {
          "extraFacts": 100,
          "id": "archive-1-facts-100",
          "reason": "Synthetic scaling: 100 assertions about distinct additional entities; original authored expectations must still hold.",
          "suite": "tests/late-fee.lawtest",
          "testIndex": 0
        }
      ]
    },
    "scenariosHash": "sha256:08babc7d887dee097003624d5759ec34bb1a26805cf3ffb4ce994ada3822bdc9",
    "timeoutSeconds": 60,
    "timingScope": "FFI call and buffer copies; JSON encoding/decoding and authored checks excluded",
    "toolInputs": {
      "engines/lawref/lawref/__init__.py": "sha256:a907cb756411cf0745c78622f2a442dbcdd182f0b02532cd7461434f22791f30",
      "engines/lawref/lawref/__main__.py": "sha256:36c9d0a14de91449d17bdee8757259e7b22bdc2c9b1d9b474b811c2f19e08d2f",
      "engines/lawref/lawref/a3.py": "sha256:aaae4022649f43d760772849a2bba8570a8737a1b06c6dea0c3fd3977c1ce7bb",
      "engines/lawref/lawref/a3_io.py": "sha256:29f422ddb8668149b495c0ebce112b4136b48b50bbf0306e30de458d106b6f8d",
      "engines/lawref/lawref/amend.py": "sha256:47340533c6db7b8d0cb19c1aaa7da5dc3a892e8f9d22ddfcfd03b1b6fb5188a6",
      "engines/lawref/lawref/applicability.py": "sha256:c3bdee1f3afc43b06462260d57459458218b19d1183e68521a3d2da36d5dad66",
      "engines/lawref/lawref/approvals.py": "sha256:b973c4161f10399848c910371bf4d91ff1697f8006ea23d4e3b4452f12bd5e4a",
      "engines/lawref/lawref/argmap.py": "sha256:7fb1d8bd40fa80a46ea5f2eed7d4ef1c8be88e4b7bbc8f1b4ca846813bbbb379",
      "engines/lawref/lawref/authoring.py": "sha256:19557362ca2d40868d991d79a1e14900475ef711c4d6b93d3761c7b6981b6c12",
      "engines/lawref/lawref/calendar.py": "sha256:ebde0029d5dc0720ec0c354c0885e6c73e35f638fddad0df2b252b06d34705bd",
      "engines/lawref/lawref/canon.py": "sha256:92e8e060c01ade8ada20bfdfa6b8c3b67c7caac849ad7899ce3d794e2506e58f",
      "engines/lawref/lawref/cert.py": "sha256:f7b7f66474614927fd72ed75e49dce096bd70648eedfe33cf74302626abf51f4",
      "engines/lawref/lawref/conformance.py": "sha256:e4efd33fb52bfad4ca40610072edc0bfb6e928b772b3f570aa641e66a42fad35",
      "engines/lawref/lawref/context.py": "sha256:58ad00ede2237b1350f120293ba9f58183a98837816230fb49b585bf5c75d114",
      "engines/lawref/lawref/counterfactual.py": "sha256:e979304e011cacc7c3747f6b0bd46a628103f94e18d59e1fd74bcba031405264",
      "engines/lawref/lawref/delegation.py": "sha256:b89f29d85064a24131b47c8698d50996bf2ac49088135c50715c8f185a4025f9",
      "engines/lawref/lawref/diagnostics.py": "sha256:e5a1862a5d5069f2fd627bc123a7fa7a29165b7769416387f53b58e380793f1f",
      "engines/lawref/lawref/divergence.py": "sha256:0c85a9636d8dcb318fb8d7e8a23b97963fd8de5f464dd5598af724179b364cfd",
      "engines/lawref/lawref/entrenchment.py": "sha256:5464884f28f839044c8f0d33dfff506b7d89042f5f533fe12156d181f2196a00",
      "engines/lawref/lawref/evaluator/__init__.py": "sha256:69bb64a348ac54d48acd6dc23edab8acdafe4948efa70dd29bdb75aef3737365",
      "engines/lawref/lawref/evaluator/argumentation.py": "sha256:044e54fa98e85b08ee41d5a5f644a596fb8ed5103cade80fd1d8bee707d7e8dc",
      "engines/lawref/lawref/evaluator/constants.py": "sha256:f62eec3f19f502ea163568a37d3b0083e915685165402c6fcf10e2ac9cf5d634",
      "engines/lawref/lawref/evaluator/constraints.py": "sha256:f0dd4e7a08b25b602850b4e634db00ba5c8dacfa1a075e1a81dc714c2e45e3b8",
      "engines/lawref/lawref/evaluator/defeasible.py": "sha256:fe4b7dfec3325b191874e5032f99ecfad34a61f529f3cfd28403d69af61b9f1d",
      "engines/lawref/lawref/evaluator/document.py": "sha256:112167bd02b72d68ba4ed34d05175ae56cb4bef2ae2e60f01ac7df53b7eca1ee",
      "engines/lawref/lawref/evaluator/editions.py": "sha256:115da597b14c58e6dd4e665ebe3d7545d800286e4911b84f33db0e44cc506e86",
      "engines/lawref/lawref/evaluator/effects.py": "sha256:488cf919ee2481da197cd09f6c8d7511cc0fd70f1c09c701638066eb033b5a16",
      "engines/lawref/lawref/evaluator/engine.py": "sha256:1ce212d68674e283efa0d95e465c7de58444601eae0715d0877171d495b71bc7",
      "engines/lawref/lawref/evaluator/events.py": "sha256:3df3ac1434b11bbbe2f620f946b97051bd909ef0ba42c3bc8cdf636e346a7a62",
      "engines/lawref/lawref/evaluator/evidence.py": "sha256:cc714fa2d22152f8ea367ce6dd64c4965d93702faf852bca11f7734c5a13387b",
      "engines/lawref/lawref/evaluator/facts.py": "sha256:9f7419151b7eeb4b2b7f4024c3ec1d6f823109ed696f321c994d260be24c98e4",
      "engines/lawref/lawref/evaluator/interpretations.py": "sha256:7c98c21b2d06210974a887108f92dc4a4a0013a435dfe7916449e1eb1ec04ff7",
      "engines/lawref/lawref/evaluator/limits.py": "sha256:3da27b0be93eefcb0a1d4a39ed9955f6f7f5114a28f252782d7bccc9113333df",
      "engines/lawref/lawref/evaluator/normconflict.py": "sha256:7749273523250e213f1de08cc81d5ea2353e04c4a730514dab1beada8c03b177",
      "engines/lawref/lawref/evaluator/norms.py": "sha256:b0739e896dba7dc33657a1cacb0f161b2b45f25ccaa5ef8d495b41520f312dde",
      "engines/lawref/lawref/evaluator/precedent.py": "sha256:bf7376eab96e48cef79e1a163bfc2c0813a521ccd42b5b30f5ce20506d2bdabc",
      "engines/lawref/lawref/evaluator/prepared.py": "sha256:3cd739a5c8587475025339d926b53c7849ff19b5780f1754b53b2b69057461fb",
      "engines/lawref/lawref/evaluator/procedures.py": "sha256:c51a7fd09d5999448d5c68aa53c101be88030ca924455c0d3badeede8f3b1cc5",
      "engines/lawref/lawref/evaluator/proof.py": "sha256:67002222d0957929ef9b7c72587bf1bda5b69f4a362c84cdc6ef9533afb520de",
      "engines/lawref/lawref/evaluator/queries.py": "sha256:03ded955d02dc42f95a52a2dfb423925662eeab215088b7d94bcfe2da924175b",
      "engines/lawref/lawref/evaluator/query_shape.py": "sha256:ec26caec945180a1cb4c9869ddb2628f5b063677c01210ace7c2a9a086d87ae3",
      "engines/lawref/lawref/evaluator/rules.py": "sha256:a56689392e1749bd788be71952d943b335654bd807205038987c968a19357dcc",
      "engines/lawref/lawref/evaluator/solver.py": "sha256:ac17688ab6596de1188c9f294c282fae562b1b185754b0cdc2c323cd74e290e9",
      "engines/lawref/lawref/evaluator/strict.py": "sha256:9964708c0acb5eb9525d49cf15b25c267d530fe693639a2db3c3f0d518afe465",
      "engines/lawref/lawref/evaluator/support.py": "sha256:f8cf395b3f026aa7e2776013234a6568642b96c5c6fac8f1634f50ede83af3ed",
      "engines/lawref/lawref/evaluator/whynot.py": "sha256:b00e44948e2b96d1de0918d2e1045b83c15a8354f514fe8ba4d8f49817627366",
      "engines/lawref/lawref/expansion.py": "sha256:f140758e96b4e6ce1cad996adf6aabf9f6650aa1e0e154d1ccba6b62ddd0508a",
      "engines/lawref/lawref/fuzz.py": "sha256:cba16478fa0e97bb99a812c3134f4d34f8ce6bb2197c8bf0d6db0d9361a567aa",
      "engines/lawref/lawref/goals.py": "sha256:57a0bbda6672016b925bf7314c3a0313c62b4909e15ea6dbde58cd3fff6f1a23",
      "engines/lawref/lawref/hashing.py": "sha256:848f975df2067ac50d7536dd5aaff0fa1dd02dddcb753e3096f564a984aaaf88",
      "engines/lawref/lawref/i18n.py": "sha256:02aacdd9da7821c1b38f6674a96cb982f10efa522d99a3546c1e9f7aa48c27ab",
      "engines/lawref/lawref/impact.py": "sha256:8d9acdff9e90d9acd2ddaa82ae91856e08eaacc1561b09fffe2e216397af033f",
      "engines/lawref/lawref/ir_compat.py": "sha256:ac0ddb458c5c62a294844e590f705fc1d03845afb26516b6193cdc88c7e08ff5",
      "engines/lawref/lawref/lawtest.py": "sha256:8226c6328e8e69c8d859a025689e4bfeacd1a9cc04e23c65da82c0a3e58f8886",
      "engines/lawref/lawref/layers.py": "sha256:6e53533705d5780738a7cd13be8b9547c141f62655080b830888778f72c967c0",
      "engines/lawref/lawref/loophole.py": "sha256:1149d44774410bf399fffde601409f75e514c9a955bc2f0573078bc6f28365a6",
      "engines/lawref/lawref/migrate.py": "sha256:3663578762d99d808a721d0f94df5c9c5c9657d0f34eb441a2c0ba27afa1f5b4",
      "engines/lawref/lawref/mutate.py": "sha256:b1e5fe2bed573686b507337cb0c623bd97f0663910accd4c7161ec10dd5f31a4",
      "engines/lawref/lawref/normstatic.py": "sha256:35d11812a5c83a480c5e38d9d0b4ba7b5916af03899a7b2983adf50b84da096b",
      "engines/lawref/lawref/process.py": "sha256:9b5dcd48fab525ba74c071e05a6d40e80321c6a6a061c541809066cc7cc65f9c",
      "engines/lawref/lawref/query/__init__.py": "sha256:e92491e1b8a1abbf94c247678c5226941dc97bc2135017d6122a788a1a8be9a6",
      "engines/lawref/lawref/query/cli.py": "sha256:06f8b695210c50b19785fe11c7373e74fb3f9e103904258ee32dd2d3624a23c7",
      "engines/lawref/lawref/query/engine.py": "sha256:f0c60caec638ee1b32bbdc430648d0421a98ffcede7eb760e6db18f95946117a",
      "engines/lawref/lawref/query/errors.py": "sha256:b0d325ed7882e551d05a6f4900aaa79d7648b255b15f41014ecbb06336e98acc",
      "engines/lawref/lawref/query/facts.py": "sha256:e8cd5548e14b3fbb256fd07f2a97d5423ea61c73b16d17ade99dc420b1c39e8c",
      "engines/lawref/lawref/query/inference.py": "sha256:945df024433813bd21e279ec33c40299f2cc30d3c3cb99b041559d0a697262bc",
      "engines/lawref/lawref/query/materialize.py": "sha256:77644af5b7695f98050a29848ab254fbfe7b0a038067948d7bccf5bcd06faf09",
      "engines/lawref/lawref/query/parser.py": "sha256:3167725d132c9606a98f19d15782746e92bdbd26b9b27aa5a89bb213a6977ca7",
      "engines/lawref/lawref/reanchor.py": "sha256:12cf826406d1aeba594ea0084e8906a40472f499087937bca4988e8fe0c5c958",
      "engines/lawref/lawref/resolver.py": "sha256:271487b123983265cf8a58b025e61c0743a03f5edf33cb743d143e2ebc36bb31",
      "engines/lawref/lawref/schemas.py": "sha256:d0f93bfe1254cc90732eaf98ec85e7efb219ae00c27be2558df447bd006ffdfd",
      "engines/lawref/lawref/screen.py": "sha256:2bd656d0e332e0f4eb1dd92cc2969d94c2df3009e4edc2a5efbff5696e2a9590",
      "engines/lawref/lawref/semdiff.py": "sha256:ea48c7192e6d46cf0e119df8651a6fdb87342ebfcce9f2b0a407b2cbf95ed8fb",
      "engines/lawref/lawref/std_registry.py": "sha256:84452b8fe702aa86de343cd8083e7a4fe63caa33d358cf97c6d49fe7f6d61f6a",
      "engines/lawref/lawref/term_sugar.py": "sha256:561e7aadf0bc3a1830f23f4bf04b218b7d0ddfa0de43e60cd6360f39bd49a752",
      "engines/lawref/lawref/unit_declarations.py": "sha256:cf4729ecb391ebf2bd20da7ed41a8d751225506b7b914c7bae0101a24b66bf90",
      "engines/lawref/lawref/units.py": "sha256:7bb3dc8e72e00bd1397c0578fb6c63376eed908266068ad6677489a612be10d6",
      "engines/lawref/lawref/values.py": "sha256:ab2cefc9e6fea6ecfea681a1734b515d0198ebe3656ac40b1d3a712613c19e97",
      "engines/lawref/lawref/verbalize.py": "sha256:7c1f450d4f8755908b1b7485a2dd5324607f8d0c46685d403ef79ebcc5086c38",
      "spec/schema/business-requirements.schema.json": "sha256:33f1ce1c347c6ba705b2053f4dd1f08ea1f6d3894b363fbc731ad889431644ef",
      "spec/schema/calendar-dataset.schema.json": "sha256:77ab7e0f9c3eef5d9288090061210f8338dc550631286f188899fc0d73b3fb6e",
      "spec/schema/conformance-descriptor.schema.json": "sha256:ee811a32dda90731bbb4bec700663ac58c78cfa7972d094397a66ec8640158c8",
      "spec/schema/counterfactual-input.schema.json": "sha256:5decbcd8dbe19181e3851eafce6a95158bba4a77920a780fe60df5d68c92b636",
      "spec/schema/counterfactual-result.schema.json": "sha256:eced4a9910a8b4220e388d11f29296a21fe1b79678bc322355fc41dcae73984e",
      "spec/schema/decision-table.schema.json": "sha256:ec673130ee9b20a7f8a2c75371d3fe24762e0604b49de680e13e37cff76774fc",
      "spec/schema/diagnostic.schema.json": "sha256:db8d46f772bf7496475303b34524022cf675afff39213db3aec98d31cda33f3a",
      "spec/schema/evaluation-request.schema.json": "sha256:14c2828b2eeb32ef1591443f9ccdf7b6c9d81b051d8900f1775b837bf69d2c5c",
      "spec/schema/evaluation.schema.json": "sha256:0cc090b2479e28c865ccbb115a0790e7d28ad2c1b15e0da761540b77fbe736f1",
      "spec/schema/external-snapshot.schema.json": "sha256:e7de96a7924c541fe3fc784a5ba34cd239ad5e032726e2c39019887984941112",
      "spec/schema/feature-registry.schema.json": "sha256:77b5cf3e9dffa8ec55ed3f393e514c89fafc314ebb68aff1e0448fd8b3be367a",
      "spec/schema/legal-ir.schema.json": "sha256:dde871cb454836ed1b2bd859b2b3d31655ce1e15776968fb893b2a3700882317",
      "spec/schema/lockfile.schema.json": "sha256:223d92031f74f79fa487a1142fa4fda6072953f2a9dd68c267cf84fc16354da8",
      "spec/schema/package-benchmark.schema.json": "sha256:ca43adbd208fe1dffb5c8a03845dd6257b86c549a47e9bfeac59bcb84dc220e6",
      "spec/schema/package-info.schema.json": "sha256:db9be87a1ff93acce5337aca9062495f5e292083d0809ace6fe5995851b8fe97",
      "spec/schema/package-manifest.schema.json": "sha256:11d91b45f2a38c9bb63fa2932017739ce7f9b2689df4b63f3855147450cb32a0",
      "spec/schema/package-passport.schema.json": "sha256:95a58c502b896d4472b408cfea95779c90c764b709ca37d3b6e01dac3d0ddc66",
      "spec/schema/package-report.schema.json": "sha256:bf6022cee0ebcca8e26e210f8b89fed52989c7dad87e25a41bb4c692d0f69005",
      "spec/schema/parameter-dataset.schema.json": "sha256:134534c22b688dd9964ad48daf34d6c49dfac02daec865467e78b025f469d7d2",
      "spec/schema/query-result.schema.json": "sha256:0fed1a7eca9995587ed6c7f7798fa762fa17d7f2264443115b5481aa643ee42c",
      "spec/schema/query.schema.json": "sha256:331be05f67cc6a08b23f54e32674cb76c5ce416eb72a38a57993fd2f424e2f02",
      "spec/schema/review-approval.schema.json": "sha256:d354280823cf3259512c090a8a564ad846bcaac0bd8053387d187ae4955391b4",
      "spec/schema/screen-binding.schema.json": "sha256:d27d1373d2c6feefb4914b082d57ef35688e06e74f00ac50440d8f66aec13011",
      "verify/ci/lib/law_ffi.py": "sha256:78abbf21586b6656dbcd1964c827675f815ba8f30130f1bc553d4397f50059e9",
      "verify/ci/tools/benchmark_package.py": "sha256:6fd22fd80c1fd6ca4d796ed2cf0f5b2f903555e5a270ba6d51f0a0a18d6b8442",
      "verify/ci/tools/hot_path_profile.py": "sha256:54a90bf543ec9b2ccf7df78f36ca4730ab75e9ddc97624c72043c70597db4e36"
    },
    "warmups": 2
  },
  "memoryScope": "Peak of isolated Python + FFI worker, includes imports and checking; not package allocation"
}

Replay compatibility

Passed

· Full report ↗

10 tests · Passed

Full pinned data
{
  "replay": {
    "compilerHash": "sha256:9562efcd04e80f616932ae68d7b9026d5bdcb30c147f89ba5b0d730c6f39ee25",
    "engineHash": "sha256:9562efcd04e80f616932ae68d7b9026d5bdcb30c147f89ba5b0d730c6f39ee25",
    "package": {
      "contentHash": "sha256:4574cf7016b53b5610dfd37e2424b9290fcc754a90c06333bebd36e79694fac1",
      "features": [
        "core-executable",
        "law.params/0.1"
      ],
      "name": "tutorial.archive",
      "namespace": "urn:law:tutorial:archive",
      "registryId": "arxo",
      "resolverUri": "registry://arxo/tutorial.archive/0.15.0",
      "version": "0.15.0"
    },
    "tests": 10
  },
  "scope": "Frozen authored expectations on this engine"
}

Quality

Passed

· Full report ↗

10 tests · Passed

Fragment levelCount / 2
ANCHORED1
EXECUTABLE0
SOURCE_ONLY1

References within this package. These counts do not measure article formalization or test coverage.

Full pinned data
{
  "anchorEvidence": {
    "urn:law:tutorial:archive#ARCHIVE_RULES_P9": [
      {
        "kind": "function_decl",
        "node": "urn:law:tutorial:archive#LateFeeCap/value/urn%3Alaw%3Atutorial%3Aarchive%3Aparam%3Alate-fee-cap%23r-2025/definition"
      },
      {
        "kind": "function_decl",
        "node": "urn:law:tutorial:archive#LateFeeCap/value/urn%3Alaw%3Atutorial%3Aarchive%3Aparam%3Alate-fee-cap%23r-2026/definition"
      }
    ]
  },
  "articleCoverage": {
    "outcome": "not_run",
    "reason": "No independently pinned article measurement"
  },
  "fragmentAnchors": {
    "codeAnchors": 0,
    "counts": {
      "ANCHORED": 1,
      "EXECUTABLE": 0,
      "SOURCE_ONLY": 1
    },
    "denominator": 2,
    "fragments": [
      {
        "fragment": "urn:law:tutorial:archive#ARCHIVE_RULES_P7",
        "level": "SOURCE_ONLY",
        "referring": 0
      },
      {
        "fragment": "urn:law:tutorial:archive#ARCHIVE_RULES_P9",
        "level": "ANCHORED",
        "referring": 2
      }
    ],
    "lowerBound": false,
    "methodHash": "sha256:4ef08d1704a523797e63cdef881947f1d89fbe7066c1b8620aed59db5d2376c0",
    "scope": "References in package CLIR only; not article formalization or test coverage",
    "unit": "fragment"
  },
  "replay": {
    "compilerHash": "sha256:9562efcd04e80f616932ae68d7b9026d5bdcb30c147f89ba5b0d730c6f39ee25",
    "engineHash": "sha256:9562efcd04e80f616932ae68d7b9026d5bdcb30c147f89ba5b0d730c6f39ee25",
    "package": {
      "contentHash": "sha256:4574cf7016b53b5610dfd37e2424b9290fcc754a90c06333bebd36e79694fac1",
      "features": [
        "core-executable",
        "law.params/0.1"
      ],
      "name": "tutorial.archive",
      "namespace": "urn:law:tutorial:archive",
      "registryId": "arxo",
      "resolverUri": "registry://arxo/tutorial.archive/0.15.0",
      "version": "0.15.0"
    },
    "tests": 10
  },
  "ruleTestCoverage": {
    "outcome": "unsupported",
    "reason": "Replay counts do not trace tests to rules"
  },
  "scope": "Frozen authored expectations on this engine"
}

Public interface

Derived from release inputs

Declared relations and functions (exports listed separately)

Full pinned data · 13
  • reader_fee(CopyOrder, Money)

Exports · 0

Full pinned data
[]
Public fact groups
{}
Pinned dependencies · 2
{
  "declared": {
    "calc.tiers": "0.1.0",
    "tutorial.city": "0.1.0"
  },
  "locked": [
    {
      "contentHash": "sha256:108852b10e3d62f570f0847586028cd2b636a40f8ea31996bddfb1c492521d2a",
      "features": [
        "core-executable"
      ],
      "name": "calc.tiers",
      "namespace": "urn:law:calc:tiers",
      "registryId": "law-dsl-dev",
      "resolverUri": "registry://law-dsl-dev/calc.tiers/0.1.0",
      "version": "0.1.0"
    },
    {
      "contentHash": "sha256:29e5cff6eeee9c6ca8d17466bb3aca2d2e32515e49d9891a15a1447ab113aa37",
      "features": [
        "core-executable"
      ],
      "name": "tutorial.city",
      "namespace": "urn:law:tutorial:city",
      "registryId": "law-dsl-dev",
      "resolverUri": "registry://law-dsl-dev/tutorial.city/0.1.0",
      "version": "0.1.0"
    }
  ],
  "origin": "derived"
}

Sources and editions

Full pinned data
{
  "evidence": "package.lawir.json",
  "origin": "derived",
  "verifiedAgainstSource": {
    "origin": "declared",
    "value": null
  },
  "worksAndEditions": [
    {
      "contentHash": "sha256:ad849c78c1f991437ec1668be3c7b5b56a98a62f0d293f515a545d4f3e48141b",
      "id": "urn:law:tutorial:archive#ARCHIVE_RULES",
      "jurisdiction": {
        "id": "urn:law:tutorial:archive#VELIKY_USTIN",
        "kind": "const_ref"
      },
      "kind": "source_work",
      "number": "2026-14",
      "package": "urn:law:tutorial:archive",
      "sourceKind": "urn:law:tutorial:archive#municipal_act"
    },
    {
      "contentHash": "sha256:3775aa89af3c73a53c79fdcfa7ec7d91ce7e3b2639610d3260efee21b51f4445",
      "id": "urn:law:tutorial:archive#ARCHIVE_RULES_2026_RU",
      "kind": "source_edition",
      "language": "ru",
      "lifecycle": [
        {
          "extent": "2026-01-15",
          "status": "adopted"
        },
        {
          "extent": {
            "axis": "legal_time",
            "endInclusive": false,
            "start": "2026-02-01",
            "startInclusive": true
          },
          "status": "in_force"
        }
      ],
      "officiality": "official",
      "package": "urn:law:tutorial:archive",
      "work": "urn:law:tutorial:archive#ARCHIVE_RULES"
    }
  ]
}

Release identity

buildHash
sha256:92556f3be2774dd7465a90dd5f55a66865bf9bc6caae7f07aa3877090fef91cc
contentHash
sha256:4574cf7016b53b5610dfd37e2424b9290fcc754a90c06333bebd36e79694fac1
name
tutorial.archive
namespace
urn:law:tutorial:archive
replayHash
sha256:9cf1911c7ef50764a09d93f5912a3df29c5dfeae202f1fe0fb2d11e2c7bf2d47
sourceHash
sha256:6af6c607b7625c12cb5cf6c1963ead38d60823a97a859089a28a3019f54c66dc
version
0.15.0