Odexa 1.2.0-draft.2

Evidence and measurement

What observations and authenticated claims establish.

The implementation keeps three questions separate: what was authorized, what an instrumented origin observed, and what a participant later claimed to do.

Record Supported interpretation
Agreement receipt The service recorded this registered client’s signed acceptance of these exact retained terms
Durable admission This request passed the gateway authorization boundary
Origin-observed delivery The instrumented server completed or failed its response write, with the stated method, status and bytes
Asset manifest binding The observed representation metadata, length and digest agree with a signed manifest
Authenticated use report The provisioned reporter made this statement about an operation
Anonymous use report An unverified declaration arrived

Server write completion does not prove that a remote application read every byte. A signature does not prove the truth of a training, storage or attribution claim. A content digest does not prove legal ownership. Hidden downstream use stays unknown.

On an interrupted write, this gateway counts the prefix confirmed by completed write calls. A failing final write can have sent part of a block before raising an error, so the failed-transfer byte count is a lower bound at this boundary, not an exact count of bytes received remotely.

Asset identity

An origin assigns a stable asset ID, an immutable version ID and one or more representation IDs. Representations bind media type, parameters, languages, decoded length and digest. A URL locates a resource; it is not the asset identity. An edit requires a new immutable version. Moving or reformatting content requires an explicit relationship and a fresh authorization check at the actual URL.

Each full delivery observation can retain an asset_ref containing asset ID, version ID, manifest payload digest and representation ID. The http.representation_metadata member records the actual media type, parameters and languages observed by the gateway. It is required but nullable: missing observation must remain visible instead of being reconstructed from a manifest claim.

For a full verified binding, exact manifest payload bytes, identity references, decoded digest, byte length and representation metadata must agree. A range or metadata-only response can reference an asset without proving full representation delivery.

Delivery outcomes

HTTP outcome Evidence classification Full-delivery total
Successful complete GET 200 delivery.completed, full One unique admitted delivery
Successful HEAD 200 response.completed, head Excluded
GET 304 response.completed, not_modified Excluded
Supported GET 206 delivery.completed, partial Excluded
Interrupted response delivery.failed Excluded
Admission without terminal event Outcome unknown Excluded and disclosed

The contract validator also covers other status/no-body outcomes and protocol errors beyond the small fixture’s HTTP routes. Evidence records name the ingress, boundary and hop so multiple observations of one transfer need not become multiple end-client deliveries. The current live fixture has one origin gateway, not a deployed edge fleet.

Retries and conflicts

The intake identity is the authenticated reporter and event ID. An identical decoded payload returns the original intake; different bytes under that identity conflict. Anonymous inputs occupy a separate unverified namespace and cannot reserve an authenticated event ID.

Counting operations additionally uses reporter, operation ID, representation reference and action. Multiple event IDs or checkpoints for one operation do not create extra completed uses. Conflicting purposes, agreement references, terminal states or times are excluded from completion totals and disclosed as conflicts. A participant can still invent operation IDs: these totals are explicitly counts of claims.

odexa_ref/evidence.py reduces already verified intake payloads. It checks structure and binding; it does not itself verify JWS signatures. Its caller must verify signatures, authority and exact manifest payloads first. The independent Node verifier performs its own verification and claim-counting checks.

What is not measured yet

No traffic-derived revenue estimate, universal value score, hidden-use detection, unique-agent estimate or business-benefit result is supplied. Request-capture rates need an independent ingress denominator. Timeliness measured from client-declared completion is labelled as such. Missing data means unknown; zero counts require a known observed cohort.

The synthetic test deliberately submits an authenticated false storage claim and an anonymous spoof. Passing means that those inputs retain their proper assurance, not that Odexa discovered an undisclosed model operation. Field research with originators and agent operators is still needed to establish adoption, implementation effort, useful participation and commercial outcomes.

Odexa / Protocol explorer

This page. Your terms.

Inspect this website’s published policy and see how a proposed use is evaluated.

Current pagehttps://odexa.io/guides/evidence/
Loading policy…

Published JSON
Open JSON

This is a local policy check, not a signed agreement or proof of agent compliance. Other published licences and applicable rights still apply. How policy evaluation works →

Odexa / Get in touch

Start a conversation.

Tell us what you have in mind. We’ll respond where we can.

We use these details to review and respond to your enquiry. Please leave out confidential information. Submitting does not subscribe you to marketing. Privacy policy.