Skip to content
docs
Arxo ↗

Correct an event with a new version

For LLMs7 sections

I want to correct an event’s time while keeping the earlier record.

An event keeps its identity; a correction is a new version, never a rewrite.

A second payload under the previous id is not a correction.

Incorrect form
Filed { id: "urn:recipe:n-package:03:old", time: @2026-09-12T11:00:00+05:00 }

When original is present this is fatal EVENT_ID_CONFLICT.

A correction has a new id and a supersedes reference to the old one.

Arxo Law
language "law.core" version "0.2";
package recipes.n.r03 version "0.1.0";
namespace "urn:recipe:n-package:03";
event Filed {}
relation present();
assert present();
const original: Filed = Filed {
id: "urn:recipe:n-package:03:old",
time: @2026-09-12T09:00:00+05:00
};
const corrected: Filed = Filed {
id: "urn:recipe:n-package:03:new",
time: @2026-09-12T11:00:00+05:00,
supersedes: "urn:recipe:n-package:03:old"
};
FactsQuestionAnswer
original and correctedpresent()TRUE_ONLY, without EVENT_ID_CONFLICT
Additionally another time for the old idpresent()EVENT_ID_CONFLICT
new version keeps history
Arxo Law
test "new version keeps history" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
}
}
evaluate truth(present());
expect truth_status == TRUE_ONLY;
expect not issue(EVENT_ID_CONFLICT);
}
old id resists rewrite
Arxo Law
test "old id resists rewrite" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
}
const overwritten: Filed = Filed {
id: "urn:recipe:n-package:03:old",
time: @2026-09-12T11:00:00+05:00
};
}
evaluate truth(present());
expect issue(EVENT_ID_CONFLICT);
}

The second scene presents the incorrect form from part 2. A static teaches counterfactual additionally closes supersedes on its own id: LDC-E1343.

The rule that chooses the chain head does not allow two competing corrections. A break, a cycle, and two heads are EVENT_VERSION_CHAIN_BROKEN.

A package constant and an assertion argument with the same id and different times must stop the document. Correction is only a new version.

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

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