Markdown for LLMs
Prove maintenance compliance
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# Prove maintenance compliance
## Intention
I want to distinguish complete observation of the window from one positive fact.
Completeness must cover the duty-holder and the end of the window.
## Incorrect form and why it stays silent
```text title="Incorrect form"
// done(p) после окончания окна достаточно для SATISFIED.
```
The applicable closure must cover exactly this duty-holder and the whole window. Without a policy a positive fact leaves UNDETERMINED.
## Correct form
```law
language "law.core" version "0.2";
package recipes.zh.r07 version "0.1.0";
namespace "urn:recipe:zh-violation:07";
entity Person;
relation enrolled(p: Person);
relation done(p: Person);
relation monitored(p: Person);
rule Primary defeasible { for p: Person; when enrolled(p);
then duty Main { bearer p; maintain done(p) during [@2026-09-01, @2026-09-10]; };
}
closure Monitoring { predicate done; domain monitored; snapshot MONITOR_2026;
complete_as_of @2026-09-11T00:00:00+05:00;
derive_explicit_negative true;
effective [@2026-01-01, @2027-01-01);
}
```
## Frozen execution scene
| Facts and snapshot | Question | Answer |
|---|---|---|
| complete observation; 2026-09-13 | `positions()` | `position(Main, SATISFIED);` |
| without a policy; 2026-09-13 | `positions()` | `position(Main, UNDETERMINED);` |
| outside the domain; 2026-09-13 | `positions()` | `position(Main, UNDETERMINED);` |
| counterexample; 2026-09-13 | `positions()` | `position(Main, VIOLATED);` |
```law
test "complete monitoring satisfies" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-30T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert enrolled(entity_ref("urn:recipe:zh-violation:07:p")); assert done(entity_ref("urn:recipe:zh-violation:07:p")); assert monitored(entity_ref("urn:recipe:zh-violation:07:p"));
}
evaluate positions();
expect position(Main, SATISFIED);
expect evaluation_status == COMPUTED;
}
```
```law
test "missing policy stays undetermined" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-30T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert enrolled(entity_ref("urn:recipe:zh-violation:07:p")); assert done(entity_ref("urn:recipe:zh-violation:07:p")); assert monitored(entity_ref("urn:recipe:zh-violation:07:p"));
}
evaluate positions();
expect position(Main, UNDETERMINED);
expect evaluation_status == COMPUTED;
}
```
```law
test "out-of-domain stays undetermined" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-30T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert enrolled(entity_ref("urn:recipe:zh-violation:07:p")); assert done(entity_ref("urn:recipe:zh-violation:07:p"));
}
evaluate positions();
expect position(Main, UNDETERMINED);
expect evaluation_status == COMPUTED;
}
```
```law
test "counterexample violates" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-30T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert enrolled(entity_ref("urn:recipe:zh-violation:07:p")); assert monitored(entity_ref("urn:recipe:zh-violation:07:p")); assert not done(entity_ref("urn:recipe:zh-violation:07:p"));
}
evaluate positions();
expect position(Main, VIOLATED);
expect evaluation_status == COMPUTED;
}
```
Completeness is dated at noon of the last day of the window instead of the start of the next day: coverage of the whole window is not proven.
```law
test "narrowed completeness stays undetermined" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-30T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert enrolled(entity_ref("urn:recipe:zh-violation:07:p")); assert done(entity_ref("urn:recipe:zh-violation:07:p")); assert monitored(entity_ref("urn:recipe:zh-violation:07:p"));
}
evaluate positions();
expect position(Main, UNDETERMINED);
expect evaluation_status == COMPUTED;
}
```
```python
>>> import runpy
>>> check = runpy.run_path("docs/recipes/zh-violation/resources/check.py")
>>> check["check_variant"](https://github.com/arxohq/law/blob/master/docs/recipes/zh-violation/7)
'Ж7: контрфактуал подтверждён; lawc = lawref'
```
## Counterfactual
Diagnostic mutation `snapshot MONITOR_2026;` → ``: LDC-E1307. Semantic differences are pinned as separate scenes.
## Boundary
The path of an applicable closure policy is shown. A monitoring certificate and binding adjudication are other grounds; an arbitrary certificate label does not become them. On the last day of the window a conservative snapshot needs a separate completeness justification.