Skip to main content
Praxikon

Releases

What changed in each release

Anyone building on this data has to be able to see when something went out and what moved. Three counters move independently: the content, the shape of that content, and the API surface around it. This page states which of the three it was per release, and what that means for a citation you already wrote down.

Current release
2.1.0
Schema
1.4.0
API document
1.11.0-beta.1
Register kept since
8 August 2026

What changed in each release

  1. API surfaceCurrently served

    A stable address for every published answer

    Alongside a free-form question, the answer endpoint can now retrieve an exact `answer_id` or canonical page path. Base answers and refinements carry the same language-independent identifier in the full and compact views. The OpenAPI contract now describes the actual response completely as three explicit shapes: compact, full and no match. No field was removed or renamed and the graph did not move.

    dataset_version
    2.1.0
    schema_version
    1.4.0
    API document
    1.11.0-beta.1

    Snapshot recorded (425 object versions)

    No per-object comparison. This release did not move the content counter, so there is nothing to compare per object. What moved was the shape of the response or the surface around it, and that is described in the summary.

    praxikon:sys:registry:release:2026-08-15-addressable-answers

  2. ContentShape

    The right that sits opposite the duty

    The knowledge base covered the deployer duties but not the right of the person being decided about. Article 86 is now an object of its own: anyone affected by a decision resting on the output of an Annex III system can request an explanation of the role of that system and of the main elements of the decision. It is the first object to carry a preliminary reading. That is new in schema 1.4.0: two fields saying that the text of a provision is settled while its application has not been decided anywhere, with a note stating what is open and which alternative reading is defensible. That note travels in the API, the MCP responses and the structured data rather than sitting as a footnote on a page. The object also carries the first known_at of its own: until now every published object carried the same moment, so a window on the knowledge axis could not separate two moments.

    dataset_version
    2.1.0
    schema_version
    1.4.0
    API document
    1.10.0-beta.1

    Snapshot recorded (425 object versions)

    Compare this release object by object

    praxikon:sys:registry:release:2026-08-14-article-86

  3. API surface

    The same answer, a tenth of the bytes

    The answer endpoint now takes `view=brief`. That form returns what an agent needs in order to act and to cite: the question, the likely role, the obligations with label, identifier, legal status and application date, the first actions, the required evidence, and one locator per obligation. It is the same answer from the same deterministic engine with the explanation removed, not a different conclusion. The full form stays the default and does not change; anyone who omits the parameter notices nothing. An unrecognised value falls back to the full form rather than returning an error, because a typo in a parameter that only governs size should not cost an answer.

    dataset_version
    2.0.0
    schema_version
    1.3.0
    API document
    1.10.0-beta.1

    Snapshot recorded (417 object versions)

    No per-object comparison. This release did not move the content counter, so there is nothing to compare per object. What moved was the shape of the response or the surface around it, and that is described in the summary.

    praxikon:sys:registry:release:2026-08-13-compact-answer-view

  4. API surface

    What we know a provision means

    Beside the layer that says what happened there is now a layer that says what a ruling does to a provision: interprets, narrows, broadens, confirms or contradicts. That relation is the point, because a ruling does not change the text of an obligation and does not move its date of application; it moves what we know about it, and that moment sits on the ruling as a date of its own. A manifest carrying a narrowed obligation therefore surfaces through `/api/v1/impact` without a single field of the graph having moved. There is no case law on the AI Act itself yet, and that is stated in words rather than left as an empty field: the seven recorded decisions are GDPR context and carry the relation "illustrates" only.

    dataset_version
    2.0.0
    schema_version
    1.3.0
    API document
    1.9.0-beta.1

    Snapshot recorded (417 object versions)

    No per-object comparison. This release did not move the content counter, so there is nothing to compare per object. What moved was the shape of the response or the surface around it, and that is described in the summary.

    praxikon:sys:registry:release:2026-08-13-ruling-register

  5. ContentShapeAPI surface

    Room for more than one regulation

    Every identifier now carries the legal order and the instrument it belongs to: `praxikon:eu:ai-act:obligation:article-11-technical-documentation` instead of the flat form before it. Without those two segments, Article 11 of the AI Act, of the GDPR and of a national implementing act would fight over the same key. The old identifiers keep resolving to exactly the same object, permanently, and every response names the canonical form of what you asked for plus the old form of every object.

    dataset_version
    2.0.0
    schema_version
    1.3.0
    API document
    1.8.0-beta.1

    Read this if you verify by hash

    The payload hash of every object carrying an identifier moved with it: the hash covers the whole payload, and the references sit inside it. Not one statement, source, date or status moved. That is a check rather than a promise: a release guard writes the current payload back into the old namespace and requires every field fingerprint to be exactly what the 1.1.0 snapshot recorded. If you verify by hash, read section 5.8 of the versioning policy.

    Snapshot recorded (417 object versions)

    Compare this release object by object

    praxikon:sys:registry:release:2026-08-13-identifier-namespace

  6. API surface

    Cheap polling, and one error shape

    The two endpoints a consumer is supposed to poll, the dataset description and the OpenAPI document, now carry an ETag and answer `If-None-Match` with a 304, as the graph endpoints already did. Alongside that: a status endpoint at `/api/v1/status` carrying the release, the object counts and the outcome of the last guard run, this changelog, and one error shape across every v1 endpoint. On request limits it now states exactly what is enforced and where nothing applies.

    dataset_version
    1.1.0
    schema_version
    1.2.0
    API document
    1.7.0-beta.1

    Snapshot recorded (417 object versions)

    No per-object comparison. This release did not move the content counter, so there is nothing to compare per object. What moved was the shape of the response or the surface around it, and that is described in the summary.

    praxikon:sys:registry:release:2026-08-13-api-hygiene

  7. API surface

    Whether what moved touches your dossier

    The impact feed at `/api/v1/impact` lays a manifest beside a window in the knowledge layer and reports, per touched object, the ground of the match. Not being able to see is never "no impact": an uncovered window comes back as a recommendation to recompute.

    dataset_version
    1.1.0
    schema_version
    1.2.0
    API document
    1.6.0-beta.1

    Snapshot recorded (417 object versions)

    No per-object comparison. This release did not move the content counter, so there is nothing to compare per object. What moved was the shape of the response or the surface around it, and that is described in the summary.

    praxikon:sys:registry:release:2026-08-13-impact-feed

  8. API surface

    What moved between two reference points, and which half mattered

    The regulatory diff became reachable at `/api/v1/diff`, with the snapshot register underneath it recording which object versions stood published per release. Every response carries the coverage of the recorded history, so an empty diff cannot be read as a quiet period.

    dataset_version
    1.1.0
    schema_version
    1.2.0
    API document
    1.5.0-beta.1

    Snapshot recorded (417 object versions)

    No per-object comparison. This release did not move the content counter, so there is nothing to compare per object. What moved was the shape of the response or the surface around it, and that is described in the summary.

    praxikon:sys:registry:release:2026-08-13-regulatory-diff

  9. API surface

    The dossier over the wire

    The Regulatory Manifest became reachable over HTTP, together with an endpoint that validates a manifest you already hold. Neither stores anything. No object was added and no payload moved, so only the API surface grew.

    dataset_version
    1.1.0
    schema_version
    1.2.0
    API document
    1.4.0-beta.1

    Snapshot recorded (417 object versions)

    No per-object comparison. This release did not move the content counter, so there is nothing to compare per object. What moved was the shape of the response or the surface around it, and that is described in the summary.

    praxikon:sys:registry:release:2026-08-13-manifest-over-http

  10. Shape

    When we last looked, and what we got wrong

    A review status on every object version, kept outside the payload hash so that a recheck cannot invalidate a citation, and a public correction register at `/api/v1/corrections`. Shape moved, content did not: no object added, no version appended, no payload touched, which is why `dataset_version` stayed at 1.1.0.

    dataset_version
    1.1.0
    schema_version
    1.2.0
    API document
    -

    Snapshot recorded (417 object versions)

    No per-object comparison. This release did not move the content counter, so there is nothing to compare per object. What moved was the shape of the response or the surface around it, and that is described in the summary.

    praxikon:sys:registry:release:2026-08-13-review-status-and-corrections

  11. ContentShape

    Who carries the duty, and who is only affected

    Five optional relation fields on the payload, populated on all 25 obligations, plus a `duty_holder` parameter and two supervisory actors. An obligation now states separately who the legal addressee is and who is practically affected, so a query about duties no longer returns duties resting on someone else.

    dataset_version
    1.1.0
    schema_version
    1.1.0
    API document
    -

    Read this if you verify by hash

    The payload hash of 25 obligations moved at an unchanged object version, because the hash covers the whole payload and those five fields were added. No existing field moved and no superseded version was touched. If you verify by hash, read section 5.6 of the versioning policy.

    Snapshot recorded (417 object versions)

    No per-object comparison. A release-to-release comparison needs a recorded snapshot on both sides, and 1.0.0 has none. The snapshot register started at 2026-08-13T00:00:00.000Z; what stood published before that date was not recorded and is not reconstructed after the fact.

    praxikon:sys:registry:release:2026-08-13-relation-model

  12. ContentShape

    First public release

    The implementation graph became public for the first time: published objects on two time axes, a primary source per statement, and a payload hash per object version to verify a citation against. It is also the knowledge date every published version has carried since, and therefore the floor of the knowledge axis.

    dataset_version
    1.0.0
    schema_version
    1.0.0
    API document
    -

    No snapshot. No snapshot is recorded for dataset 1.0.0. The register started at 2026-08-13T00:00:00.000Z and an earlier release cannot be reconstructed after the fact, because its payloads are no longer in the repository. That is a gap in the recorded history, not a statement that nothing moved.

    No per-object comparison. This is the first published release. There is no earlier state of the dataset to compare it against.

    praxikon:sys:registry:release:2026-08-08-first-public-release

What this history cannot show

  • content_releases_without_a_snapshot1.0.0 moved the content counter but has no recorded snapshot. Its payloads are no longer in the repository, so the record cannot be created after the fact. Section 5.6 of the versioning policy describes in words what moved, and that description is all there is.

The three counters

Content
The dataset version. Objects were added, or versions were appended to existing objects. Because the dataset is append only, such a release cannot change what an earlier pinned query returned.
Shape
The schema version. A field added, an endpoint added, a member added to an enum. Existing fields keep their name, their type and their meaning.
API surface
The version of the OpenAPI document. A route was added or a description became more precise. No object was added and no payload moved, so a citation does not have to be re-checked.

What belongs here and what does not

Yes: what we released
Every release of the dataset, of the schema or of the API document, with its date and what moved.
No: a change in the law
When the rules themselves move, that is a change object in the graph with its own source citation, not a release of ours.
No: our own errors
What we got wrong and repaired is in the correction log, with its date and its reason. A release and an error do not belong on the same pile.

For AI agents and integrations

The same history is available machine readable, from the same source as this page. The status endpoint additionally states which release is being served, how many objects it holds, and whether the release guards ran over exactly that content.