Markdown for LLMs
Parameter on a date
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# Parameter on a date
## 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
```law title="Incorrect form"
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
```law
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
| 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` |
```law
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;
}
```
```law
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;
}
```
```law
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;
}
```
```law
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);
}
```
```law
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](https://github.com/arxohq/law/blob/master/docs/recipes/l-calc/resources/09-parameter/law.toml), pinned by [law.lock](https://github.com/arxohq/law/blob/master/docs/recipes/l-calc/resources/09-parameter/law.lock):
```json
{
"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
Mutation: `in Edition {` → `in MissingEdition {`; expected `LDC-E5102`. Additional counterfactuals are shown as separate table rows.
## 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
On a date inside the gap, or on the excluded coverage end, there is no value: MISSING_PARAMETER_VALUE.