Skip to content
docs
Arxo ↗

Separate fact time from record time

For LLMs7 sections

I want to keep the date of a fact’s effect separate from the dates of observation and recording.

Incorrect form
evidence Doc: Record { status verified; observed_at @2026-09-03; }

On an assertion the observed/recorded fields allow Date. On evidence the observed_at/recorded_at fields require Instant: neighbouring carriers have different contracts.

Arxo Law
language "law.core" version "0.2";
package recipes.d.r08 version "0.1.0";
namespace "urn:recipe:d-evidence:08";
entity Person;
entity Record;
relation eligible(p: Person);
assert eligible(entity_ref("urn:recipe:d-evidence:08:p")) {
id "urn:recipe:d-evidence:08#entry"; origin external_snapshot;
valid [@2026-09-01, @2026-09-10);
observed @2026-09-03; recorded @2026-09-12;
}

In the table P and Q are different entities of the page, C is a case; full identifiers are pinned in the scenes.

Input on 13.09.2026 (a different date is named in the scene)QuestionAnswer
before the starttruth(eligible(P))NEITHER / COMPUTED
inside the windowtruth(eligible(P))TRUE_ONLY / COMPUTED
excluded right boundtruth(eligible(P))NEITHER / COMPUTED
knowledge cut before recordingtruth(eligible(P))TRUE_ONLY / COMPUTED
before validity window gives neither
Arxo Law
test "before validity window gives neither" {
given {
context {
legal_time @2026-08-31;
decision_time @2026-09-13T09:00:00Z;
knowledge_time @2026-09-13T09:00:00Z;
timezone "UTC";
}
}
evaluate truth(eligible(entity_ref("urn:recipe:d-evidence:08:p")));
expect truth_status == NEITHER;
expect evaluation_status == COMPUTED;
expect issue(ASSERTION_OUTSIDE_VALID);
}
inside validity window establishes
Arxo Law
test "inside validity window establishes" {
given {
context {
legal_time @2026-09-05;
decision_time @2026-09-13T09:00:00Z;
knowledge_time @2026-09-13T09:00:00Z;
timezone "UTC";
}
}
evaluate truth(eligible(entity_ref("urn:recipe:d-evidence:08:p")));
expect truth_status == TRUE_ONLY;
expect evaluation_status == COMPUTED;
}
excluded right bound rejects
Arxo Law
test "excluded right bound rejects" {
given {
context {
legal_time @2026-09-10;
decision_time @2026-09-13T09:00:00Z;
knowledge_time @2026-09-13T09:00:00Z;
timezone "UTC";
}
}
evaluate truth(eligible(entity_ref("urn:recipe:d-evidence:08:p")));
expect truth_status == NEITHER;
expect evaluation_status == COMPUTED;
expect issue(ASSERTION_OUTSIDE_VALID);
}
early knowledge cut keeps established truth
Arxo Law
test "early knowledge cut keeps established truth" {
given {
context {
legal_time @2026-09-05;
decision_time @2026-09-13T09:00:00Z;
knowledge_time @2026-09-04T09:00:00Z;
timezone "UTC";
}
}
evaluate truth(eligible(entity_ref("urn:recipe:d-evidence:08:p")));
expect truth_status == TRUE_ONLY;
expect evaluation_status == COMPUTED;
}

Diagnostic mutation (lower-case) — LDC-E1307.

Original fragment:

Arxo Law
relation eligible(p: Person);

Replacement:

Arxo Law
relation eligible(p: Person);
case Bad { evidence Doc: Record { status verified; observed_at @2026-09-03; } }

The paired scenes above pin the change of outcome.

On this path ingest filters valid by legal_time; observed/recorded are kept for audit, but themselves do not cut an assertion by knowledge_time. A historical snapshot is chosen by the supplier; explicit available for documents is shown in Accept admissible evidence. We do not promise an automatic bitemporal filter where there is none.

Date in evidence is checked by lowering the case (lower-case): a single check still does not execute transport. The refusal form in the sidecar places the document in case Bad. An ordinary assertion carries only a weak bound on knowledge time; availability of policy documents has a separate executable slot.

On an assertion the observed/recorded fields allow Date; on evidence the observed_at/recorded_at fields require Instant: neighbouring carriers have different contracts.

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.