Parameter on a date
Intention
Section titled “Intention”I want to read a pinned parameter value along the legal-time axis.
The scenes check two dated rates, a gap without a value, and the coverage bound.
Incorrect form and why it stays silent
Section titled “Incorrect form and why it stays silent”fragment Clause in MissingEdition { kind paragraph; locator "1"; }A parameter needs an A3 sidecar, an anchor and a pin. A wrong edition reference does not create provenance. The lawparam file and resources are shown below; a single literate page does not replace them.
Correct form
Section titled “Correct form”language "law.core" version "0.2";package recipes.l.r09 version "0.1.0";namespace "urn:recipe:l-calc:09";
source Standard { kind standard; jurisdiction "none"; }edition Edition of Standard { language ru; officiality official; in_force [@2026-01-01, infinity); }fragment Clause in Edition { kind paragraph; locator "1"; text ru official "Учебный предел меняется по датированному приложению."; }relation ready();Frozen execution scene
Section titled “Frozen execution scene”| Facts and choice | Question | Answer |
|---|---|---|
| 1. 2026-01-01 | Limit | 1000 KZT / COMPUTED |
| 2. 2026-05-31 | Limit | 1000 KZT / COMPUTED |
| 3. 2026-07-01 | Limit | 1200 KZT / COMPUTED |
| 4. coverage gap | Limit | no value / RUNTIME_ERROR |
| 5. coverage end excluded | Limit | no value / RUNTIME_ERROR |
limit on January first
test "limit on January first" { given { context { legal_time @2026-01-01; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; }
} evaluate Limit; expect value == 1000 KZT; expect evaluation_status == COMPUTED;
}limit late May
test "limit late May" { given { context { legal_time @2026-05-31; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; }
} evaluate Limit; expect value == 1000 KZT; expect evaluation_status == COMPUTED;
}limit from July
test "limit from July" { given { context { legal_time @2026-07-01; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; }
} evaluate Limit; expect value == 1200 KZT; expect evaluation_status == COMPUTED;
}gap in coverage
test "gap in coverage" { given { context { legal_time @2026-06-15; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; }
} evaluate Limit;
expect evaluation_status == RUNTIME_ERROR; expect issue(MISSING_PARAMETER_VALUE);}coverage end excluded
test "coverage end excluded" { given { context { legal_time @2027-01-01; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; }
} evaluate Limit;
expect evaluation_status == RUNTIME_ERROR; expect issue(MISSING_PARAMETER_VALUE);}The A3 set in the package root, pinned by law.lock:
{ "schemaVersion": "law.params/0.1", "kind": "parameter-dataset", "id": "urn:recipe:l-calc:09:limit", "parameter": "urn:recipe:l-calc:09#Limit", "valueType": { "name": "urn:law:std#Money" }, "timeAxis": "legal_time", "granularity": "date", "coverage": { "start": "2026-01-01", "endExclusive": "2027-01-01" }, "values": [ { "id": "urn:recipe:l-calc:09:limit#0", "valid": { "start": "2026-01-01", "endExclusive": "2026-06-01" }, "value": { "kind": "value", "type": { "name": "urn:law:std#Money" }, "value": 1000, "currency": "KZT" }, "anchors": [ "urn:recipe:l-calc:09#Clause" ] }, { "id": "urn:recipe:l-calc:09:limit#1", "valid": { "start": "2026-07-01", "endExclusive": "2027-01-01" }, "value": { "kind": "value", "type": { "name": "urn:law:std#Money" }, "value": 1200, "currency": "KZT" }, "anchors": [ "urn:recipe:l-calc:09#Clause" ] } ]}Counterfactual
Section titled “Counterfactual”Mutation: in Edition { → in MissingEdition {; expected LDC-E5102. Additional counterfactuals are shown as separate table rows.
Boundary
Section titled “Boundary”A parameter is one time axis; a multidimensional scale is a decision table. An A3 rules-table is not a callable function. The resources/09-parameter root is executed via program: practicum; the corpus is not imported. The lock file is re-pinned to the current resource hashing; the parameter file bytes are unchanged.
Pitfall
Section titled “Pitfall”On a date inside the gap, or on the excluded coverage end, there is no value: MISSING_PARAMETER_VALUE.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.