III.11
Identity, receipt, replay
Retain a request and its outcome to repeat a rule evaluation. Keep source identity and execution evidence separate.
Scope
Keep a semantic request and its canonical outcome to repeat a rule evaluation. Use separate records for exact source bytes and execution evidence.
The sandbox contract defines the semantic request. Profiles and value interchange defines the canonical value codec. The cases here use documentation notation for inputs, identities, and limits. Their fields do not establish a public byte format.
Program, source, request, and artifact
An identity names one object under a versioned contract. Source identity names the exact submitted source bytes. Program identity names the canonical resolved program under its fixed dependencies. Request identity names the complete semantic request. Artifact identity names the bytes of an engine artifact.
Source and normalization defines how source becomes canonical code. Preparation and modules defines the closed bundle and resolved program. Whitespace can change source identity while leaving program identity unchanged. An equal result for one input does not establish that two programs are equivalent.
Profile work identity identifies the submitted request data, the versioned profile work contract, and the finite profile host budget. The profile work contract fixes the declared profile, schemas, evidence requirements, and host check rules. Changing that contract or its host budget changes profile work identity. It leaves the base preparation and evaluation requests unchanged.
A report records only the semantic identities already verified at its stage. An early refusal does not invent a canonical input or program identity. Later qualification and evidence reports retain the same profile work identity for that submission.
11.1 Keep source, program, and artifact identities separate
Source identity identifies the exact source bytes. Program identity identifies canonical resolved code under its fixed dependencies. Artifact identity identifies engine bytes. These identities use separate versioned domains. A 1.x identity retains its historical meaning. A 2.0 record uses a new domain. Canonicalization identifies one canonical form. It does not decide equivalence between different programs. Profile work has a separate identity for the submitted request data, versioned profile work contract, and profile host budget. It does not replace the semantic request identity.
Why
A source edit can preserve the program that runs. An engine can carry that program in different bytes. Separate identities keep those changes distinguishable.
Two spellings of the same program
lispex.example.v2.receipt-and-replay.source-spelling · rev. 2
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input))
)
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
input))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"source": "source.scm",
"input": {
"kind": "integer",
"value": "9"
},
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
},
{
"source": "spaced.scm",
"input": {
"kind": "integer",
"value": "9"
},
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "spaced.scm"
}
]
}
],
"comparison": "Prepare both source files with the same fixed dependencies. Compare their exact source, canonical program, and semantic request identities.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"exactSourceIdentityVectors": "source-identities.json",
"concretization": "Only source identities are concrete here; the existing program/request comparison still quantifies over the same valid fixed library and model."
}
{
"notation": "documentation-datum-byte-recipe",
"jsonMapping": "A record object is R with unsigned UTF-8 sorted string keys; a vector object is #(...); bytevectorHex is the exact octets; other strings, exact integers and Booleans keep their Datum types. JSON null denotes the empty list only in this recipe. This notation is not another wire codec.",
"derivation": "Apply the Profiles lispex.datum/2 D/U/Z rules and the Identity encoding R/H tables to the literal inputs. Hash the complete framed IdentityInput with SHA-256. No implementation output is an input.",
"scope": "Complete byte vectors establish their stated local record and byte-binding properties. They do not supply missing semantic preimages, authenticate an issuer, or select production tariffs.",
"concretization": "source-identity-only",
"cases": [
{
"path": "source.scm",
"sourceBytesHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c6520286c616d6264612028696e7075742920696e70757429290a290a",
"byteLength": 96,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c6520286c616d6264612028696e7075742920696e70757429290a290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200b60108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a60286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c6520286c616d6264612028696e7075742920696e70757429290a290a0000",
"digestHex": "006e6fc0a5bb14e1a9b5d6d52bb96ea643309abcc769c96dddd546e24cac4bfa",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20006e6fc0a5bb14e1a9b5d6d52bb96ea643309abcc769c96dddd546e24cac4bfa08080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
{
"path": "spaced.scm",
"sourceBytesHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c650a0a20202020286c616d6264612028696e707574290a202020202020696e70757429290a290a",
"byteLength": 107,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c650a0a20202020286c616d6264612028696e707574290a202020202020696e70757429290a290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200c10108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a6b286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c650a0a20202020286c616d6264612028696e707574290a202020202020696e70757429290a290a0000",
"digestHex": "c35ad59ac2d32929becd8f83a5efd8b527860fed82dfe8d7d681cc95d62ab1f4",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20c35ad59ac2d32929becd8f83a5efd8b527860fed82dfe8d7d681cc95d62ab1f408080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
}
],
"remaining": [
"fixed library meaning and identity",
"finite resource model definition and identity",
"canonical program and semantic request packets"
]
}
9Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "9"
}
}9Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "9"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"sourceIdentityEqual": false,
"programIdentityEqual": true,
"requestIdentityEqual": true,
"canonicalOutcomeEqual": true
},
"exactSourceIdentityVectors": [
{
"path": "source.scm",
"sourceBytesHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c6520286c616d6264612028696e7075742920696e70757429290a290a",
"byteLength": 96,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c6520286c616d6264612028696e7075742920696e70757429290a290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200b60108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a60286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c6520286c616d6264612028696e7075742920696e70757429290a290a0000",
"digestHex": "006e6fc0a5bb14e1a9b5d6d52bb96ea643309abcc769c96dddd546e24cac4bfa",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20006e6fc0a5bb14e1a9b5d6d52bb96ea643309abcc769c96dddd546e24cac4bfa08080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
{
"path": "spaced.scm",
"sourceBytesHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c650a0a20202020286c616d6264612028696e707574290a202020202020696e70757429290a290a",
"byteLength": 107,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c650a0a20202020286c616d6264612028696e707574290a202020202020696e70757429290a290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200c10108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a6b286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e652072756c650a0a20202020286c616d6264612028696e707574290a202020202020696e70757429290a290a0000",
"digestHex": "c35ad59ac2d32929becd8f83a5efd8b527860fed82dfe8d7d681cc95d62ab1f4",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20c35ad59ac2d32929becd8f83a5efd8b527860fed82dfe8d7d681cc95d62ab1f408080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
}
],
"concretizationScope": "source-identity-only"
}Product invocation
Expected result
Both spellings return the exact integer 9. Their source identities differ. Their program and request identities are equal. Product invocation awaits its 2.0 adapter.
source-identities.json gives the exact UTF-8 octets, byte lengths, complete IdentityInput packets, independent SHA-256 digests, and IdentityBytes for each source spelling. This completes only the source-identity projection. The existing canonical program/request comparison still requires one valid fixed library and model; its symbolic dependencies have not been replaced by claimed verified identities. No implementation observation was used.
Compare separate profile work identities
lispex.example.v2.receipt-and-replay.profile-work-identity · rev. 2
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
input))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"input": {
"kind": "integer",
"value": "9"
}
},
{
"input": {
"kind": "integer",
"value": "9"
}
}
],
"profileWork": {
"contract": "one fixed profile work contract with an exact integer output schema",
"attempts": [
{
"identity": "first-profile-work",
"profileHostBudget": {
"format": "lispex.profile-host-budget/2",
"resource_model": "verified fixture host ResourceModelIdentity",
"work": "W",
"allocation": "A",
"frames": "F",
"input": "I",
"report": "R",
"evidence": "E"
},
"profileHostBudgetConstraints": "finite values sufficient for qualification",
"fixtureParameterTypes": {
"W": "exact nonnegative integer",
"A": "exact nonnegative integer",
"F": "exact nonnegative integer",
"I": "exact nonnegative integer",
"R": "exact nonnegative integer",
"E": "exact nonnegative integer"
}
},
{
"identity": "second-profile-work",
"profileHostBudget": {
"format": "lispex.profile-host-budget/2",
"resource_model": "verified fixture host ResourceModelIdentity",
"work": "W",
"allocation": "A",
"frames": "F",
"input": "I",
"report": "R",
"evidence": "E"
},
"profileHostBudgetConstraints": "finite values below the next qualification reservation",
"fixtureParameterTypes": {
"W": "exact nonnegative integer",
"A": "exact nonnegative integer",
"F": "exact nonnegative integer",
"I": "exact nonnegative integer",
"R": "exact nonnegative integer",
"E": "exact nonnegative integer"
}
}
],
"semanticRequestIdentity": "shared-semantic-request",
"setup": "Keep the source, program, input, semantics, preparation limits, and evaluation limits identical."
},
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"budgetNotation": "The named W A F I R E parameters stand for finite exact integers that satisfy the separately stated fixture constraints. They are not serialized strings in a public budget record."
}
9Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "9"
}
}9Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "9"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"preparationRequestEqual": true,
"evaluationRequestIdentityEqual": true,
"profileWorkContractEqual": true,
"profileHostBudgetEqual": false,
"profileWorkIdentityEqual": false,
"canonicalOutcomeEqual": true,
"portableReceiptEqual": true
},
"profileWorkReports": [
{
"profileWorkIdentity": "first-profile-work",
"stage": "qualification",
"status": "accepted",
"semanticRequestIdentity": "shared-semantic-request",
"canonicalOutcomePreserved": true,
"evaluationReceiptEligible": true
},
{
"profileWorkIdentity": "second-profile-work",
"stage": "qualification",
"status": "budget-refusal",
"semanticRequestIdentity": "shared-semantic-request",
"canonicalOutcomePreserved": true,
"evaluationReceiptEligible": true
}
]
}Product invocation
Expected result
Both evaluations return the exact integer 9 under the same semantic request. The second profile host budget stops qualification. Profile work identities and reports differ while canonical outcomes and evaluation receipt eligibility remain equal. Product invocation awaits its 2.0 adapter.
The two finite profile host budgets differ. Only the first permits output qualification. Identity labels and report fields use documentation notation. Their byte contracts are the named profile work identity and report encodings.
11.2 Identify every semantic input
Request identity binds the complete semantic request. Changing any of its semantic inputs makes a different request. Product, engine, platform, cache state, and source presentation do not change the identity of an admitted semantic request.
Why
Limits can change whether the same rule returns or stops. Recording them makes the request reproducible. The same request has the same meaning across products.
Two artifacts for the same request
lispex.example.v2.receipt-and-replay.artifact-choice · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
input))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"input": {
"kind": "integer",
"value": "17"
},
"artifact": "first admitted artifact"
},
{
"input": {
"kind": "integer",
"value": "17"
},
"artifact": "second admitted artifact"
}
],
"hostSetup": {
"artifacts": "two distinct verified artifacts for the same fixed semantics",
"admission": "both artifacts accept the complete request without changing its limits"
},
"comparison": "Keep every semantic input fixed while selecting the two distinct artifacts.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
17Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "17"
}
}17Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "17"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"artifactIdentityEqual": false,
"programIdentityEqual": true,
"requestIdentityEqual": true,
"canonicalOutcomeEqual": true
}
}Product invocation
Expected result
Both admitted artifacts return the exact integer 17. Their artifact identities differ while the semantic request and outcome remain equal. Product invocation awaits its 2.0 adapter.
The artifact labels are documentation notation. The product plan requires real verified artifacts with distinct bytes. Artifact selection follows Embedding and packages.
Equal results under different finite limits
lispex.example.v2.receipt-and-replay.changed-limits · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
input))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"input": {
"kind": "integer",
"value": "9"
},
"evaluationWorkLimit": "first finite work limit"
},
{
"input": {
"kind": "integer",
"value": "9"
},
"evaluationWorkLimit": "different finite work limit"
}
],
"limitSetup": "Both finite work limits permit this calculation. Keep all other limits, the resource model, and every other semantic input identical.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
9Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "9"
}
}9Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "9"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"programIdentityEqual": true,
"inputIdentityEqual": true,
"resourceModelEqual": true,
"finiteLimitsEqual": false,
"requestIdentityEqual": false,
"canonicalOutcomeEqual": true
}
}Product invocation
Expected result
Both requests return the exact integer 9. Their different finite work limits give them different request identities. Product invocation awaits its 2.0 adapter.
The two work limits are symbolic finite values. Their numeric values await the resource contract. An equal result does not make the requests identical.
11.3 Encode named records as canonical Datum
Every named record in this chapter uses the exact lispex.datum/2 packet. A record is an immutable proper list of dotted pairs. Its keys are strings in unsigned UTF-8 byte order. Each declared field occurs exactly once. All fields are mandatory. An optional value uses the empty or singleton vector from the table. Reject duplicate, missing, unknown, or unordered fields. A decoder does not repair a record. A nested byte packet is a bytevector containing the complete packet.
Why
One value codec gives identities, reports, receipts, and evidence the same exact framing. Closed records prevent products from silently ignoring a field. Explicit absence cannot be confused with false, an empty list, or an empty string.
11.4 Use separated SHA-256 identity domains
An identity uses lispex.identity/2. Its digest is SHA-256 of the complete domain-separated input packet in the table. Use the SHA-256 algorithm in the August 2015 edition of FIPS 180-4. Every supported domain has one payload schema. Reject another digest length, an unknown domain, or a payload outside that schema. IdentityBytes is the complete canonical identity packet. A claimed digest remains unverified until its complete captured input and the required domain checks have been verified.
A complete record can determine a candidate hash while its quoted semantic identities remain claims. A candidate RequestIdentity does not verify its program, library, resource model, or canonical input. Their owning checks must finish before a semantic request marker is issued. A locally verified record identity does not promote nested identity claims. A byte comparison and semantic verification remain distinct even when their digest values agree.
Why
A domain prevents one kind of object from standing in for another. One algorithm and one packet remove product choices from the digest input. A digest authenticates neither the program semantics nor its issuer by itself.
The identity comparison examples give complete compared packets and name the preimages each case actually checks. Fixed library and model claims are explicit when their semantic preimages are unavailable.
11.5 Identify the validated canonical module meaning
Project the validated prepared graph into the meaning records below. Preserve every supplied module, decoded name, binding relation, literal value, node kind, ordered child, group, clause, entry declaration, and tail flag. The two prepared encodings project to the same meaning. Compute module identities in dependency order. A dependency identity names its target module meaning. It never names source bytes or prepared bytes. Source and library modules retain distinct namespaces. Program identity binds the whole ordered module collection and the selected root entry.
Why
Local numbering removes unrelated table offsets from a module digest. Explicit dependency meaning keeps source spelling and artifact encoding outside that digest. Retaining the canonical graph structure preserves occurrence order and the resource event contract without attempting arbitrary program equivalence.
Conditional forms use written alternatives.
11.6 Bind each request to its complete inputs
The tables define source, submission, preparation, evaluation, and profile work identity inputs. A semantic request includes the program, canonical input bytes, fixed semantics, resource model, and every evaluation limit. Profile work binds the captured submission, the verified profile work contract, and the effective finite profile host budget. It keeps that identity through admission, output qualification, and evidence work. Changing only the profile declaration, check contract, evidence inputs, or host budget leaves the base preparation and evaluation request unchanged. Reports include only identities whose domain checks completed.
For PrepareRequestRecord, validate the input identity according to its domain and the complete finite preparation limits. A source-bundle identity requires its name table, selected root, and captured source bytes; it does not require successful source reading. The fixed Unicode, library, and resource model need verified immutable witnesses for this request. expected_program is a domain-checked submitted claim. Keep a supplied claim in the request even if a later comparison rejects its digest. Its presence never creates a verified program marker. A completed program is not an extra prerequisite for a preparation request seal.
Why
Different limits can change a deterministic stop. Host qualification has its own inputs and budget. Binding both requests separately makes each check reproducible without adding profile policy or host evidence to the canonical outcome.
The notation below describes Datum values. It is not a second wire codec.
| Notation | Exact meaning |
|---|---|
D(x) | The complete lispex.datum/2 encoding of Datum x |
R{a=x,b=y} | A proper list of dotted string-keyed pairs in unsigned UTF-8 key order |
| Record key order | Compare unsigned UTF-8 octets lexicographically with the shorter equal prefix first |
#(x...) | A vector in the declared order |
Option(T) absent | #() |
Option(T) present | #(value) with exactly one value of type T |
Bytes | A bytevector |
Text | A string preserving its exact Unicode scalars |
Nat | A nonnegative exact integer |
Bool | #f or #t |
| Named encoding | D(record) with the exact mandatory format string declared for that record |
| Nested identity | The Identity record itself rather than a display string |
| Nested named bytes | A bytevector holding the complete named packet including its magic and length |
The notation is order-independent inside braces. The encoded record is ordered. For example, R{b=#f,a=0} denotes (("a" . 0) ("b" . #f)). Tables define the exact fields of each record. Extra extension fields are rejected. A variant has exactly the fields in its selected row. Lists used as language data retain their original order and meaning.
Canonical packet decoding finishes before named-record checks. For a decoded record, check the proper-list spine first. Then visit entries in list order and check pair shape, string key, duplicate key, and increasing key order. For a named record, next require a string format field and the expected supported format. For a variant, next require its typed discriminator and a supported variant. Then check missing fields, extra fields, and field types in key order. Required keys and extra keys are checked before interpreting the remaining field values. The first failed check ends validation. No unknown format receives a fallback interpretation.
Diagnostic values keep their catalog types. Its Nat and Integer payloads remain canonical decimal strings. Its DatumBytes payloads remain lowercase hexadecimal strings. Its Identity and ContractIdentity fields contain the nested identity record. These catalog fields do not become the Nat type in this table.
| Record or operation | Exact value |
|---|---|
Domain | Exactly one domain string from the identity domain table |
Payload | The payload value required by the selected domain row |
Bytes32 | A bytevector containing exactly 32 octets |
SHA256 | The full 32-octet SHA-256 digest as a bytevector |
Identity | R{format="lispex.identity/2",domain=Domain,digest=Bytes32} |
IdentityBytes | D(Identity) |
IdentityInput | R{format="lispex.identity-input/2",domain=Domain,payload=Payload} |
| Digest input | D(IdentityInput) including its complete Datum packet frame |
H(domain,payload) | R{format="lispex.identity/2",domain=domain,digest=SHA256(D(R{format="lispex.identity-input/2",domain=domain,payload=payload}))} |
| Digest algorithm | SHA-256 under FIPS 180-4 from August 2015 |
| Digest width | Exactly 32 octets with digest words in their specified order and the most significant octet first within each word |
| Hash input bound | Fewer than 2^64 bits under the SHA-256 algorithm |
IdentityHex | Lowercase hexadecimal for every octet of IdentityBytes with no prefix or separators |
| Equality | Equal domain strings and equal digest octets |
The SHA-256 definition is the Secure Hash Standard. IdentityHex is a transport spelling only where another contract requires text. A binary identity field contains Identity rather than IdentityHex. A digest field never contains hexadecimal text. No salt, source path, timestamp, host width, product label, or secret is added to a hash input. New contracts use a new versioned name or domain. A 1.x record keeps its original identity rules.
A hash input bound is a format bound rather than a work allowance. Reject an identity preimage whose bit length is at least 2^64. Do not truncate the input, reduce its length modulo a word size, or publish a prefix digest. If length checking, encoding, or hashing cannot complete within its finite account, no identity is verified. Complete byte capture alone does not produce an identity. A later identity failure does not replace an earlier committed diagnostic or a completed canonical outcome.
A failed identity reservation keeps the diagnostic of its owning account and phase. Profile admission, qualification, and evidence use their corresponding phase with profile.budget. Standalone verification work uses verify/verification.budget. Their budget field identifies the denied host axis; a work reservation uses work. A physical host failure follows the host diagnostic contract. Source/preparation or evaluation account failures keep their own existing diagnostics. Identity encoding introduces no universal hash-failure code and never transfers work to a guest account. An earlier committed failure remains first.
Each identity in the table is H(domain,payload) for its row. The payload is the exact value shown in the final column.
| Domain | Identity | Payload |
|---|---|---|
lispex.source/2 | SourceIdentity | R{bytes=Bytes} |
lispex.source-bundle/2 | SourceBundleIdentity | SourceBundleInput |
lispex.submission/2 | SubmissionIdentity | SubmissionRecord |
lispex.contract/2 | ContractIdentity | ContractInput |
lispex.module/2 | ModuleIdentity | ModuleMeaning |
lispex.library/2 | LibraryIdentity | LibraryMeaning |
lispex.program/2 | ProgramIdentity | ProgramMeaning |
lispex.input/2 | InputIdentity | R{bytes=Bytevector(CanonicalInputBytes)} |
lispex.prepare-request/2 | PrepareRequestIdentity | PrepareRequestRecord |
lispex.request/2 | RequestIdentity | RequestRecord |
lispex.artifact/2 | ArtifactIdentity | R{kind=IdentityArtifactKind,format=Text,bytes=Bytes} |
lispex.profile/2 | ProfileDeclarationIdentity | ProfileDeclaration |
lispex.profile-work/2 | ProfileWorkIdentity | ProfileWorkInput |
lispex.outcome/2 | OutcomeIdentity | Outcome |
lispex.receipt/2 | ReceiptIdentity | Receipt |
lispex.issuer/2 | IssuerIdentity | R{algorithm="ed25519",public_key=Bytes32} |
lispex.trust-policy/2 | TrustPolicyIdentity | TrustPolicy |
lispex.evidence/2 | EvidenceIdentity | R{evidence_bytes=Bytevector(EvidenceEnvelopeBytes)} |
IdentityArtifactKind is exactly product, engine, or prepared. Its format field identifies the versioned artifact format being admitted. Its bytes field contains that artifact alone. A source sidecar, signature, package path, or transport wrapper is excluded unless it is part of the identified artifact format itself. Artifact identity does not assert that those bytes implement the claimed program. IdentityArtifactKind is local to this identity schema. The diagnostic catalog retains its distinct ArtifactKind values.
CanonicalInputBytes must pass the canonical Datum decoder. A source identity can be verified for an unreadable source stream. A module, program, input, or profile identity requires that domain's semantic validation. An outcome or receipt identity requires its complete canonical shape and local field checks. That verification does not establish execution or verify objects merely named in its identity fields. Hashing a complete but invalid record cannot mark that semantic identity as verified.
| Record | Fields |
|---|---|
ContractInput | R{kind=Text,name=Text,definition=Datum} |
ContractIdentity | H("lispex.contract/2",ContractInput) |
UnicodeIdentity | ContractIdentity with kind unicode |
ResourceModelIdentity | ContractIdentity with kind resource-model |
ProfileContractIdentity | ContractIdentity with kind profile |
ProfileWorkContractDefinition | The complete definition in Profiles |
ProfileWorkContractIdentity | ContractIdentity with kind profile-work |
EvidenceRequirementIdentity | ContractIdentity with kind evidence-requirement |
The kind selects the owning contract family. The table gives the definitions owned or consumed here. Other kinds use their owning chapter's versioned declarative definition. The name is the versioned name of the definition. The definition is the canonical declarative value for that name. It is not a document's prose, an engine binary, or a caller's replacement definition. A product verifies the supplied definition against the selected supported contract before marking its identity verified.
| Contract kind | Name | Exact definition |
|---|---|---|
unicode | lispex.unicode/2 | R{format="lispex.unicode/2",language="2.0",unicode_version="17.0.0"} |
resource-model | The selected versioned resource model name | The complete ResourceModelDefinition from Resources |
profile | base/2 or vouch/2 | ProfileContractDefinition from Profiles |
profile-work | lispex.profile-work/2 | ProfileWorkContractDefinition |
evidence-requirement | lispex.evidence-requirement/2 | R{format="lispex.evidence-requirement/2",mode="none"} or R{format="lispex.evidence-requirement/2",mode="signed-execution"} |
The base/2 name requires profile base in its definition. The vouch/2 name requires profile vouch/2. These two fixed profile contracts can be checked before reading a submitted declaration. Their identity differs from the identity of that declaration.
The Unicode definition denotes the complete adopted Unicode operation rules. It does not allow a product to substitute its host Unicode tables. The profile work definition denotes the complete check schedule and schema traversal in Profiles. Its resource model supplies the host tariffs and units for that schedule. For one ProfileWorkInput, this model identity must equal budget.resource_model. The selected host model must support every event and finite field of the profile work contract. A mismatched or unsupported host model is refused before that model is used. The host model need not equal the preparation or evaluation resource model. It never replaces either model implicitly. The evidence requirement mode has the complete meaning specified in Profiles and the evidence envelope rule.
Resources defines the complete model declaration and default axis data. Identity encoding consumes that declaration without adding its digest to the preimage. The model definition rule fixes the order before budget wrappers are resolved. A missing, unsupported, or mismatched declaration is refused.
An unsupported requested capability can still appear as submitted identity data in a diagnostic. That quotation does not verify the capability or its contract. A claimed engine contract identity is distinct from the identity of actual engine artifact bytes. A report does not promote quoted diagnostic data into its verified identity bindings.
The Unicode contract is a prior semantic input. It excludes its own identity and identities that depend on it. Resources owns the corresponding model dependency requirements. Every dependent identity uses already verified explicit semantic inputs. An identity does not authorize a host lookup or dependency discovery.
The input is the validated canonical graph from Preparation. This projection does not add a source form or change that graph.
| Projection step | Required mapping |
|---|---|
| Module ownership | An import, native member, or declaration walk belongs to its containing module |
| Local bindings | Filter the canonical binding table to that module and number the retained entries from zero |
| Local nodes | Filter canonical node preorder to that module and number the retained entries from zero |
| Local binding use | Encode #("local" local-binding-index) |
| External binding use | Encode #("external" ModuleRef target-local-binding-index) |
| Local node use | Encode its local node index as Nat |
| Module reference | Encode R{kind=ModuleKind,name=Text,identity=ModuleIdentity} |
| Module kind | source or library under the original namespaces |
| Decoded name | Preserve the exact string of Unicode scalars |
| Literal | Preserve the exact decoded Datum |
| Child and declaration collections | Preserve the canonical graph's order in a vector |
| Tail flag | Preserve the validated Boolean tail flag |
| Site fields | Omit their serialized bytes from the meaning projection after validating them |
Site records are derived from the retained node, group, and clause occurrences under the fixed event contract. The prepared validator still checks every site and role before this projection. Dropping a site field here does not permit an invalid or altered site in an artifact. No program identity or global program offset enters a module digest through a site field. Every occurrence remains separate in the local node table and its structural parent relation.
All binding references are translated by their declaration owner. Do not chase an imported alias beyond the binding selected by the canonical graph. An imported target and its declared public export remain explicit in the import record. A reference into the library names its actual verified library module. An external reference must be authorized by the original dependency or library enclosure rules.
Binding and use names remain in the meaning record. Changing a local binding name can therefore change program identity. Equivalent reader escapes and delimiter spelling preserve the decoded name. The source rules alone decide which source forms share a canonical graph. No optimizer equivalence, alpha renaming, constant folding, or unused-code removal is added here.
The following records use only the fields in their rows. Collections use vectors. Indices are the local indices from the projection table.
| Record | Fields |
|---|---|
ModuleMeaning | R{format="lispex.module-meaning/2",kind=ModuleKind,name=Text,language="2.0",unicode=UnicodeIdentity,resource_model=ResourceModelIdentity,library=Option(LibraryIdentity),dependencies=#(ModuleRef...),imports=#(ImportMeaning...),exports=#(ExportMeaning...),native_bindings=#(BindingRef...),groups=#(GroupMeaning...),entry=Option(EntryMeaning),bindings=#(BindingMeaning...),nodes=#(NodeMeaning...)} |
BindingRef local | #("local" Nat) |
BindingRef external | #("external" ModuleRef Nat) |
BindingMeaning | R{name=Text,role=Nat,member=Option(Text)} |
ImportMeaning | R{local=BindingRef,target=ModuleRef,name=Text,binding=BindingRef} |
ExportMeaning | R{name=Text,binding=BindingRef} |
EntryMeaning | R{name=Text,binding=BindingRef} |
GroupMeaning | R{kind="sequential" or "recursive",bindings=#(BindingRef...),initializers=#(Nat...)} |
InternalGroupMeaning | R{bindings=#(BindingRef...),initializers=#(Nat...)} |
NodeMeaning | R{kind=NodeKind,tail=Bool,fields=#(Datum...)} |
ClauseMeaning | R{kind=Nat,fields=#(Nat...)} |
A source module has exactly one present library identity. A library module has an absent library identity. Every module keeps the fixed Unicode and resource model identities used by its canonical graph. Library modules depend only on library modules. Their digests never include the identity of the whole library that contains them.
Dependencies use ModuleRef values for every original dependency. Sort those values by the UTF-8 bytes of kind and then name. Reject repeated namespace and name pairs. Imports retain written clause order. Exports retain unsigned UTF-8 public-name order. Native bindings, groups, bindings, and nodes retain the canonical Preparation order. A declared entry keeps its public export name and the graph's resolved binding.
The binding role is the exact role number from Preparation. Role 7 has one present native semantic member name. All other roles have an absent member value. Local declaration lists contain local BindingRef values only. A target ModuleRef must match the computed meaning identity of that target. These records select no native kernel members and no final kernel count.
NodeKind is exactly one tag in this table. The fields column is the complete vector stored in NodeMeaning. The existing prepared graph validation fixes the child arities and admitted source forms. An if records its test and both branch indices. Cond retains its required final else clause under the conditional grammar.
| NodeKind | Fields vector |
|---|---|
literal | #(Datum) |
use | #(Text BindingRef) |
lambda | #(#(BindingRef...) Option(BindingRef) Nat) |
call | #(Nat #(Nat...)) |
if | #(Nat Nat Nat) |
sequence | #(#(Nat...)) |
let | #(#(BindingRef...) #(Nat...) Nat) |
letrec | #(#(BindingRef...) #(Nat...) Nat) |
guard | #(BindingRef Nat #(ClauseMeaning...)) |
body | #(Option(InternalGroupMeaning) #(Nat...)) |
letstar | #(#(BindingRef...) #(Nat...) Nat) |
namedlet | #(BindingRef #(BindingRef...) #(Nat...) Nat) |
and | #(#(Nat...)) |
or | #(#(Nat...)) |
cond | #(#(ClauseMeaning...)) |
| Clause kind | Fields vector |
|---|---|
0 | #(test-node body-node) |
1 | #(test-node) |
2 | #(test-node receiver-node) |
3 | #(else-body-node) |
Node indices are structural references within the same module. Binding references retain the exact lexical target selected by Preparation. A sequential group has its single binding and initializer. A recursive group retains every adjacent lambda binding and initializer. A present internal group retains every leading internal definition. This encoding does not flatten bodies, synthesize calls, or merge equal literals.
| Record or encoding | Exact value |
|---|---|
ProgramBinding | R{module=ModuleRef,index=Nat} |
LibraryBinding | R{name=Text,binding=ProgramBinding} |
LibraryMeaning | R{format="lispex.library-meaning/2",language="2.0",unicode=UnicodeIdentity,resource_model=ResourceModelIdentity,modules=#(ModuleMeaning...),enclosure=#(LibraryBinding...)} |
ModuleIdentity | H("lispex.module/2",ModuleMeaning) |
LibraryIdentity | H("lispex.library/2",LibraryMeaning) |
ProgramMeaning | R{format="lispex.program-meaning/2",language="2.0",unicode=UnicodeIdentity,library=LibraryIdentity,resource_model=ResourceModelIdentity,root=ModuleRef,entry=R{name=Text,binding=ProgramBinding},modules=#(ModuleMeaning...)} |
CanonicalModuleMeaningBytes | D(ModuleMeaning) |
CanonicalLibraryMeaningBytes | D(LibraryMeaning) |
CanonicalProgramMeaningBytes | D(ProgramMeaning) |
ProgramIdentity | H("lispex.program/2",ProgramMeaning) |
LibraryMeaning contains the complete fixed library closure in its canonical dependency order. Its enclosure contains every public lexical library binding in unsigned UTF-8 name order. Each binding names the verified module and local binding index that supply it. The public inventory and aliases remain those fixed by the Standard library chapter. The semantic library record is independent of the engine's native or guest implementation strategy. A private replacement must implement the same selected canonical library meaning.
ProgramMeaning contains the full library closure followed by every submitted source module. The module order is the canonical initialization order from Preparation. All root and entry fields must match the declared root entry in that graph. The root is a source ModuleRef. The entry name is the declared public export name. Its ProgramBinding is the actual binding already selected by the entry contract. There is no host entry override.
Compute library module digests in dependency order. Then compute LibraryIdentity from the full library record. Next compute source module digests in source dependency order. Finally compute ProgramIdentity. Every dependency record uses the computed target ModuleIdentity. The dependency graph is acyclic under Preparation. No step includes its own digest.
The library and program header identities must match every corresponding child record. Their resource model is the model of the prepared semantic graph. A profile host budget never substitutes its separate host model into these records. A resource model change can change module, library, and program identities. Changing only a finite evaluation limit leaves those identities unchanged. The distinct request identity still binds the selected model and limits explicitly.
The prepared wire formats retain their own bytes. Their dependency IdentityBytes fields contain the target ModuleIdentity packet from this contract. A resolved/1 encoding and a bytecode/1 encoding of the same validated graph have equal ProgramIdentity. Their artifact identities differ when their exact bytes differ.
| Record | Fields |
|---|---|
SourceBundleInput | R{root_module=Text,sources=#(R{module=Text,source=SourceIdentity}...)} |
SubmissionRecord | R{format="lispex.submission/2",operation=Operation,product=Option(Text),engine=Option(Text),profile=Option(Text),preset=Option(Text),operands=#(SubmittedOperand...)} |
SubmittedOperand | R{role=OperandRole,bytes=Bytes} |
SourceIdentity | H("lispex.source/2",R{bytes=source-octets}) |
SourceBundleIdentity | H("lispex.source-bundle/2",SourceBundleInput) |
SubmissionIdentity | H("lispex.submission/2",SubmissionRecord) |
| Operation | Meaning |
|---|---|
prepare | Source preparation or prepared-program validation |
evaluate | One bounded rule evaluation |
record-admission | Convert one explicit external record into canonical input Datum bytes |
verify | Receipt comparison and any requested evidence work |
replay | Exact replay against the recorded request and receipt |
graph | Meaning graph production without guest evaluation |
OperandRole is exactly one of the names below.
| OperandRole | Captured bytes |
|---|---|
bundle | Exact submitted source bundle packet |
artifact | Exact submitted prepared artifact packet |
input | Exact submitted input bytes through their complete end |
request | Exact recorded semantic request packet |
expected | Exact expected receipt packet |
actual | Exact actual receipt packet |
profile-declaration | Exact profile request packet |
prepare-limits | Exact supplied preparation limit packet |
evaluate-limits | Exact supplied evaluation limit packet |
profile-limits | Exact supplied profile host budget packet |
evidence | Exact explicitly supplied evidence packet |
trust | Exact explicitly supplied trust policy packet |
SourceBundleInput requires a valid unique source name table and a selected root in that table. It uses unsigned UTF-8 module-name order. It retains each source's exact octets through SourceIdentity. It need not have readable or valid source syntax. Transport ordering and host paths are not part of SourceBundleInput.
SubmissionRecord captures supplied operands before interpreting their content. The operand vector uses unsigned UTF-8 role order with no repeated role. An omitted operand has no vector member. The selection options retain their supplied exact text. An omitted selector has an absent Option even when a fixed default will later apply. The CLI command run maps to operation evaluate. The record-admission operation uses the explicit record request format from Profiles. Its input operand contains that request packet rather than an assumed canonical input packet. This operation name does not add a CLI command. Argument order, file paths, output destinations, environment data, and display preferences are excluded. Only the declared input bytes and selections are included.
A typed API obtains the same operand bytes from the named input encodings. A callback, accessor, opaque host object, or partially captured stream has no invented byte representation. If complete immutable capture fails, the report has no verified SubmissionIdentity. If capture completes but a packet is malformed, its exact bytes still have SubmissionIdentity. Missing input bytes are never represented as an empty packet. An invalid source name table can have SubmissionIdentity without SourceBundleIdentity or ProgramIdentity.
| Record or encoding | Exact value |
|---|---|
PrepareRequestRecord | R{format="lispex.prepare-request/2",input_kind=PrepareInputKind,input=PrepareInputIdentity,expected_program=Option(ProgramIdentity),language="2.0",unicode=UnicodeIdentity,library=LibraryIdentity,resource_model=ResourceModelIdentity,preparation_limits=PrepareLimits} |
PrepareInputKind | source-bundle or prepared |
PrepareInputIdentity for source-bundle | SourceBundleIdentity |
PrepareInputIdentity for prepared | ArtifactIdentity verified with kind prepared |
PrepareRequestIdentity | H("lispex.prepare-request/2",PrepareRequestRecord) |
CanonicalPrepareRequestBytes | D(PrepareRequestRecord) |
RequestRecord | R{format="lispex.request/2",program=ProgramIdentity,input_bytes=Bytevector(CanonicalInputBytes),language="2.0",unicode=UnicodeIdentity,library=LibraryIdentity,resource_model=ResourceModelIdentity,evaluation_limits=EvaluationLimits} |
RequestIdentity | H("lispex.request/2",RequestRecord) |
CanonicalRequestBytes | D(RequestRecord) |
ProfileWorkInput | R{format="lispex.profile-work-input/2",submission=SubmissionIdentity,profile=Option(ProfileContractIdentity),declaration_bytes=Option(Bytevector(ProfileDeclarationBytes)),check_contract=ProfileWorkContractIdentity,budget=ProfileHostBudget} |
ProfileWorkIdentity | H("lispex.profile-work/2",ProfileWorkInput) |
The preparation input identity and expected program field describe the performed preparation check. The expected program field is absent when no expected identity was supplied. Its presence does not mark that claimed program identity as verified. PrepareLimits is the complete validated finite preparation record owned by Resources. EvaluationLimits is that chapter's complete validated finite evaluation record. All symbolic fixture limit labels stand for concrete records in a submitted request. A limit name is not the serialized limit value.
Profiles defines CanonicalInputBytes. RequestRecord contains that full packet as a bytevector. Its program and fixed semantics fields must agree with the validated program meaning. Its limits are effective values after the selected preset is resolved. Changing a limit changes RequestIdentity even if the result happens to match. Preparation limits, source provenance, engine selection, profile declarations, and host work budgets are excluded from RequestRecord. The selected program already fixes its root and entry.
ProfileWorkInput accepts only evaluate, record-admission, verify, and replay submissions. For evaluate, ProfileWorkInput has one present builtin ProfileContractIdentity for base/2 or vouch/2 and one present declaration packet. For record-admission, the builtin profile identity is present and the declaration packet is absent. For verify and replay, both fields are absent. These are the only admitted presence combinations. Standalone record-admission performs the fixed record conversion only. Input schema and evidence requirements wait for evaluation admission with a verified program. The submitted selection text remains in SubmissionRecord. The prepare and graph commands perform no profile work and produce no ProfileWorkIdentity. A present ProfileDeclarationBytes value is D of the captured declaration Datum in the profile request. The outer packet must pass canonical Datum decoding before this extraction. The declaration can still fail the profile declaration schema. For an evaluate request using base without an explicit declaration it contains the canonical base declaration. Verify and replay do not synthesize a declaration from unavailable program or library inputs. The complete supplied profile request packet remains in SubmissionRecord. ProfileHostBudget contains its required resource_model identity and the six finite Nat limit fields. The model field is metadata rather than a seventh charged axis. An explicit profile-limits operand supplies that complete record. Otherwise common-default resolves that complete record before work begins. The profile work contract definition must use the same resource_model identity as that record. Its definition and budget are verified before their bounded ProfileWorkIdentity computation can complete. Changing this host model changes the profile work binding. It changes no field in PrepareRequestRecord, RequestRecord, or ProgramMeaning. Standalone verify and record-admission therefore need no evaluation request to select their host model. The selected profile declaration can still fail its later schema checks. Its raw declaration bytes do not invent a verified ProfileDeclarationIdentity.
A generated report, receipt, evidence envelope, or signature is not added to the submitted input. The work identity therefore stays constant as those outputs become available. Explicitly supplied evidence and trust bytes are already bound through SubmissionRecord. A signature's optional profile work identity names the original issuance work. It is not required to equal a later verify or replay operation's work identity.
Before replay evaluation, the host can decode the outer RequestRecord and keep input_bytes opaque. It can compute a candidate H value from those exact bytes and compare it with the expected receipt's request field. That check proves a serialized byte binding only. It does not create a verified InputIdentity or RequestIdentity. Replay verifies the expected receipt's requested evidence after that byte comparison. Only then does the authoritative canonical input decoder spend EvaluationLimits. Successful decoding completes InputIdentity and RequestIdentity verification before guest entry. An input decoding failure leaves both verified markers absent. There is no second host decoder and no transfer of canonical decoding work to the profile account.
Preparation request sealing consumes the fixed dependency witnesses described by the preparation report rule. A supplied expected_program is checked for the ProgramIdentity domain and canonical record shape. Equality with the prepared program belongs to the later requested comparison. Removing a disagreeing claim would change the request that was performed. A failure reporter retains an existing seal and does not start witness verification or hash work to fill an absent field.
Every row also requires complete bounded encoding and SHA-256 computation for that identity. A captured input or a decoded digest packet alone does not satisfy a row.
| Available validation | Verified identities that can be reported |
|---|---|
| Complete immutable operand capture and its completed digest | SubmissionIdentity |
| Complete exact source octets and their completed digest | SourceIdentity |
| Valid unique source name table and root | SourceBundleIdentity |
| Complete checked semantic contract definition | The matching typed ContractIdentity |
| Checked fixed library closure and enclosure | LibraryIdentity |
| Checked canonical module graph and dependency meanings | ModuleIdentity |
| Complete prepared graph and all fixed semantics | ProgramIdentity |
| Complete canonical input decoder success | InputIdentity |
| Complete preparation input, effective preparation limits, and verified fixed Unicode/library/resource-model witnesses | PrepareRequestIdentity |
| Program, canonical input, matching fixed semantics, and effective evaluation limits | RequestIdentity |
| Complete submission identity, operation-appropriate profile fields, matching checked host model and work contract, and effective host budget | ProfileWorkIdentity |
| Completed profile declaration validation | ProfileDeclarationIdentity |
| Canonical outcome or receipt packet with valid closed fields | OutcomeIdentity or ReceiptIdentity for that record |
An identity has no verified flag inside its digest packet. A report's verified marker records which of these checks completed. A caller's asserted identity, a decoded digest packet, and a recomputed semantic identity are distinct states. A report never promotes an asserted identity by copying a Boolean from submitted data. If a stage cannot complete capture, domain checks, encoding, or hashing, its identity field is absent and it has no verified marker. This applies to submission and source identities as well as semantic identities. A report can include a source member or source span only after that source identity is verified. The report format owns the reason for that absence.
Identity work uses the finite account of the stage that performs it. Profile checks use the separate profile host account. Neither this encoding nor a cached digest changes the canonical semantic event schedule. Tariff coefficients, allocation units, finite defaults, and physical envelopes remain with Resources.
Receipt record validation checks its own canonical fields and identity packet shapes. It does not establish that a claimed program ran or that a claimed request was valid. A receipt operand alone cannot verify the program or request preimages named inside it. It also cannot verify membership of a claimed site in an unavailable program. Verify therefore compares those recorded claims without adding them to verified semantic bindings. It can recompute the receipt identity from the complete canonical receipt packet. Requested signature verification then authenticates that exact record under the supplied trust policy.
A replay byte-binding comparison is distinct from a verified semantic request. The canonical input decoder remains authoritative for the inner input packet. Before a canonical input is accepted, malformed input uses admission and input.codec. Exhaustion before RequestIdentity exists uses admission and input.resource. The charged account remains EvaluationLimits under the diagnostic catalog.
For evaluate, operation-appropriate fields require the checked builtin profile contract and captured declaration bytes. For record-admission, the builtin profile contract is present and declaration bytes are absent. That operation performs the fixed record conversion without program schema or evidence qualification. For verify and replay, both are absent and no profile declaration identity is invented. Standalone receipt verification can therefore identify its host work without possessing the program or its library.
A finite capture or hash refusal keeps the phase and first cause selected by the diagnostic catalog. The absence of a submission identity does not turn that refusal into an operational failure. Incomplete input transport keeps its separate attempt-report boundary. A hash format overflow produces no digest and no verified marker. If an outcome already completed, later identity or report work preserves that outcome and its eligible receipt. A product never finishes a digest by exceeding its budget merely to populate a report field.
An empty source has exact identity bytes
lispex.example.v2.receipt-and-replay.identity-empty-source-vector · rev. 1
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed canonical library meaning",
"unicode": "the adopted Lispex Unicode 17.0.0 contract",
"resourceModel": "one fixed finite model declaration"
},
"limits": {
"prepare": "finite values sufficient for the stated checks",
"evaluate": "finite values sufficient for the stated evaluation",
"profile": "finite values sufficient for the stated host work"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operations": [
"identity"
],
"identityVector": {
"domain": "lispex.source/2",
"payload": {
"bytes_hex": ""
},
"preimage_hex": "6c69737065782e646174756d2f32005608080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a000000",
"digest_hex": "79573d971eb30e7869bd471916e633753b2d61e44dcc50bd90017ba1781021bf",
"identity_bytes_hex": "6c69737065782e646174756d2f320065080806066469676573740a2079573d971eb30e7869bd471916e633753b2d61e44dcc50bd90017ba1781021bf08080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"encoding": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"preimageHex": "6c69737065782e646174756d2f32005608080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a000000",
"digestHex": "79573d971eb30e7869bd471916e633753b2d61e44dcc50bd90017ba1781021bf",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a2079573d971eb30e7869bd471916e633753b2d61e44dcc50bd90017ba1781021bf08080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"verification": {
"sourceIdentityVerified": true,
"programIdentityVerified": false,
"evaluationInvoked": false
}
}Product invocation
Expected result
An empty source has exact identity bytes. Product invocation awaits its 2.0 adapter.
The expected bytes follow the Datum grammar and the SHA-256 formula. No Lispex product observation supplies this vector.
Identical octets keep distinct identity domains
lispex.example.v2.receipt-and-replay.identity-domain-separation · rev. 2
{
"notation": "documentation-request",
"operations": [
"identity"
],
"identityCases": [
{
"domain": "lispex.source/2",
"bytesHex": "00"
},
{
"domain": "lispex.artifact/2",
"artifactKind": "prepared",
"artifactFormat": "resolved/1",
"bytesHex": "00"
}
],
"vectors": "vectors.json",
"guestEvaluation": false,
"preparedValidation": false
}
Request and files
{
"notation": "documentation-datum-byte-recipe",
"jsonMapping": "A record object is R with unsigned UTF-8 sorted string keys; a vector object is #(...); bytevectorHex is the exact octets; other strings, exact integers and Booleans keep their Datum types. JSON null denotes the empty list only in this recipe. This notation is not another wire codec.",
"derivation": "Apply the Profiles lispex.datum/2 D/U/Z rules and the Identity encoding R/H tables to the literal inputs. Hash the complete framed IdentityInput with SHA-256. No implementation output is an input.",
"scope": "Complete byte vectors establish their stated local record and byte-binding properties. They do not supply missing semantic preimages, authenticate an issuer, or select production tariffs.",
"cases": [
{
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "00"
}
}
},
"preimageHex": "6c69737065782e646174756d2f32005708080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a01000000",
"digestHex": "a9ddfa4c7bd777566b75bf4a13176f6438fafef358cb44d7c35f1173b677adfc",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20a9ddfa4c7bd777566b75bf4a13176f6438fafef358cb44d7c35f1173b677adfc08080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
{
"domain": "lispex.artifact/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "00"
},
"format": "resolved/1",
"kind": "prepared"
}
},
"preimageHex": "6c69737065782e646174756d2f3200810108080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a010008080606666f726d6174060a7265736f6c7665642f31080806046b696e64060870726570617265640000",
"digestHex": "dd748c4d234c1a8d3dc5ca3f2934ea74158637810ea76fd45903874b1cff7b68",
"identityBytesHex": "6c69737065782e646174756d2f320067080806066469676573740a20dd748c4d234c1a8d3dc5ca3f2934ea74158637810ea76fd45903874b1cff7b6808080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
]
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"sourceAndArtifactIdentityEqual": false
},
"verification": {
"sourceIdentityVerified": true,
"artifactBytesIdentified": true,
"preparedProgramVerified": false,
"programIdentityVerified": false,
"evaluationInvoked": false
},
"encoding": {
"source": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "00"
}
}
},
"preimageHex": "6c69737065782e646174756d2f32005708080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a01000000",
"digestHex": "a9ddfa4c7bd777566b75bf4a13176f6438fafef358cb44d7c35f1173b677adfc",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20a9ddfa4c7bd777566b75bf4a13176f6438fafef358cb44d7c35f1173b677adfc08080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"artifact": {
"domain": "lispex.artifact/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "00"
},
"format": "resolved/1",
"kind": "prepared"
}
},
"preimageHex": "6c69737065782e646174756d2f3200810108080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a010008080606666f726d6174060a7265736f6c7665642f31080806046b696e64060870726570617265640000",
"digestHex": "dd748c4d234c1a8d3dc5ca3f2934ea74158637810ea76fd45903874b1cff7b68",
"identityBytesHex": "6c69737065782e646174756d2f320067080806066469676573740a20dd748c4d234c1a8d3dc5ca3f2934ea74158637810ea76fd45903874b1cff7b6808080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
"libraryOrResourceModelInputRequired": false
}Product invocation
Expected result
Identical octets keep distinct identity domains. Product invocation awaits its 2.0 adapter.
The exact one-octet input 00 is identified once as source bytes and once as a prepared artifact with format resolved/1. vectors.json includes both complete IdentityInput packets, SHA-256 digests, and IdentityBytes. The artifact bytes are not a prepared program and no semantic identity or evaluation is verified. Library and resource model placeholders are therefore absent from this byte comparison.
Both prepared encodings retain one program meaning
lispex.example.v2.receipt-and-replay.meaning-prepared-encoding · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define (rule input) input))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed canonical library meaning",
"unicode": "the adopted Lispex Unicode 17.0.0 contract",
"resourceModel": "one fixed finite model declaration"
},
"limits": {
"prepare": "finite values sufficient for the stated checks",
"evaluate": "finite values sufficient for the stated evaluation",
"profile": "finite values sufficient for the stated host work"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operations": [
"prepare",
"serialize-resolved",
"serialize-bytecode",
"validate",
"evaluate"
],
"requests": [
{
"input": {
"kind": "integer",
"value": "17"
}
}
]
}
17Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "17"
}
}17Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "17"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"canonicalProgramMeaningBytesEqual": true,
"programIdentityEqual": true,
"artifactIdentityEqual": false,
"requestIdentityEqual": true
}
}Product invocation
Expected result
Both prepared encodings retain one program meaning. Product invocation awaits its 2.0 adapter.
This is an authored 2.0 expectation. Product execution remains not-run.
An unrelated module does not rename a dependency meaning
lispex.example.v2.receipt-and-replay.module-identity-local-indices · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define (rule input) input))
(module fees
(import)
(export add-fee)
(define (add-fee amount) (+ amount 1)))
(module main
(import (fees add-fee))
(export rule)
(entry rule)
(define (rule input) (add-fee input)))
(module extra
(import)
(export value)
(define value 0))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed canonical library meaning",
"unicode": "the adopted Lispex Unicode 17.0.0 contract",
"resourceModel": "one fixed finite model declaration"
},
"limits": {
"prepare": "finite values sufficient for the stated checks",
"evaluate": "finite values sufficient for the stated evaluation",
"profile": "finite values sufficient for the stated host work"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operations": [
"prepare",
"compare-module-meaning"
],
"variants": [
{
"rootModule": "main",
"moduleSources": [
{
"name": "fees",
"source": "fees.scm"
},
{
"name": "main",
"source": "main.scm"
}
]
},
{
"rootModule": "main",
"moduleSources": [
{
"name": "extra",
"source": "extra.scm"
},
{
"name": "fees",
"source": "fees.scm"
},
{
"name": "main",
"source": "main.scm"
}
]
}
],
"comparisonModule": "fees"
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"dependencyMeaningBytesEqual": true,
"dependencyIdentityEqual": true,
"programIdentityEqual": false
},
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
An unrelated module does not rename a dependency meaning. Product invocation awaits its 2.0 adapter.
This is an authored 2.0 expectation. Product execution remains not-run.
Reader escapes keep one decoded module name
lispex.example.v2.receipt-and-replay.meaning-decoded-unicode-name · rev. 2
(module main
(import)
(export rule)
(entry rule)
(define (rule input) input))
(module |café| (import) (export rule) (entry rule) (define (rule input) input))
(module |caf\u{E9}| (import) (export rule) (entry rule) (define (rule input) input))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed canonical library meaning",
"unicode": "the adopted Lispex Unicode 17.0.0 contract",
"resourceModel": "one fixed finite model declaration"
},
"limits": {
"prepare": "finite values sufficient for the stated checks",
"evaluate": "finite values sufficient for the stated evaluation",
"profile": "finite values sufficient for the stated host work"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operations": [
"prepare",
"compare-meaning"
],
"variants": [
{
"rootModule": "café",
"moduleSources": [
{
"name": "café",
"source": "raw.scm"
}
]
},
{
"rootModule": "café",
"moduleSources": [
{
"name": "café",
"source": "escaped.scm"
}
]
}
],
"exactSourceIdentityVectors": "source-identities.json",
"concretization": "Only source identities are concrete here; the existing program/request comparison still quantifies over the same valid fixed library and model."
}
{
"notation": "documentation-datum-byte-recipe",
"jsonMapping": "A record object is R with unsigned UTF-8 sorted string keys; a vector object is #(...); bytevectorHex is the exact octets; other strings, exact integers and Booleans keep their Datum types. JSON null denotes the empty list only in this recipe. This notation is not another wire codec.",
"derivation": "Apply the Profiles lispex.datum/2 D/U/Z rules and the Identity encoding R/H tables to the literal inputs. Hash the complete framed IdentityInput with SHA-256. No implementation output is an input.",
"scope": "Complete byte vectors establish their stated local record and byte-binding properties. They do not supply missing semantic preimages, authenticate an issuer, or select production tariffs.",
"concretization": "source-identity-only",
"cases": [
{
"path": "source.scm",
"sourceBytesHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a",
"byteLength": 86,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200ac0108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0000",
"digestHex": "51954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef7554",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a2051954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef755408080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
{
"path": "raw.scm",
"sourceBytesHex": "286d6f64756c65207c636166c3a97c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a",
"byteLength": 81,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65207c636166c3a97c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200a70108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a51286d6f64756c65207c636166c3a97c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a0000",
"digestHex": "f6a599e58dcef9868d42730a3018ed7521bec763dd0e9c4b1d83b489f903ad69",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20f6a599e58dcef9868d42730a3018ed7521bec763dd0e9c4b1d83b489f903ad6908080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
{
"path": "escaped.scm",
"sourceBytesHex": "286d6f64756c65207c6361665c757b45397d7c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a",
"byteLength": 85,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65207c6361665c757b45397d7c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200ab0108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a55286d6f64756c65207c6361665c757b45397d7c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a0000",
"digestHex": "bc55726c91d8205d50a10880c3beab0d9edf4c3d8b3eeac5d5d9dfc6eee66eec",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20bc55726c91d8205d50a10880c3beab0d9edf4c3d8b3eeac5d5d9dfc6eee66eec08080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
}
],
"remaining": [
"fixed library meaning and identity",
"finite resource model definition and identity",
"canonical program and semantic request packets"
]
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"sourceIdentityEqual": false,
"canonicalProgramMeaningBytesEqual": true,
"programIdentityEqual": true
},
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false,
"exactSourceIdentityVectors": [
{
"path": "source.scm",
"sourceBytesHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a",
"byteLength": 86,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200ac0108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0000",
"digestHex": "51954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef7554",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a2051954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef755408080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
{
"path": "raw.scm",
"sourceBytesHex": "286d6f64756c65207c636166c3a97c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a",
"byteLength": 81,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65207c636166c3a97c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200a70108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a51286d6f64756c65207c636166c3a97c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a0000",
"digestHex": "f6a599e58dcef9868d42730a3018ed7521bec763dd0e9c4b1d83b489f903ad69",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20f6a599e58dcef9868d42730a3018ed7521bec763dd0e9c4b1d83b489f903ad6908080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
{
"path": "escaped.scm",
"sourceBytesHex": "286d6f64756c65207c6361665c757b45397d7c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a",
"byteLength": 85,
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65207c6361665c757b45397d7c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200ab0108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a55286d6f64756c65207c6361665c757b45397d7c2028696d706f72742920286578706f72742072756c65292028656e7472792072756c65292028646566696e65202872756c6520696e7075742920696e70757429290a0000",
"digestHex": "bc55726c91d8205d50a10880c3beab0d9edf4c3d8b3eeac5d5d9dfc6eee66eec",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20bc55726c91d8205d50a10880c3beab0d9edf4c3d8b3eeac5d5d9dfc6eee66eec08080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
}
],
"concretizationScope": "source-identity-only"
}Product invocation
Expected result
Reader escapes keep one decoded module name. Product invocation awaits its 2.0 adapter.
source-identities.json gives the exact UTF-8 octets, byte lengths, complete IdentityInput packets, independent SHA-256 digests, and IdentityBytes for each source spelling. This completes only the source-identity projection. The existing canonical program/request comparison still requires one valid fixed library and model; its symbolic dependencies have not been replaced by claimed verified identities. No implementation observation was used.
A distinct canonical binding name remains distinct
lispex.example.v2.receipt-and-replay.meaning-local-name-retained · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define (rule input) input))
(module main (import) (export rule) (entry rule) (define (rule input) input))
(module main (import) (export rule) (entry rule) (define (rule value) value))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed canonical library meaning",
"unicode": "the adopted Lispex Unicode 17.0.0 contract",
"resourceModel": "one fixed finite model declaration"
},
"limits": {
"prepare": "finite values sufficient for the stated checks",
"evaluate": "finite values sufficient for the stated evaluation",
"profile": "finite values sufficient for the stated host work"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operations": [
"prepare",
"compare-meaning"
],
"variants": [
{
"source": "left.scm",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "left.scm"
}
]
},
{
"source": "right.scm",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "right.scm"
}
]
}
]
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"programIdentityEqual": false,
"canonicalBindingNamesEqual": false
},
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
A distinct canonical binding name remains distinct. Product invocation awaits its 2.0 adapter.
This is an authored 2.0 expectation. Product execution remains not-run.
A host budget change keeps the semantic request
lispex.example.v2.receipt-and-replay.profile-work-effective-budget · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define (rule input) input))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed canonical library meaning",
"unicode": "the adopted Lispex Unicode 17.0.0 contract",
"resourceModel": "one fixed finite model declaration"
},
"limits": {
"prepare": "finite values sufficient for the stated checks",
"evaluate": "finite values sufficient for the stated evaluation",
"profile": "finite values sufficient for the stated host work"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operations": [
"prepare",
"evaluate",
"qualify"
],
"requests": [
{
"input": {
"kind": "integer",
"value": "7"
},
"profileHostBudget": {
"format": "lispex.profile-host-budget/2",
"resource_model": "verified fixture host ResourceModelIdentity",
"work": "W",
"allocation": "A",
"frames": "F",
"input": "I",
"report": "R",
"evidence": "E"
},
"profileHostBudgetConstraints": "one sufficient finite budget",
"fixtureParameterTypes": {
"W": "exact nonnegative integer",
"A": "exact nonnegative integer",
"F": "exact nonnegative integer",
"I": "exact nonnegative integer",
"R": "exact nonnegative integer",
"E": "exact nonnegative integer"
}
},
{
"input": {
"kind": "integer",
"value": "7"
},
"profileHostBudget": {
"format": "lispex.profile-host-budget/2",
"resource_model": "verified fixture host ResourceModelIdentity",
"work": "W",
"allocation": "A",
"frames": "F",
"input": "I",
"report": "R",
"evidence": "E"
},
"profileHostBudgetConstraints": "another sufficient finite budget with a different work value",
"fixtureParameterTypes": {
"W": "exact nonnegative integer",
"A": "exact nonnegative integer",
"F": "exact nonnegative integer",
"I": "exact nonnegative integer",
"R": "exact nonnegative integer",
"E": "exact nonnegative integer"
}
}
],
"budgetNotation": "The named W A F I R E parameters stand for finite exact integers that satisfy the separately stated fixture constraints. They are not serialized strings in a public budget record."
}
7Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "7"
}
}7Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "7"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"programIdentityEqual": true,
"inputIdentityEqual": true,
"requestIdentityEqual": true,
"profileWorkIdentityEqual": false,
"canonicalOutcomeEqual": true,
"portableReceiptBytesEqual": true
}
}Product invocation
Expected result
A host budget change keeps the semantic request. Product invocation awaits its 2.0 adapter.
This is an authored 2.0 expectation. Product execution remains not-run.
A duplicate module table has only captured provenance
lispex.example.v2.receipt-and-replay.identity-invalid-name-table · rev. 2
{
"notation": "documentation-request",
"operations": [
"capture",
"check-source-name-table"
],
"sourceBundlePacketHex": "6c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e00",
"submissionRecordPacketHex": "6c69737065782e646174756d2f3200c40308080606656e67696e65090008080606666f726d617406136c69737065782e7375626d697373696f6e2f32080806086f706572616e647309010808060562797465730ab1026c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e0008080604726f6c65060662756e646c6500080806096f7065726174696f6e0607707265706172650808060670726573657409000808060770726f6475637409000808060770726f66696c65090000",
"capturedSourceCopiesHex": [
"286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a",
"286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a"
],
"sourceNameTable": [
"main",
"main"
],
"rootModule": "main",
"vectors": "vectors.json",
"semanticDependencyChecksReached": false,
"sourceReadingRequested": false
}
Request and files
{
"notation": "documentation-datum-byte-recipe",
"jsonMapping": "A record object is R with unsigned UTF-8 sorted string keys; a vector object is #(...); bytevectorHex is the exact octets; other strings, exact integers and Booleans keep their Datum types. JSON null denotes the empty list only in this recipe. This notation is not another wire codec.",
"derivation": "Apply the Profiles lispex.datum/2 D/U/Z rules and the Identity encoding R/H tables to the literal inputs. Hash the complete framed IdentityInput with SHA-256. No implementation output is an input.",
"scope": "Complete byte vectors establish their stated local record and byte-binding properties. They do not supply missing semantic preimages, authenticate an issuer, or select production tariffs.",
"sourceBytesHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a",
"sourceIdentity": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200ac0108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0000",
"digestHex": "51954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef7554",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a2051954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef755408080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"sourceBundle": {
"datum": {
"record": {
"format": "lispex.source-bundle/2",
"modules": {
"vector": [
{
"record": {
"name": "main",
"source": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
},
{
"record": {
"name": "main",
"source": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
}
]
},
"root": "main"
}
},
"packetHex": "6c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e00"
},
"submission": {
"datum": {
"record": {
"engine": {
"vector": []
},
"format": "lispex.submission/2",
"operands": {
"vector": [
{
"record": {
"bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e00"
},
"role": "bundle"
}
}
]
},
"operation": "prepare",
"preset": {
"vector": []
},
"product": {
"vector": []
},
"profile": {
"vector": []
}
}
},
"packetHex": "6c69737065782e646174756d2f3200c40308080606656e67696e65090008080606666f726d617406136c69737065782e7375626d697373696f6e2f32080806086f706572616e647309010808060562797465730ab1026c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e0008080604726f6c65060662756e646c6500080806096f7065726174696f6e0607707265706172650808060670726573657409000808060770726f6475637409000808060770726f66696c65090000"
},
"submissionIdentity": {
"domain": "lispex.submission/2",
"payload": {
"record": {
"engine": {
"vector": []
},
"format": "lispex.submission/2",
"operands": {
"vector": [
{
"record": {
"bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e00"
},
"role": "bundle"
}
}
]
},
"operation": "prepare",
"preset": {
"vector": []
},
"product": {
"vector": []
},
"profile": {
"vector": []
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200920408080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606656e67696e65090008080606666f726d617406136c69737065782e7375626d697373696f6e2f32080806086f706572616e647309010808060562797465730ab1026c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e0008080604726f6c65060662756e646c6500080806096f7065726174696f6e0607707265706172650808060670726573657409000808060770726f6475637409000808060770726f66696c6509000000",
"digestHex": "0626f423dce01708c64ebe5e112d6fc943d846e4ada36134fb2c3859509ef8ce",
"identityBytesHex": "6c69737065782e646174756d2f320069080806066469676573740a200626f423dce01708c64ebe5e112d6fc943d846e4ada36134fb2c3859509ef8ce08080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"rejectedSourceBundleInput": {
"record": {
"root_module": "main",
"sources": {
"vector": [
{
"record": {
"module": "main",
"source": {
"record": {
"digest": {
"bytevectorHex": "51954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef7554"
},
"domain": "lispex.source/2",
"format": "lispex.identity/2"
}
}
}
},
{
"record": {
"module": "main",
"source": {
"record": {
"digest": {
"bytevectorHex": "51954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef7554"
},
"domain": "lispex.source/2",
"format": "lispex.identity/2"
}
}
}
}
]
}
}
},
"rejectedSourceBundleHashPublished": false
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"verification": {
"submissionIdentityVerified": true,
"sourceIdentityVerified": true,
"sourceBundleIdentityVerified": false,
"prepareRequestIdentityVerified": false,
"programIdentityVerified": false,
"requestIdentityVerified": false
},
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false,
"sourceBundlePacketHex": "6c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e00",
"submissionRecordPacketHex": "6c69737065782e646174756d2f3200c40308080606656e67696e65090008080606666f726d617406136c69737065782e7375626d697373696f6e2f32080806086f706572616e647309010808060562797465730ab1026c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e0008080604726f6c65060662756e646c6500080806096f7065726174696f6e0607707265706172650808060670726573657409000808060770726f6475637409000808060770726f66696c65090000",
"sourceIdentityEncoding": {
"domain": "lispex.source/2",
"payload": {
"record": {
"bytes": {
"bytevectorHex": "286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a"
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200ac0108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0000",
"digestHex": "51954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef7554",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a2051954f3985609490c54ae04488d4ab5b08f3afbd946490477cbef5e9adef755408080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"submissionIdentityEncoding": {
"domain": "lispex.submission/2",
"payload": {
"record": {
"engine": {
"vector": []
},
"format": "lispex.submission/2",
"operands": {
"vector": [
{
"record": {
"bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e00"
},
"role": "bundle"
}
}
]
},
"operation": "prepare",
"preset": {
"vector": []
},
"product": {
"vector": []
},
"profile": {
"vector": []
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200920408080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606656e67696e65090008080606666f726d617406136c69737065782e7375626d697373696f6e2f32080806086f706572616e647309010808060562797465730ab1026c69737065782e646174756d2f3200a00208080606666f726d617406166c69737065782e736f757263652d62756e646c652f32080806076d6f64756c65730902080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a00080806046e616d6506046d61696e08080606736f757263650a56286d6f64756c65206d61696e0a202028696d706f7274290a2020286578706f72742072756c65290a202028656e7472792072756c65290a202028646566696e65202872756c6520696e7075742920696e70757429290a0008080604726f6f7406046d61696e0008080604726f6c65060662756e646c6500080806096f7065726174696f6e0607707265706172650808060670726573657409000808060770726f6475637409000808060770726f66696c6509000000",
"digestHex": "0626f423dce01708c64ebe5e112d6fc943d846e4ada36134fb2c3859509ef8ce",
"identityBytesHex": "6c69737065782e646174756d2f320069080806066469676573740a200626f423dce01708c64ebe5e112d6fc943d846e4ada36134fb2c3859509ef8ce08080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"sourceNameTable": [
"main",
"main"
],
"sourceBundleIdentityPacketProduced": false
}Product invocation
Expected result
A duplicate module table has only captured provenance. Product invocation awaits its 2.0 adapter.
The fixture contains a complete canonical SourceBundle packet with two adjacent main names, each carrying the same explicitly captured source bytes. Equal adjacent names are representable by the source-bundle wire contract and fail the separate uniqueness check. vectors.json includes the complete source and SubmissionRecord identity preimages, digests, and identity packets. No SourceBundleIdentity is emitted for the duplicate table. No library, Unicode, model, preparation request, or program witness is invented before the name-table check succeeds.
Identity decoding rejects alternate record shapes
lispex.example.v2.receipt-and-replay.identity-record-rejections · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define (rule input) input))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed canonical library meaning",
"unicode": "the adopted Lispex Unicode 17.0.0 contract",
"resourceModel": "one fixed finite model declaration"
},
"limits": {
"prepare": "finite values sufficient for the stated checks",
"evaluate": "finite values sufficient for the stated evaluation",
"profile": "finite values sufficient for the stated host work"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operations": [
"decode-identity"
],
"mutations": [
{
"case": "digest-width",
"digestOctets": 31
},
{
"case": "unknown-domain",
"domain": "lispex.unknown/2"
},
{
"case": "unordered-fields",
"keys": [
"format",
"domain",
"digest"
]
},
{
"case": "extra-field",
"extra": "verified"
}
]
}
{"kind":"admission-refusal","phase":"admission","code":"request.invalid","data":{"field":"identity.digest","reason":"invalid-value"},"canonicalOutcomeProduced":false,"evaluationReceiptEligible":false}Outcome details
{
"kind": "admission-refusal",
"phase": "admission",
"code": "request.invalid",
"data": {
"field": "identity.digest",
"reason": "invalid-value"
},
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}{"kind":"admission-refusal","phase":"admission","code":"request.invalid","data":{"field":"identity.domain","reason":"invalid-value"},"canonicalOutcomeProduced":false,"evaluationReceiptEligible":false}Outcome details
{
"kind": "admission-refusal",
"phase": "admission",
"code": "request.invalid",
"data": {
"field": "identity.domain",
"reason": "invalid-value"
},
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}{"kind":"admission-refusal","phase":"admission","code":"request.invalid","data":{"field":"identity.record","reason":"invalid-value"},"canonicalOutcomeProduced":false,"evaluationReceiptEligible":false}Outcome details
{
"kind": "admission-refusal",
"phase": "admission",
"code": "request.invalid",
"data": {
"field": "identity.record",
"reason": "invalid-value"
},
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}{"kind":"admission-refusal","phase":"admission","code":"request.invalid","data":{"field":"identity.record","reason":"invalid-value"},"canonicalOutcomeProduced":false,"evaluationReceiptEligible":false}Outcome details
{
"kind": "admission-refusal",
"phase": "admission",
"code": "request.invalid",
"data": {
"field": "identity.record",
"reason": "invalid-value"
},
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
Identity decoding rejects alternate record shapes. Product invocation awaits its 2.0 adapter.
The named identity decoder reports request.invalid with the failed identity field. The four observations follow the fixture mutation order.
Compare exact request bytes before semantic verification
lispex.example.v2.receipt-and-replay.candidate-request-byte-comparison · rev. 1
{
"notation": "documentation-request",
"operation": "candidate-request-byte-comparison",
"candidateRequestPacketsHex": [
"6c69737065782e646174756d2f32008605080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03c8010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"6c69737065782e646174756d2f32008605080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03ca010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
],
"semanticVerificationRequested": false,
"vectors": "vectors.json"
}
Request and files
{
"notation": "documentation-datum-byte-recipe",
"jsonMapping": "A record object is R with unsigned UTF-8 sorted string keys; a vector object is #(...); bytevectorHex is the exact octets; other strings, exact integers and Booleans keep their Datum types. JSON null denotes the empty list only in this recipe. This notation is not another wire codec.",
"derivation": "Apply the Profiles lispex.datum/2 D/U/Z rules and the Identity encoding R/H tables to the literal inputs. Hash the complete framed IdentityInput with SHA-256. No implementation output is an input.",
"scope": "Complete byte vectors establish their stated local record and byte-binding properties. They do not supply missing semantic preimages, authenticate an issuer, or select production tariffs.",
"unicodeContract": {
"domain": "lispex.contract/2",
"payload": {
"record": {
"definition": {
"record": {
"format": "lispex.unicode/2",
"language": "2.0",
"unicode_version": "17.0.0"
}
},
"kind": "unicode",
"name": "lispex.unicode/2"
}
},
"preimageHex": "6c69737065782e646174756d2f3200cf0108080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060a646566696e6974696f6e08080606666f726d617406106c69737065782e756e69636f64652f32080806086c616e67756167650603322e300808060f756e69636f64655f76657273696f6e060631372e302e3000080806046b696e640607756e69636f6465080806046e616d6506106c69737065782e756e69636f64652f320000",
"digestHex": "4b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd28",
"identityBytesHex": "6c69737065782e646174756d2f320067080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"claimedInputs": {
"program": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"library": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "4242424242424242424242424242424242424242424242424242424242424242"
},
"domain": "lispex.library/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"resourceModel": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "5353535353535353535353535353535353535353535353535353535353535353"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320067080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
"input": {
"datum": 9,
"packetHex": "6c69737065782e646174756d2f3200020312"
},
"cases": [
{
"work": 100,
"request": {
"datum": {
"record": {
"evaluation_limits": {
"record": {
"allocation": 64,
"diagnostic": 2048,
"frames": 8,
"input": 64,
"result": 64,
"work": 100
}
},
"format": "lispex.request/2",
"input_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200020312"
},
"language": "2.0",
"library": {
"record": {
"digest": {
"bytevectorHex": "4242424242424242424242424242424242424242424242424242424242424242"
},
"domain": "lispex.library/2",
"format": "lispex.identity/2"
}
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"resource_model": {
"record": {
"digest": {
"bytevectorHex": "5353535353535353535353535353535353535353535353535353535353535353"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
},
"unicode": {
"record": {
"digest": {
"bytevectorHex": "4b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd28"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f32008605080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03c8010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"candidateIdentity": {
"domain": "lispex.request/2",
"payload": {
"record": {
"evaluation_limits": {
"record": {
"allocation": 64,
"diagnostic": 2048,
"frames": 8,
"input": 64,
"result": 64,
"work": 100
}
},
"format": "lispex.request/2",
"input_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200020312"
},
"language": "2.0",
"library": {
"record": {
"digest": {
"bytevectorHex": "4242424242424242424242424242424242424242424242424242424242424242"
},
"domain": "lispex.library/2",
"format": "lispex.identity/2"
}
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"resource_model": {
"record": {
"digest": {
"bytevectorHex": "5353535353535353535353535353535353535353535353535353535353535353"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
},
"unicode": {
"record": {
"digest": {
"bytevectorHex": "4b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd28"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200d10508080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f6164080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03c8010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "9e245a188c6ea861c09b9c1e8c286e2d96e94e2858042f59962c34018f2dd67c",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a209e245a188c6ea861c09b9c1e8c286e2d96e94e2858042f59962c34018f2dd67c08080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
{
"work": 101,
"request": {
"datum": {
"record": {
"evaluation_limits": {
"record": {
"allocation": 64,
"diagnostic": 2048,
"frames": 8,
"input": 64,
"result": 64,
"work": 101
}
},
"format": "lispex.request/2",
"input_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200020312"
},
"language": "2.0",
"library": {
"record": {
"digest": {
"bytevectorHex": "4242424242424242424242424242424242424242424242424242424242424242"
},
"domain": "lispex.library/2",
"format": "lispex.identity/2"
}
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"resource_model": {
"record": {
"digest": {
"bytevectorHex": "5353535353535353535353535353535353535353535353535353535353535353"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
},
"unicode": {
"record": {
"digest": {
"bytevectorHex": "4b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd28"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f32008605080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03ca010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"candidateIdentity": {
"domain": "lispex.request/2",
"payload": {
"record": {
"evaluation_limits": {
"record": {
"allocation": 64,
"diagnostic": 2048,
"frames": 8,
"input": 64,
"result": 64,
"work": 101
}
},
"format": "lispex.request/2",
"input_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200020312"
},
"language": "2.0",
"library": {
"record": {
"digest": {
"bytevectorHex": "4242424242424242424242424242424242424242424242424242424242424242"
},
"domain": "lispex.library/2",
"format": "lispex.identity/2"
}
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"resource_model": {
"record": {
"digest": {
"bytevectorHex": "5353535353535353535353535353535353535353535353535353535353535353"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
},
"unicode": {
"record": {
"digest": {
"bytevectorHex": "4b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd28"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200d10508080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f6164080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03ca010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "f0d3f04c72eab68e85c8ddc701e0aa0d7a25c0ee75fd455cc02a68d896e8f9e2",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20f0d3f04c72eab68e85c8ddc701e0aa0d7a25c0ee75fd455cc02a68d896e8f9e208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
}
]
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"inputPacketHex": "6c69737065782e646174756d2f3200020312",
"candidateRequestRecords": [
{
"datum": {
"record": {
"evaluation_limits": {
"record": {
"allocation": 64,
"diagnostic": 2048,
"frames": 8,
"input": 64,
"result": 64,
"work": 100
}
},
"format": "lispex.request/2",
"input_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200020312"
},
"language": "2.0",
"library": {
"record": {
"digest": {
"bytevectorHex": "4242424242424242424242424242424242424242424242424242424242424242"
},
"domain": "lispex.library/2",
"format": "lispex.identity/2"
}
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"resource_model": {
"record": {
"digest": {
"bytevectorHex": "5353535353535353535353535353535353535353535353535353535353535353"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
},
"unicode": {
"record": {
"digest": {
"bytevectorHex": "4b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd28"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f32008605080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03c8010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
{
"datum": {
"record": {
"evaluation_limits": {
"record": {
"allocation": 64,
"diagnostic": 2048,
"frames": 8,
"input": 64,
"result": 64,
"work": 101
}
},
"format": "lispex.request/2",
"input_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200020312"
},
"language": "2.0",
"library": {
"record": {
"digest": {
"bytevectorHex": "4242424242424242424242424242424242424242424242424242424242424242"
},
"domain": "lispex.library/2",
"format": "lispex.identity/2"
}
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"resource_model": {
"record": {
"digest": {
"bytevectorHex": "5353535353535353535353535353535353535353535353535353535353535353"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
},
"unicode": {
"record": {
"digest": {
"bytevectorHex": "4b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd28"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f32008605080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03ca010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
}
],
"candidateRequestIdentities": [
{
"domain": "lispex.request/2",
"payload": {
"record": {
"evaluation_limits": {
"record": {
"allocation": 64,
"diagnostic": 2048,
"frames": 8,
"input": 64,
"result": 64,
"work": 100
}
},
"format": "lispex.request/2",
"input_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200020312"
},
"language": "2.0",
"library": {
"record": {
"digest": {
"bytevectorHex": "4242424242424242424242424242424242424242424242424242424242424242"
},
"domain": "lispex.library/2",
"format": "lispex.identity/2"
}
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"resource_model": {
"record": {
"digest": {
"bytevectorHex": "5353535353535353535353535353535353535353535353535353535353535353"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
},
"unicode": {
"record": {
"digest": {
"bytevectorHex": "4b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd28"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200d10508080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f6164080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03c8010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "9e245a188c6ea861c09b9c1e8c286e2d96e94e2858042f59962c34018f2dd67c",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a209e245a188c6ea861c09b9c1e8c286e2d96e94e2858042f59962c34018f2dd67c08080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
{
"domain": "lispex.request/2",
"payload": {
"record": {
"evaluation_limits": {
"record": {
"allocation": 64,
"diagnostic": 2048,
"frames": 8,
"input": 64,
"result": 64,
"work": 101
}
},
"format": "lispex.request/2",
"input_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200020312"
},
"language": "2.0",
"library": {
"record": {
"digest": {
"bytevectorHex": "4242424242424242424242424242424242424242424242424242424242424242"
},
"domain": "lispex.library/2",
"format": "lispex.identity/2"
}
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"resource_model": {
"record": {
"digest": {
"bytevectorHex": "5353535353535353535353535353535353535353535353535353535353535353"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
},
"unicode": {
"record": {
"digest": {
"bytevectorHex": "4b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd28"
},
"domain": "lispex.contract/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200d10508080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f6164080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03ca010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "f0d3f04c72eab68e85c8ddc701e0aa0d7a25c0ee75fd455cc02a68d896e8f9e2",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20f0d3f04c72eab68e85c8ddc701e0aa0d7a25c0ee75fd455cc02a68d896e8f9e208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
],
"candidateRequestDigestHex": [
"9e245a188c6ea861c09b9c1e8c286e2d96e94e2858042f59962c34018f2dd67c",
"f0d3f04c72eab68e85c8ddc701e0aa0d7a25c0ee75fd455cc02a68d896e8f9e2"
],
"canonicalRequestPacketsHex": [
"6c69737065782e646174756d2f32008605080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03c8010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"6c69737065782e646174756d2f32008605080806116576616c756174696f6e5f6c696d6974730808060a616c6c6f636174696f6e0380010808060a646961676e6f73746963038020080806066672616d6573031008080605696e70757403800108080606726573756c7403800108080604776f726b03ca010008080606666f726d617406106c69737065782e726571756573742f320808060b696e7075745f62797465730a126c69737065782e646174756d2f3200020312080806086c616e67756167650603322e30080806076c696272617279080806066469676573740a20424242424242424242424242424242424242424242424242424242424242424208080606646f6d61696e06106c69737065782e6c6962726172792f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060e7265736f757263655f6d6f64656c080806066469676573740a20535353535353535353535353535353535353535353535353535353535353535308080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080607756e69636f6465080806066469676573740a204b8868fc8eee21316045e4d19ed2ecbef093febc1ba34ec4a1f65f5e44e6cd2808080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
],
"comparison": {
"programClaimEqual": true,
"inputBytesEqual": true,
"libraryClaimEqual": true,
"modelClaimEqual": true,
"canonicalRequestBytesEqual": false,
"candidateRequestIdentityEqual": false
},
"verification": {
"inputDatumLocallyValid": true,
"unicodeDefinitionSupplied": true,
"programPreimageSupplied": false,
"libraryPreimageSupplied": false,
"resourceModelDefinitionSupplied": false,
"verifiedProgramMarkerPresent": false,
"verifiedRequestMarkerPresent": false,
"evaluationInvoked": false
},
"productionResourceModelSelected": false,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
The two fully specified candidate RequestRecord packets differ only in work=100 versus work=101 and yield different SHA-256 bindings. Missing semantic preimages leave both RequestIdentity verified markers absent. Product invocation awaits its 2.0 adapter.
The literal request records use complete finite Nat limits and complete identity packets. D/R/U/Z and SHA-256 determine every byte independently. The program, library, and model packets are concrete claims without their semantic preimages. Their presence permits a candidate byte-binding comparison and creates no verified RequestIdentity. The supplied Unicode definition is the exact existing contract. The work values 100 and 101 are fixture inputs, not published tariffs, defaults, or a promise that evaluation fits.
Canonical outcome
A canonical outcome records what happened to the rule evaluation. Success contains exactly one Datum. A deterministic failure contains its stable phase, code, and typed data. A resource failure also identifies its exhausted axis.
An evaluation failure uses a stable site in the canonical program. Source paths, line numbers, translated messages, and stacks are presentation data. CLI and diagnostics defines their presentation. A failure before canonical code exists is recorded against the exact source instead.
11.7 Compare the complete semantic outcome
A successful evaluation returns one datum. A deterministic failure records its stable phase, code, typed parameters, and canonical program site. A resource failure also records the exhausted axis. Human messages, source coordinates, host paths, and stacks remain outside the canonical outcome.
Why
A display setting must not change which failure occurred. Stable data lets callers compare results across products. The canonical outcome stays separate from execution evidence.
The same failure with different presentation
lispex.example.v2.receipt-and-replay.failure-presentation · rev. 1
(module main
(import)
(export first-item)
(entry first-item)
(define first-item
(lambda (items)
(car items)))
)
(module main
(import)
(export first-item)
(entry first-item)
(define first-item
(lambda (items)
(car items)))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"source": "source.scm",
"input": {
"kind": "list",
"items": []
},
"displayContext": "first host path and locale",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
},
{
"source": "spaced.scm",
"input": {
"kind": "list",
"items": []
},
"displayContext": "different host path and locale",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "spaced.scm"
}
]
}
],
"comparison": "Keep the canonical program and request fixed. Change only whitespace, source mapping, host paths, and display locale.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
{"category":"domain","operation":"car","required":"pair","received":"empty-list"}Outcome details
{
"kind": "language-failure",
"valueCount": 0,
"condition": {
"category": "domain",
"operation": "car",
"required": "pair",
"received": "empty-list"
}
}{"category":"domain","operation":"car","required":"pair","received":"empty-list"}Outcome details
{
"kind": "language-failure",
"valueCount": 0,
"condition": {
"category": "domain",
"operation": "car",
"required": "pair",
"received": "empty-list"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"canonicalOutcomeEqual": true,
"failurePhaseEqual": true,
"failureCodeEqual": true,
"typedParametersEqual": true,
"canonicalSiteEqual": true,
"displayContextInCanonicalOutcome": false
}
}Product invocation
Expected result
Both evaluations fail because car requires a pair. Their complete canonical failures are equal despite the presentation changes. Product invocation awaits its 2.0 adapter.
The diagnostic catalog supplies the concrete phase, code, payload, and site representation. The plan compares those fields when that contract exists. Source line numbers remain presentation data.
11.8 Bind early preparation failures to their source
A read or normalization failure before canonical code exists produces a source-bound preparation report. Include the exact source identity only after its bounded identity computation completed; otherwise leave that binding absent and preserve the first diagnostic. The report does not invent a program identity or a canonical evaluation site. Source coordinates belong to the report for that source.
When the source identity is computed, retain the exact original byte length with its local verification witness. A whole-member span uses byte_start = 0 and that retained byte length as byte_end. It counts original UTF-8 octets and line endings before decoding or normalization. Check both bounds against that witness without rereading the failed source or allocating a replacement source copy. Use exact natural arithmetic independent of host word width. A received source digest and claimed length alone remain assertions; a separate verifier needs the exact preimage and its own finite validation account to establish them.
Why
An unreadable source has no resolved program to identify. Keeping its source binding preserves the evidence needed to diagnose it. Exact source stays distinct from canonical code.
Keeping the original extent with the source witness makes failure reporting independent of a mutable file, a stopped source stream, or normalized text. The length is local verification data; it adds no field to Identity or PrepareReport.
A preparation failure before program identity exists
lispex.example.v2.receipt-and-replay.unclosed-source · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to read the submitted source and report its unclosed form",
"evaluate": "finite values for the requested evaluation"
},
"requests": [
{
"input": {
"kind": "integer",
"value": "42"
}
}
],
"preparation": "Report the unclosed form before producing canonical code or invoking an entry.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"prepareReport": {
"kind": "source-bound-failure",
"phase": "read",
"condition": {
"category": "syntax",
"required": "complete-form"
},
"sourceIdentityAvailable": true,
"programIdentityAvailable": false,
"canonicalEvaluationSiteAvailable": false,
"entryEvaluated": false
}
}Product invocation
Expected result
The unclosed form produces a preparation report bound to the exact source. No canonical program identity exists and the entry is not evaluated. Product invocation awaits its 2.0 adapter.
The read failure is an authored semantic expectation. Its final code and preparation report bytes follow their pending contracts. The report never claims an evaluation outcome for a nonexistent canonical program.
11.9 Canonical outcome fields
Encode an outcome with the closed record below. A value outcome contains exactly one Datum. A failure outcome contains the complete diagnostic and a qualified canonical site. Its phase is evaluate. Use the existing diagnostic catalog without coercion or renamed codes. The site program must equal the verified program for the request. Malformed input before a request identity exists produces an admission report. Operational failures use an attempt report. Both retain their existing phase boundaries.
Why
A typed value keeps exact numbers and aggregate shape. A qualified site identifies the same semantic failure across products. Separate reports prevent an incomplete attempt from becoming an evaluation result.
11.10 Portable receipt bytes
A receipt contains its program identity, semantic request identity, and exact canonical outcome packet. Receipt decoding validates its own fields and nested packet shapes. A failure site must name the receipt program. When complete program and request operands are available, check their bindings and site membership too. A receipt operand alone does not verify those preimages. Standalone verify compares the recorded program and request assertions. An admitted receipt has one complete canonical encoding. A value, an uncaught language failure, and a deterministic resource stop are eligible. Admission and preparation reports are not eligible. Preserve the completed receipt when qualification, evidence, or delivery later fails.
Why
The receipt records the semantic result under the complete request. It remains portable when the product, engine, signer, cache, or host presentation changes.
11.11 Preparation report fields
Preparation returns the source report below for success or a deterministic preparation failure. Include a submission identity only after complete capture and bounded identity computation succeed. A preparation request needs immutable verified witnesses for its fixed Unicode, library, and resource model. Bind those witnesses to the performed preparation input and complete finite limits before sealing the request. Before those witnesses or the bounded request hash complete, prepare_request is absent. Reusing an already verified immutable dependency is permitted; copying a received identity record is insufficient. Preserve a completed request seal if a later preparation check fails. Include a program identity only after complete program verification succeeds. A failure in one source member identifies that source only after its identity computation succeeds. The canonical span covers the whole original source member using its retained exact byte length. Reporting performs no new source read, identity hash, or dependency check after the first failure. An unavailable identity never replaces that diagnostic. No preparation failure receives an evaluation site or evaluation receipt.
Why
Complete source bytes can remain identifiable when decoding or reading fails. Bounded hashing must finish before a report claims that binding. Whole member spans give every product the same source binding without making editor coordinates part of program meaning.
Fixed dependency witnesses can exist before the complete program. A read failure therefore leaves prepare_request absent when no seal exists, but preserves a seal already completed for that same immutable request. Neither a diagnostic quotation nor a received verified array supplies those witnesses.
11.12 One command result packet
Every CLI or direct host result that emits a report uses one complete packet from the table below. Select its numeric status through the exit mapping. Secure the complete emergency payload and outer framing before normal work. Serialize the packet before publishing it. Keep trace status and optional trace bytes in the separate outer trace field. Keep eligible outcome and receipt packets in the result even when a later report records refusal or interruption. The receipt output file contains exactly the same receipt packet. A process killed before reporting has no completed command record. Product labels, human messages, paths, and counters are not canonical result fields.
Once the first primary-channel octet is delivered, freeze the complete selected packet and its serialized status. Continue only with unchanged bytes of that same packet where delivery can continue. Report a later interruption through the existing transport or process error boundary. A status 50 replacement is eligible only with confirmed zero delivery, no pending write, and a complete canonical candidate preserving every completed component. The command/CLI completion classification follows the existing exit mapping. A complete ABI reply retains transport success 0.
Why
One envelope gives all products the same command boundary. Distinct report slots preserve the first completed semantic result and the later host failure.
Selected packet bytes are immutable and stay separate from later transport completion. Confirmed zero with no pending write prevents two replies from reaching one primary channel.
The common record notation and identity records come from Identity encoding. Each named byte form is one complete lispex.datum/2 packet.
| Form | Exact shape |
|---|---|
Diagnostic | R{phase=PhaseTag, code=Text, data=DiagnosticData} |
DiagnosticPayloadBytes | D(Diagnostic) |
DiagnosticRecord | R{format="lispex.diagnostic/2", diagnostic=Diagnostic} |
DiagnosticBytes | D(DiagnosticRecord) |
QualifiedSite | R{program=ProgramIdentity, local=Bytevector(CanonicalSiteBytes)} |
ValueOutcome | R{format="lispex.outcome/2", kind="value", value=Datum} |
FailureOutcome | R{format="lispex.outcome/2", kind="failure", diagnostic=Diagnostic, site=QualifiedSite} |
Outcome | ValueOutcome | FailureOutcome |
CanonicalOutcomeBytes | D(Outcome) |
Receipt | R{format="lispex.receipt/2", program=ProgramIdentity, request=RequestIdentity, outcome_bytes=Bytevector(CanonicalOutcomeBytes)} |
PortableReceiptBytes | D(Receipt) |
ReceiptIdentity | H("lispex.receipt/2", Receipt) |
| Diagnostic field form | Datum encoding |
|---|---|
| Exact object | R with exactly the declared string keys |
| Array | Vector in the declared order |
| Nat or Integer | The exact decimal string required by Diagnostics |
| DatumBytes | The exact lowercase hexadecimal string required by Diagnostics |
| Identity | The nested Identity record |
| Text, enum, or Boolean | The same string or Boolean |
| DataPath | A vector of the declared tagged R records |
The typed fields keep their existing values and checks. Only the enclosing object and array representations are supplied here. DiagnosticPayloadBytes includes its own complete Datum framing. It contains the typed diagnostic alone. DiagnosticBytes adds the standalone diagnostic record and its format field. Resource diagnostic channels and terminal causes use DiagnosticPayloadBytes. Surrounding reports import Diagnostic as a record value when their field is not bytes. CanonicalSiteBytes follows the site contract. It is program local. QualifiedSite adds the program identity outside those local bytes.
| Outcome check | Requirement |
|---|---|
| Value | Exactly format, kind, and value |
| Failure | Exactly format, kind, diagnostic, and site |
| Failure phase | evaluate |
| Failure code | An evaluation row from the diagnostic catalog |
| Resource failure | resource.exhausted with its complete stage, axis, and event data |
| Receipt program with a verified request operand | Equal to that request program |
| Receipt request with a complete recorded request operand | Equal to its recomputed candidate byte binding. A verified marker also requires canonical input validation |
| Failure site program | Equal to the receipt program |
| Receipt outcome packet | Complete canonical closed fields and canonical site encoding. Check site membership when the program is available |
Admission checks packet framing before record shape. It then checks fields in unsigned UTF-8 key order. It checks nested packets when reaching their field. It completes local type checks before cross field identity checks. Cross field checks follow program, request, then outcome. A receipt alone verifies its own record identity. Its nested program and request identities remain recorded assertions until their preimages are checked. Unknown diagnostic identities use artifact.invalid with unknown-diagnostic. Other format defects use artifact.invalid with invalid-format. An inconsistent supplied identity uses artifact.invalid with identity-mismatch. All three use phase admission and the catalog artifact kind.
Preparation work, profile work, evidence, elapsed time, and work_used are absent from Receipt. There is no success-only receipt filter.
| Form | Exact shape |
|---|---|
VerifiedIdentity | the verified identity marker from Admission reports |
SourceSpan | R{source=SourceIdentity, byte_start=0, byte_end=Nat} |
PrepareReport | R{format="lispex.prepare-report/2", status=PrepareStatus, submission=Option(SubmissionIdentity), prepare_request=Option(PrepareRequestIdentity), sources=Vector(SourceMember), program=Option(ProgramIdentity), verified=Vector(VerifiedIdentity), diagnostic=Option(Diagnostic), source_span=Option(SourceSpan)} |
SourceMember | R{module=Text, source=SourceIdentity} |
PrepareStatus | "prepared" | "failed" |
PrepareReportBytes | D(PrepareReport) |
| Field | Requirement |
|---|---|
| submission | Present only after complete immutable capture and bounded identity computation succeed |
| prepare_request | Present only after input and limits validation, verified fixed Unicode/library/model witnesses, and bounded request hashing complete; otherwise absent |
| sources | Verified source members in module name UTF-8 order |
| sources before a valid source name table | Empty vector |
| program on prepared | Present and verified |
| program on failed | Absent |
| diagnostic on prepared | Absent |
| diagnostic on failed | One existing decode, read, normalize, resolve, or prepare diagnostic |
| source_span for a failure in one verified source member | Present with that member identity and exact byte length |
| source_span for a whole bundle failure or prepared input | Absent |
| byte_start | Zero |
| byte_end | Exact original source byte length retained with the source witness |
| verified | Only completed identity checks under the separate marker rule |
Member selection follows the existing preparation order. The span identifies original source bytes before UTF-8 decoding. The report has no invented program identity after a read failure. Source paths, line numbers, and columns are host presentation linked to this source span. A complete captured operand can still have no computed identity. Sources includes only source identities whose bounded computations completed. Omit a source span if its source identity is unavailable. A missing submission or source identity does not change the original phase or first diagnostic. Incomplete input transport uses the separate attempt report.
SourceSpan validation uses the retained original extent. It performs no post-failure source traversal, decoding, rehash, or copy allocation. The SourceIdentity wire record carries no byte length. A received source_span and verified marker do not establish the original extent without the corresponding verified source preimage.
| Form | Exact shape |
|---|---|
Command | "prepare" | "run" | "verify" | "graph" | "replay" |
Payload | R{kind=PayloadKind, bytes=Bytevector} |
PayloadKind | "prepared" | "outcome" | "verification" | "graph" | "replay" | "input" |
Reports | R{preparation=Option(PrepareReport), admission=Option(AdmissionReport), profile=Option(ProfileWorkReport), evidence=Option(EvidenceVerificationRecord), attempt=Option(AttemptReport), terminal=Option(Bytevector(EmergencyTerminalBytes))} |
CommandResult | R{format="lispex.command-result/2", command=Option(Command), status=Nat, payload=Option(Payload), receipt=Option(Bytevector(PortableReceiptBytes)), reports=Reports, trace=Option(TraceReport)} |
CommandResultBytes | D(CommandResult) |
TraceReport | R{status=TraceStatus, bytes=Option(Bytevector(TraceBytes))} |
TraceStatus | The String for a host trace status |
AttemptReport | R{format="lispex.attempt-report/2", command=Option(Command), submission=Option(SubmissionIdentity), stage=PhaseTag, diagnostic=Diagnostic, verified=Vector(VerifiedIdentity)} |
AttemptReportBytes | D(AttemptReport) |
| Command result | Primary payload |
|---|---|
| prepare succeeds | prepared with the selected prepared program packet |
| run completes evaluation | outcome with CanonicalOutcomeBytes |
| verify compares admitted receipts | verification with ComparisonReportBytes |
| graph succeeds | graph with the named graph packet |
| replay compares completed evaluation | replay with ComparisonReportBytes |
| replay completes evaluation but later host work stops comparison | outcome with CanonicalOutcomeBytes |
| Any command before a primary payload exists | Absent |
Direct host calls use the same envelope with an empty command option. The Command enum names only CLI commands. Host operation names do not extend it.
| Host operation | Successful primary payload | Reports and receipt |
|---|---|---|
| Open | Absent | Status 0 and no receipt. The typed result separately returns its local Product |
| Build | No command packet | The typed result returns its local constructed value |
| prepare or load | prepared with PreparedArtifactBytes | Preparation report and no receipt |
| evaluate or profile evaluation | outcome with CanonicalOutcomeBytes | Eligible receipt and any required profile report |
| export | prepared with PreparedArtifactBytes | No new preparation request or evaluation receipt |
| graph | graph with GraphBytes | No evaluation receipt |
| record admission | input with CanonicalInputBytes | No evaluation outcome or receipt |
A refused Open or Build returns CommandResultBytes with an admission report. Other direct calls use the report for their actual failing phase. Open, Build, and export leave submission absent when no defined SubmissionRecord applies. They create no substitute submission identity. Export failure during its preparation account uses a failed preparation report. Its prepare_request remains absent. A successful export does not claim to seal or prepare another program.
Prepared and graph payload bytes retain their own formats. The enclosing command record still uses lispex.datum/2. Every other payload bytevector contains the complete named Datum packet.
| Report slot | Presence |
|---|---|
| preparation | Whenever preparation or loading completes, or a preparation-account export fails |
| admission | When an admission refusal ends the operation |
| profile | Whenever required qualification or evidence work completes or refuses after evaluation |
| evidence | When standalone verify or replay checks supplied evidence |
| attempt | When invocation, ingestion, render, or host activity fails. Also when standalone verify or replay host work exhausts its verification budget |
| terminal | The complete EmergencyTerminalBytes when reserved emergency reporting supplies the final failure payload |
A slot contains at most one report. The terminal slot imports the emergency terminal schema. It is the final failure payload in Reports. If normal reporting cannot complete within its account, that unfinished slot is absent. The terminal payload retains the complete first cause and location. Already completed report slots, outcome bytes, and receipt bytes remain unchanged. The outer status follows the existing diagnostic phase mapping. A terminal payload does not create an evaluation receipt.
The outer trace option is separate from Reports, Outcome, and Receipt. It is absent before the evaluation trace stage is reached. After that stage it contains the host trace status. Disabled and unavailable have no trace bytes. The other three statuses contain the complete TraceBytes with the required footer. Trace saturation changes only this separate state. It never creates a terminal language failure or changes command status.
Before normal work, secure EmergencyTerminalBound and EmergencyFramingBound under the emergency capacity rule. The outer bound covers all required fields, retained payload and receipt packets, report slots, trace framing, and transport framing. Requested trace storage remains in its separate finite account. Ordinary work starts only after both emergency areas are backed. These reservations cannot borrow evaluation or ordinary diagnostic capacity. The selected reports describe the same immutable submission. A report status and its diagnostic must agree. An attempt report with incomplete ingestion has no submission identity. A completed evaluation always retains its receipt packet. Verify never emits a new evaluation receipt. Replay retains its actual evaluation receipt after comparison mismatch. The expected receipt remains inside the comparison report. After output interruption, retain the complete selected packet and every completed report, payload, receipt, and trace in memory. Delivery state belongs to the existing host interface; it is not a new CommandResult field.
The first delivered primary-channel octet freezes the selected packet, including its serialized status. Subsequent writes, if permitted by the transport, use only the unchanged remaining bytes of that packet. Do not patch its status, replace its bytes, restart it as a second packet, or append another packet on that channel. The same rule applies after all packet octets were written and a later flush or completion acknowledgment fails.
Before any primary octet is delivered, a complete status 50 candidate may replace the pending packet only when every guard below holds. An attempted replacement never edits the original in place.
| Replacement guard | Required observation |
|---|---|
| Delivery count | The adapter confirms exactly zero primary octets delivered |
| Pending delivery | No queued or in-flight write can later publish bytes from the old packet |
| Complete candidate | One complete canonical CommandResultBytes packet with status 50 and valid closed fields, nested packets, diagnostics, and report relationships |
| Operation binding | The same already retained operation, command option, and immutable submission binding, including an absent submission when appropriate |
| Completed data | Every completed report slot, payload kind and bytes, receipt bytes, and trace state and bytes remains byte-for-byte unchanged |
| Added failure report | New render or host failure data fits an available slot or the reserved terminal path without overwriting a completed slot |
| Reserved support | Construction, local checks, and publication fit the previously secured host and emergency support |
Zero in a local counter is insufficient while a write remains pending. An unknown delivered count is not confirmed zero. An adapter must finish or withdraw pending delivery and confirm zero before permitting replacement. The retained operation binding was established before failure. Replacement consumes it without rehashing source, revalidating program or request identities, or inventing a new submission.
The candidate must satisfy the complete closed contract before the atomic selection change. Typed construction may establish that validity; decoding a serialized candidate again is not required. Candidate construction failure, incomplete bytes, invalid fields, a binding mismatch, or any changed completed component leaves the original packet selected and retained. In particular, a completed attempt or terminal slot cannot be discarded to make room for a newer delivery diagnostic. When no complete preserving candidate fits, report delivery failure through the existing host boundary.
The command/CLI completion classification for interrupted delivery is 50 even when the retained or already delivered packet carries 0, 20, 21, or another earlier status. After output starts, that command completion classification is not written back into the packet. A complete packet received before a failing flush retains its original serialized status. The exit mapping still preserves evaluation status 20 or 21 against later qualification or evidence refusal; delivery interruption is the separate command completion case.
The transport adapter supplies truthful delivery counts, pending-write state, write/flush results, and the existing transport-error observation. These physical observations do not follow merely from constructing or checking a result packet.
Use the existing numeric statuses. The envelope adds no new status or diagnostic code. All reports use their named byte contracts. Nested records use their record values rather than an extra packet unless the field is explicitly bytes. Receipt output adds no banner, newline, or second packet.
| Envelope invariant | Exact requirement |
|---|---|
| Recognized command token | The command option contains that exact command |
| Missing or unknown CLI command token | The command option is empty and the status is 2 |
| Direct host operation | The command option is empty and status follows the operation result |
| Known command with invalid options | Preserve the recognized command in the option |
| Attempt report command | Equal to the outer command option |
| Attempt stage outside host phase | Equal to diagnostic.phase |
| Attempt stage for host phase | Equal to diagnostic.data.stage |
| Attempt verification budget failure | Phase verify with verification.budget and status 42 |
| Outcome payload and outer receipt | Payload bytes equal the receipt outcome_bytes exactly |
| Replay comparison and outer receipt | Comparison actual_receipt_bytes equals the outer receipt exactly |
| Profile report and outer receipt | Profile report receipt_bytes equals the outer receipt exactly |
| Comparison and standalone evidence report | The two evidence verification records are equal when both are present |
| Verify evidence target | The actual receipt |
| Replay evidence target | The expected receipt |
| Prepare, graph, and verify outer receipt | Empty option |
| Run, replay, or direct host evaluation after eligible evaluation | Present option with the actual receipt |
A verification budget failure before comparison completion has no partial comparison payload. After replay evaluation, this failure retains an outcome payload and its actual receipt. The expected receipt remains an unchanged supplied operand. Quoted requested identities inside diagnostics are input data. They do not create verified report markers.
The command/CLI completion classification does not change the host ABI transport call-status enum, which remains 0, 1, or 2. A complete ABI reply still uses transport success 0, including a complete refusal or failure report. The delivery rule introduces no status field, channel, or API. The physical adapter maps its existing transport-error observation to the existing command/CLI classification.
Encode an exact rational outcome
lispex.example.v2.receipt-and-replay.exact-outcome-record · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "encode-outcome",
"value": {
"numerator": "1",
"denominator": "3"
},
"record": "R{format=\"lispex.outcome/2\",kind=\"value\",value=1/3}"
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"record": {
"format": "lispex.outcome/2",
"kind": "value",
"value": {
"kind": "rational",
"numerator": "1",
"denominator": "3"
}
},
"roundingApplied": false,
"unknownFieldsAllowed": false
}Product invocation
Expected result
Encode an exact rational outcome. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Preserve diagnostic strings and path tags
lispex.example.v2.receipt-and-replay.diagnostic-wire-types · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "encode-diagnostic",
"diagnostic": {
"phase": "evaluate",
"code": "domain.index",
"data": {
"operation": "vector-ref",
"argument": "1",
"index": "-1",
"length": "0"
}
},
"mutations": [
"integer instead of index string",
"extra data key"
]
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"canonicalFieldTypes": {
"argument": "string",
"index": "string",
"length": "string"
},
"rejections": [
"invalid-format",
"invalid-format"
],
"diagnosticRenamed": false
}Product invocation
Expected result
Preserve diagnostic strings and path tags. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Reject a failure site from another program
lispex.example.v2.receipt-and-replay.qualified-failure-site · rev. 2
{
"notation": "documentation-request",
"operation": "admit-receipt",
"receiptPacketHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"semanticPreimagesSupplied": [],
"vectors": "vectors.json",
"guestEvaluation": false
}
Request and files
{
"notation": "documentation-datum-byte-recipe",
"jsonMapping": "A record object is R with unsigned UTF-8 sorted string keys; a vector object is #(...); bytevectorHex is the exact octets; other strings, exact integers and Booleans keep their Datum types. JSON null denotes the empty list only in this recipe. This notation is not another wire codec.",
"derivation": "Apply the Profiles lispex.datum/2 D/U/Z rules and the Identity encoding R/H tables to the literal inputs. Hash the complete framed IdentityInput with SHA-256. No implementation output is an input.",
"scope": "Complete byte vectors establish their stated local record and byte-binding properties. They do not supply missing semantic preimages, authenticate an issuer, or select production tariffs.",
"claims": {
"receiptProgram": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"siteProgram": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "1212121212121212121212121212121212121212121212121212121212121212"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"request": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
"canonicalSiteBytesHex": "4c58530100000c726573756c742d636865636b0107066f7574707574",
"outcome": {
"datum": {
"record": {
"diagnostic": {
"record": {
"code": "value.boundary",
"data": {
"record": {
"actual": false,
"count": "0",
"path": {
"vector": []
},
"reason": "count"
}
},
"phase": "evaluate"
}
},
"format": "lispex.outcome/2",
"kind": "failure",
"site": {
"record": {
"local": {
"bytevectorHex": "4c58530100000c726573756c742d636865636b0107066f7574707574"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1212121212121212121212121212121212121212121212121212121212121212"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
}
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"receipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"refusalDiagnosticPayload": {
"datum": {
"record": {
"code": "artifact.invalid",
"data": {
"record": {
"kind": "receipt",
"reason": "identity-mismatch"
}
},
"phase": "admission"
}
},
"packetHex": "6c69737065782e646174756d2f32006608080604636f6465061061727469666163742e696e76616c69640808060464617461080806046b696e6406077265636569707408080606726561736f6e06116964656e746974792d6d69736d6174636800080806057068617365060961646d697373696f6e00"
}
}
artifact.invalidSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"diagnostic": {
"phase": "admission",
"code": "artifact.invalid",
"data": {
"kind": "receipt",
"reason": "identity-mismatch"
}
},
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false,
"receiptPacketHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"canonicalSiteBytesHex": "4c58530100000c726573756c742d636865636b0107066f7574707574",
"diagnosticPayloadHex": "6c69737065782e646174756d2f32006608080604636f6465061061727469666163742e696e76616c69640808060464617461080806046b696e6406077265636569707408080606726561736f6e06116964656e746974792d6d69736d6174636800080806057068617365060961646d697373696f6e00",
"receiptAccepted": false,
"verifiedProgramMarkerPresent": false,
"verifiedRequestMarkerPresent": false,
"siteMembershipVerified": false
}Product invocation
Expected result
Reject a failure site from another program. Product invocation awaits its 2.0 adapter.
The complete receipt names the explicit program claim with digest 11…11, while its failure site names the distinct claim 12…12. vectors.json supplies all 32 digest octets, identity packets, local site bytes, outcome bytes, receipt bytes, and the expected diagnostic payload. The cross-field mismatch is decidable before any unavailable program preimage or site membership is verified. This fixture therefore needs no symbolic library, model, or asserted verified program Q.
Exclude counters and evidence from a receipt
lispex.example.v2.receipt-and-replay.receipt-field-closure · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "admit-receipt",
"mutations": [
"add work_used",
"add engine",
"add evidence",
"remove outcome_bytes",
"append a second Datum packet"
]
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"rejectedCases": [
"work_used",
"engine",
"evidence",
"missing-outcome",
"trailing-packet"
],
"acceptedReceiptFields": [
"format",
"outcome_bytes",
"program",
"request"
],
"repairsApplied": false
}Product invocation
Expected result
Exclude counters and evidence from a receipt. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Keep failure receipts after evidence refusal
lispex.example.v2.receipt-and-replay.failure-receipt-preserved · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "run",
"evaluation": "deterministic resource.exhausted",
"laterProfileWork": "evidence budget refuses"
}
21Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"status": 21,
"receiptPresent": true,
"receiptBytesChanged": false,
"outcomeChanged": false,
"profileReportPhase": "evidence"
}Product invocation
Expected result
Keep failure receipts after evidence refusal. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Report exact source bytes without a program identity
lispex.example.v2.receipt-and-replay.source-report-unreadable · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
ff
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "prepare",
"sourceBytesHex": "ff",
"moduleName": "main"
}
failedSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"reportFormat": "lispex.prepare-report/2",
"status": "failed",
"diagnostic": {
"phase": "decode",
"code": "source.encoding",
"data": {
"reason": "invalid-utf8"
}
},
"sourceSpan": {
"byte_start": 0,
"byte_end": 1
},
"programIdentityPresent": false,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
Report exact source bytes without a program identity. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Do not verify an invalid source name table
lispex.example.v2.receipt-and-replay.source-report-invalid-table · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "prepare",
"moduleNames": [
"main",
"main"
],
"submission": "complete raw source bundle snapshot"
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"submissionIdentityPresent": true,
"sourceMembers": [],
"prepareRequestIdentityPresent": false,
"programIdentityPresent": false,
"sourceSpanPresent": false,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
Do not verify an invalid source name table. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Publish one result and a separate receipt packet
lispex.example.v2.receipt-and-replay.one-result-packet · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "run",
"result": "one exact integer 17",
"receiptOutput": "separate destination"
}
0Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"commandResultPackets": 1,
"primaryPayloadKind": "outcome",
"receiptPacketCount": 1,
"embeddedAndSeparateReceiptEqual": true,
"trailingNewline": false,
"status": 0
}Product invocation
Expected result
Publish one result and a separate receipt packet. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Retain the completed receipt after output interruption
lispex.example.v2.receipt-and-replay.delivery-after-result · rev. 2
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "run",
"result": "completed value",
"hostEvent": "primary output interrupts before its first octet; the adapter confirms zero delivered octets and no queued or in-flight write",
"replacement": "one complete canonical status 50 packet preserving the completed report slots, payload, receipt, and trace"
}
50Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"status": 50,
"attemptReportPhase": "render",
"outcomeRetained": true,
"receiptRetained": true,
"partialValuePublishedAsSuccess": false,
"commandCompletionStatus": 50,
"serializedPacketStatus": 50,
"originalPacketStatus": 0,
"primaryOctetsBeforeInterruption": "0",
"deliveryCountKnowledge": "confirmed-zero",
"writeInFlight": false,
"replacementAccepted": true
}Product invocation
Expected result
Output interrupts before the first primary octet; confirmed zero delivery and no pending write permit a complete preserving status 50 replacement. Product invocation awaits its 2.0 adapter.
The transport interruption occurs before the first primary octet. The adapter confirms zero delivery and no pending write. A complete preserving replacement therefore carries serialized status 50, and the command/CLI completion classification is also 50. The original completed packet had status 0. After delivery starts, the separate delivery-packet-freeze example retains the original packet status instead. A complete ABI reply still uses transport success 0; commandCompletionStatus does not denote the transport call status.
Freeze the packet after its first delivered octet
lispex.example.v2.receipt-and-replay.delivery-packet-freeze · rev. 1
{
"notation": "documentation-request",
"operation": "delivery-packet-selection",
"currentOperationBinding": "operation-a",
"command": [
"run"
],
"submissionIdentityBytesHex": "6c69737065782e646174756d2f320069080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f3200",
"identityClaims": {
"programIdentityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f3200",
"requestIdentityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200",
"profileWorkIdentityBytesHex": "6c69737065782e646174756d2f32006b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f3200",
"interpretation": "concrete identity records are serialization inputs; their packet bytes alone are claims, while the selected packet requires the retained typed owner precondition below"
},
"inputScope": "packet selection and byte preservation over a previously verified, completed same-operation owner context; packet contents do not themselves establish that context",
"reservedSupport": "complete finite host and emergency backing, cursor state, and work are available before the delivery attempt",
"packetBytes": {
"original": {
"octets": "2138",
"hex": "6c69737065782e646174756d2f3200c91008080607636f6d6d616e640901060372756e08080606666f726d617406176c69737065782e636f6d6d616e642d726573756c742f32080806077061796c6f616409010808060562797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100080806046b696e6406076f7574636f6d6500080806077265636569707409010ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000080806077265706f7274730808060961646d697373696f6e090008080607617474656d707409000808060865766964656e636509000808060b7072657061726174696f6e09000808060770726f66696c65090108080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000080806087465726d696e616c0900000808060673746174757303000808060574726163650901080806056279746573090008080606737461747573060864697361626c65640000"
},
"replacement": {
"octets": "2453",
"hex": "6c69737065782e646174756d2f3200841308080607636f6d6d616e640901060372756e08080606666f726d617406176c69737065782e636f6d6d616e642d726573756c742f32080806077061796c6f616409010808060562797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100080806046b696e6406076f7574636f6d6500080806077265636569707409010ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000080806077265706f7274730808060961646d697373696f6e090008080607617474656d7074090108080607636f6d6d616e640901060372756e0808060a646961676e6f7374696308080604636f646506107472616e73706f72742e6f75747075740808060464617461080806076368616e6e656c06067374646f757408080606726561736f6e060b696e74657272757074656400080806057068617365060672656e6465720008080606666f726d617406176c69737065782e617474656d70742d7265706f72742f32080806057374616765060672656e6465720808060a7375626d697373696f6e0901080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060876657269666965640900000808060865766964656e636509000808060b7072657061726174696f6e09000808060770726f66696c65090108080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000080806087465726d696e616c0900000808060673746174757303640808060574726163650901080806056279746573090008080606737461747573060864697361626c65640000"
},
"occupied-slot": {
"octets": "2447",
"hex": "6c69737065782e646174756d2f3200fe1208080607636f6d6d616e640901060372756e08080606666f726d617406176c69737065782e636f6d6d616e642d726573756c742f32080806077061796c6f616409010808060562797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100080806046b696e6406076f7574636f6d6500080806077265636569707409010ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000080806077265706f7274730808060961646d697373696f6e090008080607617474656d7074090108080607636f6d6d616e640901060372756e0808060a646961676e6f7374696308080604636f64650610686f73742e696e746572727570746564080806046461746108080606726561736f6e060963616e63656c6c6564080806057374616765060672656e646572000808060570686173650604686f73740008080606666f726d617406176c69737065782e617474656d70742d7265706f72742f32080806057374616765060672656e6465720808060a7375626d697373696f6e0901080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060876657269666965640900000808060865766964656e636509000808060b7072657061726174696f6e09000808060770726f66696c65090108080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000080806087465726d696e616c0900000808060673746174757303640808060574726163650901080806056279746573090008080606737461747573060864697361626c65640000"
},
"extra-field-candidate": {
"octets": "2463",
"hex": "6c69737065782e646174756d2f32008e1308080607636f6d6d616e640901060372756e0808060565787472610108080606666f726d617406176c69737065782e636f6d6d616e642d726573756c742f32080806077061796c6f616409010808060562797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100080806046b696e6406076f7574636f6d6500080806077265636569707409010ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000080806077265706f7274730808060961646d697373696f6e090008080607617474656d7074090108080607636f6d6d616e640901060372756e0808060a646961676e6f7374696308080604636f646506107472616e73706f72742e6f75747075740808060464617461080806076368616e6e656c06067374646f757408080606726561736f6e060b696e74657272757074656400080806057068617365060672656e6465720008080606666f726d617406176c69737065782e617474656d70742d7265706f72742f32080806057374616765060672656e6465720808060a7375626d697373696f6e0901080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060876657269666965640900000808060865766964656e636509000808060b7072657061726174696f6e09000808060770726f66696c65090108080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000080806087465726d696e616c0900000808060673746174757303640808060574726163650901080806056279746573090008080606737461747573060864697361626c65640000"
},
"incomplete-candidate": {
"octets": "2452",
"hex": "6c69737065782e646174756d2f3200841308080607636f6d6d616e640901060372756e08080606666f726d617406176c69737065782e636f6d6d616e642d726573756c742f32080806077061796c6f616409010808060562797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100080806046b696e6406076f7574636f6d6500080806077265636569707409010ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000080806077265706f7274730808060961646d697373696f6e090008080607617474656d7074090108080607636f6d6d616e640901060372756e0808060a646961676e6f7374696308080604636f646506107472616e73706f72742e6f75747075740808060464617461080806076368616e6e656c06067374646f757408080606726561736f6e060b696e74657272757074656400080806057068617365060672656e6465720008080606666f726d617406176c69737065782e617474656d70742d7265706f72742f32080806057374616765060672656e6465720808060a7375626d697373696f6e0901080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060876657269666965640900000808060865766964656e636509000808060b7072657061726174696f6e09000808060770726f66696c65090108080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000080806087465726d696e616c0900000808060673746174757303640808060574726163650901080806056279746573090008080606737461747573060864697361626c656400"
}
},
"retainedComponents": {
"payloadBytesHex": "6c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100",
"receiptBytesHex": "6c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"completedProfileRecordValueHex": "08080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000",
"traceRecordValueHex": "080806056279746573090008080606737461747573060864697361626c656400",
"occupiedAttemptRecordValueHex": "08080607636f6d6d616e640901060372756e0808060a646961676e6f7374696308080604636f64650610686f73742e696e746572727570746564080806046461746108080606726561736f6e060963616e63656c6c6564080806057374616765060672656e646572000808060570686173650604686f73740008080606666f726d617406176c69737065782e617474656d70742d7265706f72742f32080806057374616765060672656e6465720808060a7375626d697373696f6e0901080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806087665726966696564090000"
},
"requests": [
{
"case": "before-first-octet",
"selectedPacket": "original",
"candidatePacket": "replacement",
"candidateOperationBinding": "operation-a",
"delivery": {
"primaryOctets": "0",
"countKnowledge": "confirmed",
"pendingWrite": false
},
"failure": {
"phase": "render",
"code": "transport.output",
"data": {
"channel": "stdout",
"reason": "interrupted"
}
}
},
{
"case": "after-first-octet",
"selectedPacket": "original",
"candidatePacket": "replacement",
"candidateOperationBinding": "operation-a",
"delivery": {
"primaryOctets": "1",
"countKnowledge": "confirmed",
"pendingWrite": false
},
"failure": {
"phase": "render",
"code": "transport.output",
"data": {
"channel": "stdout",
"reason": "interrupted"
}
}
},
{
"case": "full-packet-then-flush-failure",
"selectedPacket": "original",
"candidatePacket": "replacement",
"candidateOperationBinding": "operation-a",
"delivery": {
"primaryOctets": "2138",
"countKnowledge": "confirmed",
"pendingWrite": false
},
"failure": {
"phase": "render",
"code": "transport.output",
"data": {
"channel": "stdout",
"reason": "interrupted"
}
}
},
{
"case": "unknown-delivered-count",
"selectedPacket": "original",
"candidatePacket": "replacement",
"candidateOperationBinding": "operation-a",
"delivery": {
"primaryOctets": null,
"countKnowledge": "unknown",
"pendingWrite": false
},
"failure": {
"phase": "render",
"code": "transport.output",
"data": {
"channel": "stdout",
"reason": "interrupted"
}
}
},
{
"case": "write-in-flight",
"selectedPacket": "original",
"candidatePacket": "replacement",
"candidateOperationBinding": "operation-a",
"delivery": {
"primaryOctets": "0",
"countKnowledge": "local-counter-only",
"pendingWrite": true
},
"failure": {
"phase": "render",
"code": "transport.output",
"data": {
"channel": "stdout",
"reason": "interrupted"
}
}
},
{
"case": "completed-attempt-slot-conflict",
"selectedPacket": "occupied-slot",
"candidatePacket": "replacement",
"candidateOperationBinding": "operation-a",
"delivery": {
"primaryOctets": "0",
"countKnowledge": "confirmed",
"pendingWrite": false
},
"failure": {
"phase": "render",
"code": "transport.output",
"data": {
"channel": "stdout",
"reason": "interrupted"
}
}
},
{
"case": "unknown-candidate-field",
"selectedPacket": "original",
"candidatePacket": "extra-field-candidate",
"candidateOperationBinding": "operation-a",
"delivery": {
"primaryOctets": "0",
"countKnowledge": "confirmed",
"pendingWrite": false
},
"failure": {
"phase": "render",
"code": "transport.output",
"data": {
"channel": "stdout",
"reason": "interrupted"
}
}
},
{
"case": "incomplete-candidate",
"selectedPacket": "original",
"candidatePacket": "incomplete-candidate",
"candidateOperationBinding": "operation-a",
"delivery": {
"primaryOctets": "0",
"countKnowledge": "confirmed",
"pendingWrite": false
},
"failure": {
"phase": "render",
"code": "transport.output",
"data": {
"channel": "stdout",
"reason": "interrupted"
}
}
},
{
"case": "different-operation",
"selectedPacket": "original",
"candidatePacket": "replacement",
"candidateOperationBinding": "operation-b",
"delivery": {
"primaryOctets": "0",
"countKnowledge": "confirmed",
"pendingWrite": false
},
"failure": {
"phase": "render",
"code": "transport.output",
"data": {
"channel": "stdout",
"reason": "interrupted"
}
}
}
],
"selectedOwnerPrecondition": {
"verifiedBeforeTransport": [
"program binding",
"canonical input and semantic request binding",
"profile work binding",
"immutable submission binding"
],
"completedBeforeTransport": [
"canonical outcome and original portable receipt",
"profile checks represented by the completed report",
"the selected trace state"
],
"consumedContext": "retained same-operation owner witnesses and completion classification established before transport",
"newWitnessesInferredFromPacketBytes": false,
"identityPreimagesVerifiedByThisComponent": false,
"profileReportMarkerRoles": [
"profile-work",
"program",
"request"
],
"markerMeaning": "records of prior owner verification for the corresponding report fields; received marker bytes are not new verification witnesses"
},
"commandCompletionStatusMeaning": "documentation projection of the existing command/CLI completion classification from a transport-error observation; this is not the ABI transport call-status field"
}
{"case":"before-first-octet","replacementAccepted":true,"decision":"complete-preserving-status50-candidate","retainedPacketBytesRef":"replacement","serializedPacketStatus":50,"commandCompletionStatus":50,"completedComponentsPreserved":true,"packetPatchedInPlace":false,"secondPacketAppended":false}Outcome details
{
"case": "before-first-octet",
"replacementAccepted": true,
"decision": "complete-preserving-status50-candidate",
"retainedPacketBytesRef": "replacement",
"serializedPacketStatus": 50,
"commandCompletionStatus": 50,
"completedComponentsPreserved": true,
"packetPatchedInPlace": false,
"secondPacketAppended": false
}{"case":"after-first-octet","replacementAccepted":false,"decision":"packet-frozen-after-first-octet","retainedPacketBytesRef":"original","serializedPacketStatus":0,"commandCompletionStatus":50,"completedComponentsPreserved":true,"packetPatchedInPlace":false,"secondPacketAppended":false}Outcome details
{
"case": "after-first-octet",
"replacementAccepted": false,
"decision": "packet-frozen-after-first-octet",
"retainedPacketBytesRef": "original",
"serializedPacketStatus": 0,
"commandCompletionStatus": 50,
"completedComponentsPreserved": true,
"packetPatchedInPlace": false,
"secondPacketAppended": false
}{"case":"full-packet-then-flush-failure","replacementAccepted":false,"decision":"complete-delivered-packet-remains-frozen","retainedPacketBytesRef":"original","serializedPacketStatus":0,"commandCompletionStatus":50,"completedComponentsPreserved":true,"packetPatchedInPlace":false,"secondPacketAppended":false}Outcome details
{
"case": "full-packet-then-flush-failure",
"replacementAccepted": false,
"decision": "complete-delivered-packet-remains-frozen",
"retainedPacketBytesRef": "original",
"serializedPacketStatus": 0,
"commandCompletionStatus": 50,
"completedComponentsPreserved": true,
"packetPatchedInPlace": false,
"secondPacketAppended": false
}{"case":"unknown-delivered-count","replacementAccepted":false,"decision":"zero-not-confirmed","retainedPacketBytesRef":"original","serializedPacketStatus":0,"commandCompletionStatus":50,"completedComponentsPreserved":true,"packetPatchedInPlace":false,"secondPacketAppended":false}Outcome details
{
"case": "unknown-delivered-count",
"replacementAccepted": false,
"decision": "zero-not-confirmed",
"retainedPacketBytesRef": "original",
"serializedPacketStatus": 0,
"commandCompletionStatus": 50,
"completedComponentsPreserved": true,
"packetPatchedInPlace": false,
"secondPacketAppended": false
}{"case":"write-in-flight","replacementAccepted":false,"decision":"pending-write-may-publish-old-packet","retainedPacketBytesRef":"original","serializedPacketStatus":0,"commandCompletionStatus":50,"completedComponentsPreserved":true,"packetPatchedInPlace":false,"secondPacketAppended":false}Outcome details
{
"case": "write-in-flight",
"replacementAccepted": false,
"decision": "pending-write-may-publish-old-packet",
"retainedPacketBytesRef": "original",
"serializedPacketStatus": 0,
"commandCompletionStatus": 50,
"completedComponentsPreserved": true,
"packetPatchedInPlace": false,
"secondPacketAppended": false
}{"case":"completed-attempt-slot-conflict","replacementAccepted":false,"decision":"completed-attempt-slot-would-change","retainedPacketBytesRef":"occupied-slot","serializedPacketStatus":50,"commandCompletionStatus":50,"completedComponentsPreserved":true,"packetPatchedInPlace":false,"secondPacketAppended":false}Outcome details
{
"case": "completed-attempt-slot-conflict",
"replacementAccepted": false,
"decision": "completed-attempt-slot-would-change",
"retainedPacketBytesRef": "occupied-slot",
"serializedPacketStatus": 50,
"commandCompletionStatus": 50,
"completedComponentsPreserved": true,
"packetPatchedInPlace": false,
"secondPacketAppended": false
}{"case":"unknown-candidate-field","replacementAccepted":false,"decision":"candidate-is-not-a-closed-command-result","retainedPacketBytesRef":"original","serializedPacketStatus":0,"commandCompletionStatus":50,"completedComponentsPreserved":true,"packetPatchedInPlace":false,"secondPacketAppended":false}Outcome details
{
"case": "unknown-candidate-field",
"replacementAccepted": false,
"decision": "candidate-is-not-a-closed-command-result",
"retainedPacketBytesRef": "original",
"serializedPacketStatus": 0,
"commandCompletionStatus": 50,
"completedComponentsPreserved": true,
"packetPatchedInPlace": false,
"secondPacketAppended": false
}{"case":"incomplete-candidate","replacementAccepted":false,"decision":"candidate-packet-is-incomplete","retainedPacketBytesRef":"original","serializedPacketStatus":0,"commandCompletionStatus":50,"completedComponentsPreserved":true,"packetPatchedInPlace":false,"secondPacketAppended":false}Outcome details
{
"case": "incomplete-candidate",
"replacementAccepted": false,
"decision": "candidate-packet-is-incomplete",
"retainedPacketBytesRef": "original",
"serializedPacketStatus": 0,
"commandCompletionStatus": 50,
"completedComponentsPreserved": true,
"packetPatchedInPlace": false,
"secondPacketAppended": false
}{"case":"different-operation","replacementAccepted":false,"decision":"retained-operation-binding-mismatch","retainedPacketBytesRef":"original","serializedPacketStatus":0,"commandCompletionStatus":50,"completedComponentsPreserved":true,"packetPatchedInPlace":false,"secondPacketAppended":false}Outcome details
{
"case": "different-operation",
"replacementAccepted": false,
"decision": "retained-operation-binding-mismatch",
"retainedPacketBytesRef": "original",
"serializedPacketStatus": 0,
"commandCompletionStatus": 50,
"completedComponentsPreserved": true,
"packetPatchedInPlace": false,
"secondPacketAppended": false
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"packetBytes": {
"original": {
"octets": "2138",
"hex": "6c69737065782e646174756d2f3200c91008080607636f6d6d616e640901060372756e08080606666f726d617406176c69737065782e636f6d6d616e642d726573756c742f32080806077061796c6f616409010808060562797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100080806046b696e6406076f7574636f6d6500080806077265636569707409010ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000080806077265706f7274730808060961646d697373696f6e090008080607617474656d707409000808060865766964656e636509000808060b7072657061726174696f6e09000808060770726f66696c65090108080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000080806087465726d696e616c0900000808060673746174757303000808060574726163650901080806056279746573090008080606737461747573060864697361626c65640000"
},
"replacement": {
"octets": "2453",
"hex": "6c69737065782e646174756d2f3200841308080607636f6d6d616e640901060372756e08080606666f726d617406176c69737065782e636f6d6d616e642d726573756c742f32080806077061796c6f616409010808060562797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100080806046b696e6406076f7574636f6d6500080806077265636569707409010ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000080806077265706f7274730808060961646d697373696f6e090008080607617474656d7074090108080607636f6d6d616e640901060372756e0808060a646961676e6f7374696308080604636f646506107472616e73706f72742e6f75747075740808060464617461080806076368616e6e656c06067374646f757408080606726561736f6e060b696e74657272757074656400080806057068617365060672656e6465720008080606666f726d617406176c69737065782e617474656d70742d7265706f72742f32080806057374616765060672656e6465720808060a7375626d697373696f6e0901080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060876657269666965640900000808060865766964656e636509000808060b7072657061726174696f6e09000808060770726f66696c65090108080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000080806087465726d696e616c0900000808060673746174757303640808060574726163650901080806056279746573090008080606737461747573060864697361626c65640000"
},
"occupied-slot": {
"octets": "2447",
"hex": "6c69737065782e646174756d2f3200fe1208080607636f6d6d616e640901060372756e08080606666f726d617406176c69737065782e636f6d6d616e642d726573756c742f32080806077061796c6f616409010808060562797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100080806046b696e6406076f7574636f6d6500080806077265636569707409010ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000080806077265706f7274730808060961646d697373696f6e090008080607617474656d7074090108080607636f6d6d616e640901060372756e0808060a646961676e6f7374696308080604636f64650610686f73742e696e746572727570746564080806046461746108080606726561736f6e060963616e63656c6c6564080806057374616765060672656e646572000808060570686173650604686f73740008080606666f726d617406176c69737065782e617474656d70742d7265706f72742f32080806057374616765060672656e6465720808060a7375626d697373696f6e0901080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060876657269666965640900000808060865766964656e636509000808060b7072657061726174696f6e09000808060770726f66696c65090108080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000080806087465726d696e616c0900000808060673746174757303640808060574726163650901080806056279746573090008080606737461747573060864697361626c65640000"
}
},
"retainedComponents": {
"payloadBytesHex": "6c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650100",
"receiptBytesHex": "6c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"completedProfileRecordValueHex": "08080606636865636b730808060865766964656e6365060c6e6f742d72657175697265640808060d7175616c696669636174696f6e0606706173736564000808060a646961676e6f7374696309000808060f65766964656e63655f7265706f7274090008080606666f726d6174061c6c69737065782e70726f66696c652d776f726b2d7265706f72742f320808060c70726f66696c655f776f726b080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060d726563656970745f62797465730ae9026c69737065782e646174756d2f3200d80208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a466c69737065782e646174756d2f32003608080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c756501000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806057374616765060d7175616c696669636174696f6e080806067374617475730609636f6d706c657465640808060876657269666965640903080806086964656e74697479080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06156c69737065782e70726f66696c652d776f726b2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060c70726f66696c652d776f726b0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060770726f6772616d0808060573746174650608766572696669656400080806086964656e74697479080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c65060772657175657374080806057374617465060876657269666965640000",
"traceRecordValueHex": "080806056279746573090008080606737461747573060864697361626c656400",
"occupiedAttemptRecordValueHex": "08080607636f6d6d616e640901060372756e0808060a646961676e6f7374696308080604636f64650610686f73742e696e746572727570746564080806046461746108080606726561736f6e060963616e63656c6c6564080806057374616765060672656e646572000808060570686173650604686f73740008080606666f726d617406176c69737065782e617474656d70742d7265706f72742f32080806057374616765060672656e6465720808060a7375626d697373696f6e0901080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06136c69737065782e7375626d697373696f6e2f3208080606666f726d617406116c69737065782e6964656e746974792f3200080806087665726966696564090000"
}
}Product invocation
Expected result
A packet changes only after confirmed zero delivery and a complete preserving status 50 candidate. Later command/CLI completion classification leaves delivered bytes fixed. Product invocation awaits its 2.0 adapter.
The original run packet has a completed false value outcome, receipt, completed qualification report, and disabled trace record. Its serialized status is 0. The complete replacement adds a render/transport.output attempt report and status 50 while retaining every completed component byte.
The packet table supplies all bytes, including the occupied-attempt-slot packet. Its earlier render-stage host interruption already has status 50. Replacing that completed attempt with a new render report is rejected even before delivery. An extra-field candidate is a complete Datum packet but fails the closed CommandResult schema. The truncated candidate fails complete packet framing.
Each retainedPacketBytesRef selects the exact complete bytes in packetBytes. Component hex uses the actual nested record value encoding where the field is a record, and the complete named packet where the field is bytes. The canonical codec equations determine every octet. The 32-byte program, request, submission, and profile-work digest records are concrete serialization inputs. Their bytes alone remain claims. The selected packet has an explicit precondition: the owning operations previously verified these same-operation bindings and completed the declared outcome, receipt, profile checks, and trace state. This delivery component receives those retained owner witnesses and completion classification. It neither derives witnesses from packet bytes nor verifies the omitted identity preimages.
The operation-a and operation-b labels denote previously retained host bindings, not new wire fields. The fixture consumes completed typed owner observations for a delivery projection. The physical adapter supplies truthful delivery counts and pending-write observations. After one octet or a completed write followed by flush failure, command/CLI completion classification is 50 while the frozen packet still contains status 0.
The completed profile report records that prior verification with profile-work, program, and request markers in role order, each with index 0. Every marker equals its corresponding report field. These recorded markers are preserved; receiving their bytes does not issue a new witness. Receipt identity hashing is not part of this component precondition, so it adds no receipt marker.
commandCompletionStatus is a documentation projection of the existing command/CLI classification. It is not the ABI transport call status. That enum remains 0, 1, or 2, and a complete ABI reply still uses transport success 0. The delivery rule adds no status field, channel, or API.
Report a missing or unknown command without inventing a command
lispex.example.v2.receipt-and-replay.unknown-command-result · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"argvCases": [
[
"lispex",
"--language",
"2.0",
"--product",
"native"
],
[
"lispex",
"--language",
"2.0",
"--product",
"native",
"unknown"
]
]
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"commandOptions": [
[],
[]
],
"statuses": [
2,
2
],
"attemptStages": [
"invocation",
"invocation"
],
"primaryPacketCounts": [
1,
1
],
"payloadsPresent": [
false,
false
],
"receiptsPresent": [
false,
false
]
}Product invocation
Expected result
Report a missing or unknown command without inventing a command. Product invocation awaits its 2.0 adapter.
The fixture states the 2.0 contract. Product execution remains not-run.
Keep the actual receipt when comparison work exhausts its budget
lispex.example.v2.receipt-and-replay.comparison-budget-after-evaluation · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"operation": "replay",
"completedActualOutcome": "value 17",
"constraint": "The next comparison reservation exceeds the remaining finite host work budget. All preceding reservations succeeded."
}
42Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"status": 42,
"payloadKind": "outcome",
"attemptDiagnostic": {
"phase": "verify",
"code": "verification.budget",
"data": {
"budget": "work"
}
},
"actualReceiptPresent": true,
"outcomePreserved": true,
"expectedReceiptPreserved": true,
"comparisonRecordPresent": false
}Product invocation
Expected result
Keep the actual receipt when comparison work exhausts its budget. Product invocation awaits its 2.0 adapter.
The fixture states the 2.0 contract. Product execution remains not-run.
Host calls retain one complete report
lispex.example.v2.receipt-and-replay.host-report-envelope · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) 42)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"fixedSemantics": "one verified program and fixed contracts",
"limits": "finite admitted phase and host limits",
"cases": [
{
"case": "open-success",
"operation": "open",
"package": "verified installed package"
},
{
"case": "build-refusal",
"operation": "build",
"constructor": "nat",
"text": "01"
},
{
"case": "load-success",
"operation": "load",
"artifact": "verified resolved/1 artifact"
},
{
"case": "export-success",
"operation": "export",
"format": "bytecode/1"
},
{
"case": "emergency-after-result",
"operation": "evaluate",
"input": "canonical empty list",
"trace": "finite capacity with a complete retained prefix",
"failure": "host delivery preparation fails after evaluation and before any primary byte is delivered"
}
]
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"hostResults": [
{
"case": "open-success",
"command": [],
"status": 0,
"payloadKind": null,
"receiptPresent": false
},
{
"case": "build-refusal",
"command": [],
"status": 30,
"admissionOperation": "build",
"payloadKind": null,
"receiptPresent": false
},
{
"case": "load-success",
"command": [],
"status": 0,
"payloadKind": "prepared",
"preparationReportPresent": true,
"receiptPresent": false
},
{
"case": "export-success",
"command": [],
"status": 0,
"payloadKind": "prepared",
"newPreparationRequest": false,
"receiptPresent": false
},
{
"case": "emergency-after-result",
"command": [],
"status": 50,
"payloadKind": "outcome",
"receiptPresent": true,
"terminalReportPresent": true
}
],
"emergency": {
"payloadReservedBeforeNormalWork": true,
"outerFramingReservedBeforeNormalWork": true,
"terminalCauseUses": "DiagnosticPayloadBytes",
"completedOutcomePreserved": true,
"receiptBytesPreserved": true,
"guestReservationAfterCause": false,
"primaryPackets": 1
},
"trace": {
"separateOuterField": true,
"insideOutcome": false,
"insideReceipt": false,
"saturationChangesCommandStatus": false
}
}Product invocation
Expected result
Host calls use an empty CLI command option and preserve completed evaluation data through emergency reporting. Product invocation awaits its 2.0 adapter.
These cases use symbolic finite limits and independently authored expectations. They remain not-run until the 2.0 products and observation adapter exist.
A failed preparation reports only completed request bindings
lispex.example.v2.receipt-and-replay.prepare-request-before-witness · rev. 2
(module main (import) (export rule) (entry rule) (define (rule input) input))
(module main
Request and files
{
"notation": "documentation-request",
"operation": "prepare-report-framing",
"scope": "Each case supplies a completed preparation observation consistent with source-name-table, fixed-library, then source-module order. Received identity records do not verify dependencies or programs.",
"fixedSemanticsClaimRecords": {
"unicode": {
"format": "lispex.identity/2",
"domain": "lispex.contract/2",
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
}
},
"library": {
"format": "lispex.identity/2",
"domain": "lispex.library/2",
"digest": {
"bytevectorHex": "2222222222222222222222222222222222222222222222222222222222222222"
}
},
"resource_model": {
"format": "lispex.identity/2",
"domain": "lispex.contract/2",
"digest": {
"bytevectorHex": "3333333333333333333333333333333333333333333333333333333333333333"
}
}
},
"expectedProgramClaim": {
"format": "lispex.identity/2",
"domain": "lispex.program/2",
"digest": {
"bytevectorHex": "4444444444444444444444444444444444444444444444444444444444444444"
}
},
"unfinishedSourceIdentityInputHex": "6c69737065782e646174756d2f32006308080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a0d286d6f64756c65206d61696e0a0000",
"cases": [
{
"name": "before-fixed-witnesses",
"source": "source.scm",
"rootModule": "missing",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"fixedWitnesses": [],
"requestHashCompleted": false,
"firstDiagnostic": {
"phase": "resolve",
"code": "module.reference",
"data": {
"module": "missing",
"name": false,
"reason": "missing-module"
}
},
"completedReport": {
"format": "lispex.prepare-report/2",
"status": "failed",
"submission": [],
"prepare_request": [],
"sources": [],
"program": [],
"verified": [],
"diagnostic": [
{
"phase": "resolve",
"code": "module.reference",
"data": {
"module": "missing",
"name": false,
"reason": "missing-module"
}
}
],
"source_span": []
},
"sourceIdentityAvailable": false,
"failureOrder": "The selected root is absent from the source name table. This check stops before fixed-library verification, source-module reading, or any source identity computation.",
"sourceNameTableAndRootValidated": false
},
{
"name": "received-identity-records-only",
"source": "source.scm",
"rootModule": "missing",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"fixedWitnesses": [],
"requestHashCompleted": false,
"firstDiagnostic": {
"phase": "resolve",
"code": "module.reference",
"data": {
"module": "missing",
"name": false,
"reason": "missing-module"
}
},
"completedReport": {
"format": "lispex.prepare-report/2",
"status": "failed",
"submission": [],
"prepare_request": [],
"sources": [],
"program": [],
"verified": [],
"diagnostic": [
{
"phase": "resolve",
"code": "module.reference",
"data": {
"module": "missing",
"name": false,
"reason": "missing-module"
}
}
],
"source_span": []
},
"sourceIdentityAvailable": false,
"failureOrder": "The selected root is absent from the source name table. This check stops before fixed-library verification, source-module reading, or any source identity computation.",
"sourceNameTableAndRootValidated": false
},
{
"name": "fixed-witnesses-without-request-seal",
"source": "unfinished.scm",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "unfinished.scm"
}
],
"fixedWitnesses": [
"unicode",
"library",
"resource_model"
],
"requestHashCompleted": false,
"firstDiagnostic": {
"phase": "read",
"code": "source.delimiter",
"data": {
"reason": "unexpected-end"
}
},
"completedReport": {
"format": "lispex.prepare-report/2",
"status": "failed",
"submission": [],
"prepare_request": [],
"sources": [
{
"module": "main",
"source": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"digest": {
"bytevectorHex": "e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c80"
}
}
}
],
"program": [],
"verified": [
{
"role": "source",
"index": 0,
"state": "verified",
"identity": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"digest": {
"bytevectorHex": "e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c80"
}
}
}
],
"diagnostic": [
{
"phase": "read",
"code": "source.delimiter",
"data": {
"reason": "unexpected-end"
}
}
],
"source_span": [
{
"source": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"digest": {
"bytevectorHex": "e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c80"
}
},
"byte_start": 0,
"byte_end": 13
}
]
},
"sourceWitness": {
"identity": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"digest": {
"bytevectorHex": "e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c80"
}
},
"originalByteLength": 13
},
"failureOrder": "The source name table and root have passed. Fixed immutable dependency witnesses and the source identity computation have completed, but no request hash completed before this module read failure.",
"sourceNameTableAndRootValidated": true
}
]
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"caseNames": [
"before-fixed-witnesses",
"received-identity-records-only",
"fixed-witnesses-without-request-seal"
],
"diagnostics": [
{
"phase": "resolve",
"code": "module.reference",
"data": {
"module": "missing",
"name": false,
"reason": "missing-module"
}
},
{
"phase": "resolve",
"code": "module.reference",
"data": {
"module": "missing",
"name": false,
"reason": "missing-module"
}
},
{
"phase": "read",
"code": "source.delimiter",
"data": {
"reason": "unexpected-end"
}
}
],
"prepareRequestOptions": [
[],
[],
[]
],
"programOption": [],
"sourceMemberCounts": [
0,
0,
1
],
"sourceSpanOptions": [
[],
[],
[
{
"source": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"digest": {
"bytevectorHex": "e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c80"
}
},
"byte_start": 0,
"byte_end": 13
}
]
],
"sourceHashesCompletedBeforeFailure": [
0,
0,
1
],
"expectedProgramClaimVerified": false,
"postFailureHashCalls": 0,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false,
"unfinishedSourceIdentity": {
"preimageHex": "6c69737065782e646174756d2f32006308080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a0d286d6f64756c65206d61696e0a0000",
"digestHex": "e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c80",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a20e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c8008080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"prepareReportBytesHex": [
"6c69737065782e646174756d2f320090020808060a646961676e6f73746963090108080604636f646506106d6f64756c652e7265666572656e63650808060464617461080806066d6f64756c6506076d697373696e67080806046e616d650108080606726561736f6e060e6d697373696e672d6d6f64756c650008080605706861736506077265736f6c76650008080606666f726d617406176c69737065782e707265706172652d7265706f72742f320808060f707265706172655f7265717565737409000808060770726f6772616d09000808060b736f757263655f7370616e090008080607736f757263657309000808060673746174757306066661696c65640808060a7375626d697373696f6e0900080806087665726966696564090000",
"6c69737065782e646174756d2f320090020808060a646961676e6f73746963090108080604636f646506106d6f64756c652e7265666572656e63650808060464617461080806066d6f64756c6506076d697373696e67080806046e616d650108080606726561736f6e060e6d697373696e672d6d6f64756c650008080605706861736506077265736f6c76650008080606666f726d617406176c69737065782e707265706172652d7265706f72742f320808060f707265706172655f7265717565737409000808060770726f6772616d09000808060b736f757263655f7370616e090008080607736f757263657309000808060673746174757306066661696c65640808060a7375626d697373696f6e0900080806087665726966696564090000",
"6c69737065782e646174756d2f32009f050808060a646961676e6f73746963090108080604636f64650610736f757263652e64656c696d69746572080806046461746108080606726561736f6e060e756e65787065637465642d656e64000808060570686173650604726561640008080606666f726d617406176c69737065782e707265706172652d7265706f72742f320808060f707265706172655f7265717565737409000808060770726f6772616d09000808060b736f757263655f7370616e090108080608627974655f656e64031a0808060a627974655f7374617274030008080606736f75726365080806066469676573740a20e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c8008080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f32000008080607736f75726365730901080806066d6f64756c6506046d61696e08080606736f75726365080806066469676573740a20e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c8008080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060673746174757306066661696c65640808060a7375626d697373696f6e09000808060876657269666965640901080806086964656e74697479080806066469676573740a20e34be7c42b9bf7b2e406c7b626513422d06e0c30afbd18b2ec9f959b92881c8008080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c650606736f75726365080806057374617465060876657269666965640000"
]
}Product invocation
Expected result
A missing selected root fails before fixed witnesses exist. A later source read can fail with fixed witnesses but no completed request seal. Product invocation awaits its 2.0 adapter.
The first two cases select root missing from the supplied main source name table. They fail with resolve/module.reference before fixed-library verification or source-module reading; sources and source_span are empty, and no source hash has completed. Received fixed identity records in the second case remain claims. The third case uses unfinished.scm, whose 13 original octets end inside a module form. Its fixed immutable dependency witnesses and source hash are already completed component inputs, while its request hash is not. It therefore reports read/source.delimiter with the source witness and whole-member span, but no prepare_request. The expected program remains an unverified claim in every case. Reporting performs no new hash or dependency check. The three complete report packets and the unfinished source identity follow D/R/U/Z and SHA-256 independently; none is copied from an engine execution. Positive retention of an already completed seal remains specified by the Rule.
A source span keeps its original UTF-8 and CRLF extent
lispex.example.v2.receipt-and-replay.source-report-original-byte-length · rev. 1
(module |café|
(import)
(export rule)
(entry rule)
(define (rule input) input)
Request and files
{
"notation": "documentation-request",
"operation": "source-report-span-check",
"source": "source.scm",
"originalSourceHex": "286d6f64756c65207c636166c3a97c0d0a202028696d706f7274290d0a2020286578706f72742072756c65290d0a202028656e7472792072756c65290d0a202028646566696e65202872756c6520696e7075742920696e707574290d0a",
"completedSourceIdentity": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"digest": {
"bytevectorHex": "3e24203c928e0a838d7aeb6396a7b001b91b363f0c07f8c1af443b75a3aaa297"
}
},
"capturedOriginalByteLength": 93,
"sourceReadableAfterFailure": false,
"firstDiagnostic": {
"phase": "read",
"code": "source.delimiter",
"data": {
"reason": "unexpected-end"
}
},
"candidateEnds": [
93,
92,
88
],
"receivedReportWithoutPreimage": {
"format": "lispex.prepare-report/2",
"status": "failed",
"submission": [],
"prepare_request": [],
"sources": [
{
"module": "café",
"source": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"digest": {
"bytevectorHex": "3e24203c928e0a838d7aeb6396a7b001b91b363f0c07f8c1af443b75a3aaa297"
}
}
}
],
"program": [],
"verified": [
{
"role": "source",
"index": 0,
"state": "verified",
"identity": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"digest": {
"bytevectorHex": "3e24203c928e0a838d7aeb6396a7b001b91b363f0c07f8c1af443b75a3aaa297"
}
}
}
],
"diagnostic": [
{
"phase": "read",
"code": "source.delimiter",
"data": {
"reason": "unexpected-end"
}
}
],
"source_span": [
{
"source": {
"format": "lispex.identity/2",
"domain": "lispex.source/2",
"digest": {
"bytevectorHex": "3e24203c928e0a838d7aeb6396a7b001b91b363f0c07f8c1af443b75a3aaa297"
}
},
"byte_start": 0,
"byte_end": 93
}
]
},
"scope": "The local source witness proves the original extent. A received report with the same bytes is only a claim until a separate finite verifier obtains and checks the preimage.",
"sourceNameTableAndRootValidated": true,
"moduleSources": [
{
"name": "café",
"source": "source.scm"
}
],
"rootModule": "café"
}
source.delimiterSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"diagnostic": {
"phase": "read",
"code": "source.delimiter",
"data": {
"reason": "unexpected-end"
}
},
"sourceSpan": {
"byte_start": 0,
"byte_end": 93
},
"candidateEnds": [
93,
92,
88
],
"spanAcceptedAgainstLocalWitness": [
true,
false,
false
],
"postFailureSourceReads": 0,
"postFailureSourceCopyAllocations": 0,
"postFailureSourceHashes": 0,
"rawReportVerifiesOriginalLength": false,
"sourceIdentity": {
"preimageHex": "6c69737065782e646174756d2f3200b30108080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060562797465730a5d286d6f64756c65207c636166c3a97c0d0a202028696d706f7274290d0a2020286578706f72742072756c65290d0a202028656e7472792072756c65290d0a202028646566696e65202872756c6520696e7075742920696e707574290d0a0000",
"digestHex": "3e24203c928e0a838d7aeb6396a7b001b91b363f0c07f8c1af443b75a3aaa297",
"identityBytesHex": "6c69737065782e646174756d2f320065080806066469676573740a203e24203c928e0a838d7aeb6396a7b001b91b363f0c07f8c1af443b75a3aaa29708080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"prepareReportBytesHex": "6c69737065782e646174756d2f3200a1050808060a646961676e6f73746963090108080604636f64650610736f757263652e64656c696d69746572080806046461746108080606726561736f6e060e756e65787065637465642d656e64000808060570686173650604726561640008080606666f726d617406176c69737065782e707265706172652d7265706f72742f320808060f707265706172655f7265717565737409000808060770726f6772616d09000808060b736f757263655f7370616e090108080608627974655f656e6403ba010808060a627974655f7374617274030008080606736f75726365080806066469676573740a203e24203c928e0a838d7aeb6396a7b001b91b363f0c07f8c1af443b75a3aaa29708080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f32000008080607736f75726365730901080806066d6f64756c650605636166c3a908080606736f75726365080806066469676573740a203e24203c928e0a838d7aeb6396a7b001b91b363f0c07f8c1af443b75a3aaa29708080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060673746174757306066661696c65640808060a7375626d697373696f6e09000808060876657269666965640901080806086964656e74697479080806066469676573740a203e24203c928e0a838d7aeb6396a7b001b91b363f0c07f8c1af443b75a3aaa29708080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f320008080605696e646578030008080604726f6c650606736f75726365080806057374617465060876657269666965640000"
}Product invocation
Expected result
A source span keeps its original UTF-8 and CRLF extent. Product invocation awaits its 2.0 adapter.
The unfinished module uses one two-octet é and five CRLF line endings. Its span ends at 93, not 92 decoded scalars or 88 octets after line-ending rewriting. These lengths follow the literal source bytes. Reporting uses the completed source witness after the source becomes unavailable. The raw received report has canonical bytes but no independent proof of its source extent. Packet and identity bytes were independently calculated from the specified codec and SHA-256.
Receipt
A portable receipt binds a semantic request to its completed canonical outcome. The same request and outcome produce the same portable semantic record. The request includes the finite limits and resource model needed to interpret a resource stop.
Keep exact source provenance, engine artifact identity, and issuance details alongside the receipt. The resource contract defines semantic resource events. Operational usage counters describe an execution and stay outside the portable receipt.
11.13 Bind a receipt to the request and outcome
A portable receipt binds the semantic request identity to the completed canonical outcome. Deterministic language failures and resource stops retain their failure outcomes. The receipt excludes work_used, cache state, wall time, host paths, engine identity, and issuance details. Source provenance and execution evidence attach separately.
Why
Resource usage and timing describe how a host ran the request. They cannot change the result being replayed. Resource usage and timing stay outside the portable record.
Admission refusals stay separate from evaluation receipts.
Receipts for a value and a language failure
lispex.example.v2.receipt-and-replay.receipt-content · rev. 2
(module main
(import)
(export first-item)
(entry first-item)
(define first-item
(lambda (items)
(car items)))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"input": {
"kind": "list",
"items": [
{
"kind": "integer",
"value": "3"
}
]
},
"preparationCache": "cold"
},
{
"input": {
"kind": "list",
"items": [
{
"kind": "integer",
"value": "3"
}
]
},
"preparationCache": "warm"
},
{
"input": {
"kind": "list",
"items": []
},
"preparationCache": "warm"
}
],
"hostSetup": {
"recordOperationalMetrics": true,
"evidence": "Attach host path, issuance time, and engine artifact data outside the portable semantic record."
},
"comparison": "Compare the first two portable receipt cores and inspect receipt eligibility for the third request.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
3Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "3"
}
}3Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "3"
}
}{"category":"domain","operation":"car","required":"pair","received":"empty-list"}Outcome details
{
"kind": "language-failure",
"valueCount": 0,
"condition": {
"category": "domain",
"operation": "car",
"required": "pair",
"received": "empty-list"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"receiptExpectations": {
"eligible": [
true,
true,
true
],
"firstTwoSemanticCoresEqual": true,
"bindsRequestAndOutcome": true,
"excludedFields": [
"work_used",
"cache-state",
"wall-time",
"host-path",
"engine-identity",
"issuance-details"
]
}
}Product invocation
Expected result
Cold and warm preparation return the exact integer 3 with equal portable semantic receipt content. The empty input has its own language failure receipt. Product invocation awaits its 2.0 adapter.
The third request has a different input and records the car domain failure. Receipt eligibility here describes the expected product behavior. No execution receipt is attached to this example.
11.14 Preserve the class of a failed attempt
Keep admission refusal, language failure, resource exhaustion, operational interruption, and engine defect distinct. Admission refusal produces an admission report tied to the submitted request data. It produces no canonical evaluation outcome and no evaluation receipt. The report records the refused submission and the identities that admission has verified. A deterministic resource stop is a terminal semantic failure. Operational interruption and engine defect produce no canonical evaluation outcome or semantic receipt. They cannot be recorded as successful rule evaluations. A qualification or evidence refusal after evaluation produces a separate profile work report. It preserves the completed canonical outcome and evaluation receipt eligibility.
Why
An admission report identifies a refused submission without claiming an evaluation. A host interruption says that an attempt did not complete. Treating either as a rule result would invent an outcome. Admission and host interruption reports stay separate from evaluation outcomes.
Admission refusals stay separate from evaluation receipts.
An admission report without an evaluation receipt
lispex.example.v2.receipt-and-replay.admission-without-receipt · rev. 2
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
input))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"input": {
"fixtureValue": "host callback from hostSetup"
}
}
],
"hostSetup": {
"inputKind": "host-callback",
"callbackResult": {
"kind": "integer",
"value": "42"
}
},
"reportSetup": {
"submittedData": "retain the refused submission as admission report data",
"identityData": "record only identities that admission has verified before rejection",
"absentIdentities": "do not invent a canonical input or evaluation identity for the rejected callback"
},
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
{"category":"input-domain","required":"Datum","received":"host-callback"}Outcome details
{
"kind": "admission-failure",
"valueCount": 0,
"condition": {
"category": "input-domain",
"required": "Datum",
"received": "host-callback"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"entryEvaluated": false,
"callbackInvocations": 0,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false,
"admissionReport": {
"kind": "admission-refusal-report",
"binding": "submitted-request-data",
"verifiedIdentitiesOnly": true,
"inventedCanonicalIdentities": false
}
}Product invocation
Expected result
Admission rejects the host callback as a non-Datum input. It records the refused submission without evaluating the entry or invoking the callback. No canonical evaluation outcome or evaluation receipt is produced. Product invocation awaits its 2.0 adapter.
The admission report describes the refused submission and records only verified identities. It creates no missing canonical input or evaluation identity. The admission report format and verified marker rule define its exact envelope.
Repeat a terminal resource stop
lispex.example.v2.receipt-and-replay.resource-replay · rev. 2
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
(let loop ()
(loop))))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "identical finite values sufficient to prepare this source",
"evaluate": "identical finite values sufficient to enter the loop"
},
"requests": [
{
"input": {
"kind": "integer",
"value": "0"
}
},
{
"input": {
"kind": "integer",
"value": "0"
}
}
],
"comparison": "Repeat the complete request and compare the first resource stop, exhausted axis, and canonical site.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
resource-stopOutcome details
{
"kind": "resource-stop",
"valueCount": 0,
"terminal": true
}resource-stopOutcome details
{
"kind": "resource-stop",
"valueCount": 0,
"terminal": true
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"canonicalOutcomeEqual": true,
"failurePhaseEqual": true,
"failureCodeEqual": true,
"typedParametersEqual": true,
"exhaustedAxisEqual": true,
"canonicalSiteEqual": true
},
"receiptExpectations": {
"eligible": [
true,
true
],
"semanticCoreEqual": true
}
}Product invocation
Expected result
Both evaluations end with the same terminal resource stop. They return no datum and produce the same portable semantic receipt content. Product invocation awaits its 2.0 adapter.
The finite limits are fixed for the pair. The final resource contract determines the exhausted axis and stop location. The plan compares their equality without freezing a tariff or numeric preset.
Keep incomplete attempts out of semantic receipts
lispex.example.v2.receipt-and-replay.external-termination · rev. 2
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
input))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"input": {
"kind": "integer",
"value": "42"
},
"hostScenario": "operational interruption after admission before semantic completion"
},
{
"input": {
"kind": "integer",
"value": "42"
},
"hostScenario": "detected engine defect after admission before semantic completion"
}
],
"hostSetup": {
"faultControl": "The product test controls interruption and defect reporting outside the guest program.",
"completion": "Neither attempt produces a completed canonical evaluation outcome."
},
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"attemptReports": [
{
"kind": "operational-interruption",
"phase": "operational",
"canonicalOutcomeProduced": false,
"semanticReceiptEligible": false
},
{
"kind": "engine-defect",
"phase": "internal",
"canonicalOutcomeProduced": false,
"semanticReceiptEligible": false
}
]
}Product invocation
Expected result
The interrupted attempt and defective attempt remain distinct reports. Neither produces a canonical evaluation outcome or a semantic receipt. Product invocation awaits its 2.0 adapter.
The host scenarios are test setup notation. They add no guest operation. A valid rule source does not turn an incomplete or defective execution into a successful evaluation.
11.15 Mark only verified identity bindings
A verified marker records a recomputed identity and its checked role. Include it only after the complete identity input and its declared contract pass validation and bounded hashing completes. The marker never copies an unverified claim from an operand. Missing knowledge uses an absent option or empty vector. A verified evidence identity identifies its canonical bytes. Authentication still requires the separate signature and trust checks. Sort markers by role and then index. Reject repeated role and index pairs. A diagnostic may quote a requested identity as submitted data. Such a quotation is not a verified identity binding.
Why
A reader can distinguish a byte binding from a claim made by an untrusted input. Keeping authentication separate prevents a digest check from implying issuer trust.
11.16 Admission report bytes
An admission refusal uses the closed admission report below. Its submission identity is present only after complete immutable capture and bounded identity computation succeed. A profile work identity is present only after its captured input, effective budget, and check contract pass their identity checks. A captured declaration can still fail its later schema checks. Standalone verify and replay carry no selected profile declaration. The report carries the first admission diagnostic. It carries no evaluation outcome or receipt. An identity computation refusal leaves that binding absent and keeps the original diagnostic phase. Incomplete host ingestion uses an attempt report instead. Failed program verification never supplies a verified program marker.
When profile admission cannot reserve the next required identity hash within its admitted finite host work account, use admission/profile.budget. Its profile field names the selected builtin profile contract, and budget is work. This rule assumes that profile contract is already known. The hash produces no identity or verified marker unless its reservation, complete computation, and domain checks finish. The identity helper does not choose a different phase, charge EvaluationLimits, or replace the refusal with input.resource. Which hash occurs next follows the profile work schedule; reporting adds no hash or check.
Why
Admission describes whether a submitted operation can begin. A completed bounded hash identifies exact submitted data while semantic identities may still be unavailable. An absent hash cannot imply a verified binding.
A profile admission identity hash refused by its host work budget uses admission/profile.budget. Other operations retain their own work accounts. A hash algorithm does not decide which operation failed. Effective host budgets, the profile checks, and their complete event schedule remain with the profile work contract.
11.17 Profile work reports preserve the receipt
A profile work report binds its verified profile work and semantic request to the exact completed receipt packet. Check output qualification before required evidence. A failed evaluation skips output qualification and retains its failure outcome. Required evidence may still examine that receipt. Stop at the first required profile refusal. The report records the checks that completed and those not reached. Preserve the original outcome and receipt bytes for every report status.
Why
Profile qualification has its own result and budget. Carrying the original receipt makes that boundary visible and prevents a later refusal from rewriting language meaning.
| Form | Exact shape |
|---|---|
VerifiedIdentity | R{role=VerifiedRole, index=Nat, state="verified", identity=Identity} |
VerifiedRole | "source" | "source-bundle" | "prepared-artifact" | "program" | "prepare-request" | "input" | "request" | "profile-contract" | "profile" | "profile-work" | "evidence" | "trust-policy" | "receipt" | "expected-receipt" | "actual-receipt" |
| Role | Required identity domain |
|---|---|
| source | lispex.source/2 |
| source-bundle | lispex.source-bundle/2 |
| prepared-artifact | lispex.artifact/2 with prepared kind |
| program | lispex.program/2 |
| prepare-request | lispex.prepare-request/2 |
| input | lispex.input/2 |
| request | lispex.request/2 |
| profile-contract | lispex.contract/2 with profile kind |
| profile | lispex.profile/2 |
| profile-work | lispex.profile-work/2 |
| evidence | lispex.evidence/2 |
| trust-policy | lispex.trust-policy/2 |
| receipt, expected-receipt, actual-receipt | lispex.receipt/2 |
The index is zero for a singleton role. Source indices select the verified source member table. Only the source role can have several entries. Every marker must match the report field or admitted operand with that role. An omitted marker means its verification did not complete. The strings claimed, trusted, and unknown are not marker states. An authenticated issuer appears only in an evidence verification report.
These are the marker roles used by the reports in this chapter. Other checked identities can occur within their validated preimages without gaining an additional marker role. An identity verification table states when a binding is known. It does not add fields or roles to a report.
| Form | Exact shape |
|---|---|
AdmissionOperation | "prepare" | "run" | "verify" | "graph" | "replay" | "record-admission" | "open" | "build" | "load" | "evaluate" | "export" |
AdmissionReport | R{format="lispex.admission-report/2", operation=AdmissionOperation, stage="admission", status="refused", submission=Option(SubmissionIdentity), profile_work=Option(ProfileWorkIdentity), verified=Vector(VerifiedIdentity), diagnostic=Diagnostic} |
AdmissionReportBytes | D(AdmissionReport) |
The diagnostic phase is admission. AdmissionOperation names a report operation and adds no CLI command. Direct host calls use their exact operation name. Profile evaluation uses run because it performs that profile work operation. Its data keeps the exact fields from the existing catalog. Malformed declarations use request.invalid before a profile identity exists. A submitted claimed identity stays within the submission bytes until verified. The report has no outcome, receipt, or signature field. No adapter may fill these missing fields with a false success value. Report construction follows the existing diagnostic reservation order. The first committed diagnostic remains fixed. Submission is present only after complete capture and bounded identity computation succeed. A completed capture with an unfinished hash leaves submission absent. An absent submission identity also leaves profile_work absent. The identity fields never use a zero digest or a digest prefix as a placeholder.
| Form | Exact shape |
|---|---|
QualificationState | "passed" | "failed" | "not-applicable" | "not-reached" |
EvidenceState | "passed" | "failed" | "not-required" | "not-reached" |
ProfileChecks | R{qualification=QualificationState, evidence=EvidenceState} |
ProfileWorkReport | R{format="lispex.profile-work-report/2", stage=ProfileReportStage, status=ProfileReportStatus, profile_work=ProfileWorkIdentity, program=ProgramIdentity, request=RequestIdentity, receipt_bytes=Bytevector(PortableReceiptBytes), checks=ProfileChecks, verified=Vector(VerifiedIdentity), diagnostic=Option(Diagnostic), evidence_report=Option(EvidenceVerificationRecord)} |
ProfileReportStage | "qualification" | "evidence" |
ProfileReportStatus | "completed" | "refused" |
ProfileWorkReportBytes | D(ProfileWorkReport) |
| Situation | Qualification | Evidence | Report stage and status |
|---|---|---|---|
| Value passes schema and requires no evidence | passed | not-required | qualification and completed |
| Value fails schema or its qualification budget | failed | not-reached | qualification and refused |
| Failure outcome and no required evidence | not-applicable | not-required | qualification and completed |
| Required evidence passes | passed or not-applicable | passed | evidence and completed |
| Required evidence refuses | passed or not-applicable | failed | evidence and refused |
Completed has no diagnostic. Refused has one diagnostic from its report stage. The evidence_report field is absent until evidence verification produces a report. A host budget refusal can precede that report. No skipped check is marked passed. The receipt request and program equal the corresponding report fields. The embedded outcome remains the exact completed language outcome. The profile work identity remains separate from the semantic request identity.
Before guest entry, reserve the terminal report capacity required by the profile host contract. That reservation includes the complete receipt packet and all required diagnostic fields. The selected finite evaluation limits bound the possible result and diagnostic sizes. The host keeps the immutable receipt even if later physical delivery fails. Reservation amounts and physical capacity proofs stay with the cost model freeze.
The report contains no signature over itself. An evidence envelope may bind the profile work identity and receipt. It never embeds the final profile work report or its own verification result. This prevents a circular signature input.
Keep a claimed program identity out of verified markers
lispex.example.v2.receipt-and-replay.claimed-identity-not-verified · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "admit-prepared",
"artifact": "well framed bytes with a false claimed program identity"
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"reportFormat": "lispex.admission-report/2",
"submissionIdentityPresent": true,
"verifiedProgramMarkerPresent": false,
"profileWorkIdentityPresent": false,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
Keep a claimed program identity out of verified markers. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Refuse a declaration before assigning its identity
lispex.example.v2.receipt-and-replay.invalid-profile-declaration-report · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "admit-profile",
"declaration": "A complete declaration has the extra field unexpected."
}
request.invalidSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"diagnostic": {
"phase": "admission",
"code": "request.invalid",
"data": {
"field": "profile-declaration.unexpected",
"reason": "unknown-field"
}
},
"verifiedProfileMarkerPresent": false,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
Refuse a declaration before assigning its identity. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Keep partial input outside admission receipts
lispex.example.v2.receipt-and-replay.incomplete-ingestion-report · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "run",
"hostEvent": "input transport ends with an incomplete read"
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"reportFormat": "lispex.attempt-report/2",
"submissionIdentityPresent": false,
"admissionReportPresent": false,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
Keep partial input outside admission receipts. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Preserve a successful receipt after schema mismatch
lispex.example.v2.receipt-and-replay.profile-report-output-mismatch · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "run",
"completedResult": 17,
"outputSchema": "symbol",
"evidenceRequired": true
}
40Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"status": 40,
"reportStatus": "refused",
"reportStage": "qualification",
"checks": {
"qualification": "failed",
"evidence": "not-reached"
},
"receiptPresent": true,
"receiptChanged": false,
"outcomeChanged": false
}Product invocation
Expected result
Preserve a successful receipt after schema mismatch. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Check evidence for a completed failure receipt
lispex.example.v2.receipt-and-replay.profile-report-failure-evidence · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "run",
"completedResult": "uncaught domain.division-by-zero",
"requiredEvidence": "valid matching envelope"
}
20Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"status": 20,
"reportStatus": "completed",
"reportStage": "evidence",
"checks": {
"qualification": "not-applicable",
"evidence": "passed"
},
"receiptChanged": false,
"outcomeChanged": false
}Product invocation
Expected result
Check evidence for a completed failure receipt. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Reserve room for the complete terminal report before entry
lispex.example.v2.receipt-and-replay.profile-report-reserve-before-entry · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "run",
"hostBudget": {
"format": "lispex.profile-host-budget/2",
"resource_model": "verified fixture host ResourceModelIdentity",
"work": "W",
"allocation": "A",
"frames": "F",
"input": "I",
"report": "R",
"evidence": "E"
},
"hostBudgetConstraints": "report capacity below the required complete terminal report reservation",
"fixtureParameterTypes": {
"W": "exact nonnegative integer",
"A": "exact nonnegative integer",
"F": "exact nonnegative integer",
"I": "exact nonnegative integer",
"R": "exact nonnegative integer",
"E": "exact nonnegative integer"
},
"budgetNotation": "The named W A F I R E parameters stand for finite exact integers that satisfy the separately stated fixture constraints. They are not serialized strings in a public budget record."
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"reportFormat": "lispex.admission-report/2",
"entryInvoked": false,
"refusedBudgetField": "report",
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false
}Product invocation
Expected result
Reserve room for the complete terminal report before entry. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Distinguish a checked evidence identity from an authenticated issuer
lispex.example.v2.receipt-and-replay.digest-is-not-authentication · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"operation": "verify",
"evidence": "canonical envelope with a recomputed identity but a rejected signature"
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"evidenceIdentityVerified": true,
"authenticatedIssuerPresent": false,
"signatureAccepted": false,
"receiptChanged": false
}Product invocation
Expected result
Distinguish a checked evidence identity from an authenticated issuer. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Omit an identity whose bounded hashing did not complete
lispex.example.v2.receipt-and-replay.identity-work-before-refusal · rev. 2
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"operation": "run",
"source": "source.scm",
"rootModule": "main",
"scope": "Profile admission with a selected builtin base/2 contract; a component refusal observation at the next required submission hash.",
"completedProfileContractInput": {
"kind": "profile",
"name": "base/2",
"definition": {
"format": "lispex.profile-contract/2",
"profile": "base",
"declaration_format": "lispex.profile/2",
"schema_format": "lispex.schema/2",
"work_contract": "lispex.profile-work/2"
}
},
"completedProfileContractIdentity": {
"format": "lispex.identity/2",
"domain": "lispex.contract/2",
"digest": {
"bytevectorHex": "ee922f05c6247a298f4dcabadaf65f819ee3f3f3a9d15abeda3c9ff704056ab1"
}
},
"profileContractIdentityCalculation": {
"preimageHex": "6c69737065782e646174756d2f3200a50208080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f61640808060a646566696e6974696f6e080806126465636c61726174696f6e5f666f726d617406106c69737065782e70726f66696c652f3208080606666f726d617406196c69737065782e70726f66696c652d636f6e74726163742f320808060770726f66696c650604626173650808060d736368656d615f666f726d6174060f6c69737065782e736368656d612f320808060d776f726b5f636f6e747261637406156c69737065782e70726f66696c652d776f726b2f3200080806046b696e64060770726f66696c65080806046e616d650606626173652f320000",
"digestHex": "ee922f05c6247a298f4dcabadaf65f819ee3f3f3a9d15abeda3c9ff704056ab1",
"identityBytesHex": "6c69737065782e646174756d2f320067080806066469676573740a20ee922f05c6247a298f4dcabadaf65f819ee3f3f3a9d15abeda3c9ff704056ab108080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"completeOperandSnapshot": true,
"reservation": {
"account": "profile-host",
"phase": "admission",
"axis": "work",
"remaining": "0",
"required": "1",
"effect": "submission-hash"
},
"fixtureArithmetic": "The exact next requirement and remaining work are explicit component inputs. They do not select a product tariff, resource model, or default budget.",
"firstDiagnostic": {
"phase": "admission",
"code": "profile.budget",
"data": {
"profile": {
"format": "lispex.identity/2",
"domain": "lispex.contract/2",
"digest": {
"bytevectorHex": "ee922f05c6247a298f4dcabadaf65f819ee3f3f3a9d15abeda3c9ff704056ab1"
}
},
"budget": "work"
}
},
"boundary": "No submission hash effect occurs after refusal. Report construction imports this typed first refusal; it does not perform profile checks or derive an effective host budget."
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"submissionOption": [],
"profileWorkOption": [],
"verifiedSubmissionMarkerPresent": false,
"verifiedRequestMarkerPresent": false,
"reportStatus": "refused",
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false,
"diagnosticIdentity": {
"phase": "admission",
"code": "profile.budget"
},
"diagnosticPayloadBytesHex": "6c69737065782e646174756d2f3200b80108080604636f6465060e70726f66696c652e6275646765740808060464617461080806066275646765740604776f726b0808060770726f66696c65080806066469676573740a20ee922f05c6247a298f4dcabadaf65f819ee3f3f3a9d15abeda3c9ff704056ab108080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f320000080806057068617365060961646d697373696f6e00",
"profileContractIdentityBytesHex": "6c69737065782e646174756d2f320067080806066469676573740a20ee922f05c6247a298f4dcabadaf65f819ee3f3f3a9d15abeda3c9ff704056ab108080606646f6d61696e06116c69737065782e636f6e74726163742f3208080606666f726d617406116c69737065782e6964656e746974792f3200",
"commandStatus": 30,
"guestEvaluationAccountDebited": false
}Product invocation
Expected result
Profile admission refuses a work reservation for submission hashing with admission/profile.budget; unfinished identities remain absent. Product invocation awaits its 2.0 adapter.
The selected base/2 profile contract has the complete canonical definition in this fixture. Its identity and DiagnosticPayloadBytes are calculated directly from the codec and SHA-256. The next submission-hash work requirement is 1 and remaining host work is 0, so admission/profile.budget commits before hashing. The quoted profile contract does not verify the absent submission or semantic request. Effective budget resolution and the complete profile schedule are separate profile-work responsibilities. This is a component boundary example with no chosen product tariff.
Execution evidence
Execution evidence describes the product and artifact that performed an evaluation. It binds that description to the request and outcome being reported. An evidence envelope can add an issuer, issuance time, and signature.
A signature authenticates the signed record and its signer under the selected trust policy. Product conformance evidence establishes whether the implementation follows the language contract. The calling application decides which external actions to permit.
A profile work report records qualification or evidence work after evaluation. It identifies the profile work, its stage, and whether the required host work completed. It binds the report to the verified semantic request and completed canonical outcome. A schema mismatch or exhausted profile host budget refuses the profile result. It preserves the canonical outcome and evaluation receipt eligibility.
A refusal before guest entry uses the admission report under the termination rule. That report identifies the same profile work and only the identities already verified. It produces no canonical evaluation outcome or evaluation receipt.
Profiles and value interchange defines the separate profile host budget. The report formats and identity encoding define their bytes.
11.18 Verify evidence against its request and outcome
Execution evidence binds the product and engine artifact record to the reported request and outcome. Issuer identity and signatures belong to a separate envelope. The named envelope has no issuance time field. Signature verification authenticates that signed record under the caller's trust policy. It does not establish policy correctness or authorize external actions.
Why
A genuine signature can identify a record without validating the policy that produced it. Authentication stays separate from semantic comparison.
Check the record that an envelope authenticates
lispex.example.v2.receipt-and-replay.evidence-binding · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
input))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"input": {
"kind": "integer",
"value": "17"
}
}
],
"hostSetup": {
"evidence": "Obtain an authentic execution envelope for this request, outcome, and admitted artifact under a selected trusted issuer.",
"comparisons": [
"unchanged request, outcome, and artifact",
"changed input in the claimed request",
"changed claimed outcome",
"different claimed engine artifact"
],
"mutation": "Keep the original authenticated envelope while changing only the record supplied for comparison."
},
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
17Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "17"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"evidenceBinding": [
{
"comparedRecord": "original-request-outcome-artifact",
"matches": true
},
{
"comparedRecord": "changed-input",
"matches": false
},
{
"comparedRecord": "changed-outcome",
"matches": false
},
{
"comparedRecord": "changed-artifact",
"matches": false
}
]
}Product invocation
Expected result
The rule returns the exact integer 17. The authentic envelope matches its original record and fails binding checks against the changed records. Product invocation awaits its 2.0 adapter.
Authentication applies to the original signed record. The pending envelope contract supplies signature bytes and trust policy inputs. The product plan checks binding to the claimed execution.
11.19 Sign one canonical execution statement
An evidence envelope contains one execution statement and one Ed25519 signature. Encode both records with the closed field tables below. The signed message is the complete Datum packet for the statement. The statement binds the exact portable receipt bytes and the asserted product and artifact identities. Its optional profile work identity describes the work being attested. It is not the identity of a later verification or replay. The envelope carries no profile work report.
Why
One signed representation prevents products from authenticating different interpretations of a record. Binding exact receipt bytes preserves the completed language result. Keeping the report outside the statement prevents a signature from containing its own verification result.
11.20 Verify evidence under explicit offline trust
Verification uses the supplied policy and the fixed check order below. Every required check must succeed. A key is trusted only for its listed product and artifact tuple. An empty policy trusts no key. The verifier performs no issuer lookup and reads no clock. Evidence verification uses the finite profile host budget. Its report records an authenticated issuer only after binding, signature, and trust checks succeed. A refusal preserves every completed canonical outcome and portable receipt.
Why
The same envelope can be accepted under one explicit policy and refused under another. Recording the policy makes that difference reproducible. A fixed check order preserves the first refusal and bounds cryptographic work. Signature authentication remains separate from language conformance and application authority.
The notation uses the identity encoding rule. D is one complete lispex.datum/2 packet. R is a closed record with canonical string keys. Every field is required. Options use the empty vector or a vector with one value.
| Record | Field | Value |
|---|---|---|
EvidenceStatement | format | "lispex.execution-statement/2" |
EvidenceStatement | algorithm | "ed25519" |
EvidenceStatement | issuer | Issuer identity derived from algorithm and public_key |
EvidenceStatement | public_key | Bytevector with exactly 32 octets |
EvidenceStatement | product | "native", "npm", or "wasm" |
EvidenceStatement | product_artifact | Artifact identity computed with kind product |
EvidenceStatement | engine_artifact | Artifact identity computed with kind engine |
EvidenceStatement | receipt_bytes | Bytevector containing one complete PortableReceiptBytes packet |
EvidenceStatement | source | Optional source or source bundle identity |
EvidenceStatement | profile_work | Optional identity of the original attested profile work |
EvidenceEnvelope | format | "lispex.evidence/2" |
EvidenceEnvelope | statement | EvidenceStatement as a nested record |
EvidenceEnvelope | signature | Bytevector with exactly 64 octets |
| Named bytes | Definition |
|---|---|
EvidenceSignedBytes | D(EvidenceStatement) |
EvidenceEnvelopeBytes | D(EvidenceEnvelope) |
TrustPolicyBytes | D(TrustPolicy) |
EvidenceVerificationBytes | D(EvidenceVerificationRecord) |
The signature covers the statement packet including its framing. It does not sign the envelope packet or a display string. The public key uses raw octets. The format has no algorithm negotiation, certificate chain, timestamp, or extension field.
The statement authenticates the issuer's assertions about product and artifact identities. A verifier does not infer artifact content validation from that authentication. The signed profile_work remains an assertion about its original work. A later verifier preserves that scope and records its own work separately.
The optional source field declares its scope through its identity domain. A source identity names one exact source stream. A source bundle identity names the complete source set and root.
Ed25519 uses RFC 8032 section 5.1. This format fixes the following predicate.
| Item | Required value or check |
|---|---|
| Variant | Pure Ed25519 |
| Signing | The deterministic signing procedure in RFC 8032 section 5.1.6 |
Message M | EvidenceSignedBytes |
Public point A | Decode public_key with RFC 8032 section 5.1.3 |
| Public subgroup | A != O and [L]A = O |
| Signature split | ENC(R) || ENC(S) with 32 octets in each part |
| Point encoding | Canonical RFC 8032 decoding with y < p and the required sign bit |
| Scalar | Little endian integer S with 0 <= S < L |
| Challenge | k = LE(SHA-512(ENC(R) || public_key || M)) mod L |
| Equation | [S]B = R + [k]A |
| Parameters | B, L, p, and O use the Ed25519 definitions in RFC 8032 |
Both points must decode successfully. A point with zero x coordinate uses a zero sign bit. The unmultiplied equation is required. Ed25519ctx and Ed25519ph are not accepted. Signing is a host operation over explicit data. This contract adds no guest primitive or implicit signer.
Trust is supplied as complete data. It has no implicit entries.
| Record | Field | Value |
|---|---|---|
TrustPolicy | format | "lispex.trust-policy/2" |
TrustPolicy | issuers | Vector of TrustedIssuer records |
TrustedIssuer | issuer | Issuer identity for its public key |
TrustedIssuer | public_key | Bytevector with exactly 32 octets |
TrustedIssuer | executions | Vector of TrustedExecution records |
TrustedExecution | product | "native", "npm", or "wasm" |
TrustedExecution | product_artifact | Artifact identity for the permitted product bytes |
TrustedExecution | engine_artifact | Artifact identity for the permitted engine bytes |
EvidenceRequirement | format | "lispex.evidence-requirement/2" |
EvidenceRequirement | mode | "none" or "signed-execution" |
Order issuer entries by unsigned IdentityBytes. Reject duplicate issuer identities before checking entry contents. Recompute every issuer from its raw public key. Check each key with the same canonical point and subgroup predicate used for signatures. Order each execution vector by the unsigned bytes of D(TrustedExecution). Reject duplicate execution records. The empty execution vector permits no execution.
none requires no envelope. signed-execution requires exactly one lispex.evidence/2 envelope verified under one explicit lispex.trust-policy/2 policy. Its target is the completed actual receipt for the profile request. A successful schema qualification cannot satisfy this evidence requirement.
The requirement identity is the contract identity with kind evidence-requirement, name lispex.evidence-requirement/2, and the exact requirement record as its definition. No issuer, key, product artifact, or engine artifact is trusted by default.
Checks run in the following order after the command reaches its evidence stage. Each step reserves profile host resources before its work. A failure ends this verification and preserves the first diagnostic.
| Step | Check | Standalone refusal |
|---|---|---|
| 1 | Decode and validate the complete trust policy and its canonical order | verify, verification.failed, check = "trust" |
| 2 | Decode and validate the envelope and statement fields | verify, verification.failed, check = "evidence" |
| 3 | Require statement.receipt_bytes to equal the exact target receipt bytes | verify, verification.failed, check = "evidence-binding" |
| 4 | Recompute the issuer identity from the raw key and require equality | verify, verification.failed, check = "evidence" |
| 5 | Decode the public key and require the fixed subgroup predicate | verify, verification.failed, check = "signature" |
| 6 | Require the issuer, raw public key, and complete execution tuple in the policy | verify, verification.failed, check = "trust" |
| 7 | Decode the signature and check the fixed Ed25519 equation | verify, verification.failed, check = "signature" |
| 8 | Complete the evidence verification record | The appropriate report budget failure |
profile-input covers the supplied policy and envelope bytes. profile-hash covers issuer, policy, envelope, and signature message hashing in byte order. profile-signature covers one public point or signature predicate in table order. profile-report covers report encoding. The profile work contract owns reservations. Numeric tariffs remain with the resource model.
Standalone verification budget exhaustion uses verify and verification.budget. Required profile evidence uses evidence and profile.budget. A missing required envelope or policy fails profile admission with profile.admission and evidence-prerequisite. An evidence producer that becomes unavailable after an admitted evaluation uses profile.evidence with unavailable-evidence. A target mismatch uses profile.evidence with evidence-mismatch. Other evidence refusal uses profile.evidence with invalid-evidence.
Verify checks supplied evidence only after the complete receipt comparison succeeds. Its target is the actual receipt. Replay checks supplied evidence against the expected receipt before evaluation. Profile evidence checks the completed actual receipt after output qualification. Profile admission can validate required input presence and trust policy structure before entry. It does not claim that a signature matches a result that has not completed.
The evidence record begins with an admitted target receipt. Its identity has already been checked. A refusal before that point uses the surrounding admission or profile work report.
| Field | Value |
|---|---|
format | "lispex.evidence-verification/2" |
target_receipt | The admitted target receipt identity |
evidence | Optional identity of the complete submitted envelope byte snapshot |
trust_policy | Optional identity of the validated trust policy |
status | "verified" or "refused" |
authenticated_issuer | Optional issuer identity |
diagnostic | Optional diagnostic field record |
A verified record has an authenticated issuer and no diagnostic. A refused record has no authenticated issuer and has one diagnostic. An input identity appears only after the complete corresponding bytes have been hashed. The evidence byte identity does not claim a valid signature. The trust policy identity appears only after its canonical structure has been checked.
A profile work report may contain this record. It binds its own profile work identity to the same completed receipt. The evidence statement does not contain that final report. Refusal never removes or rewrites the canonical outcome or the receipt. An evaluation failure retains its existing command status when later evidence work also refuses.
Authenticate the exact statement packet
lispex.example.v2.receipt-and-replay.evidence-exact-statement · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operation": "verify-evidence",
"targetReceipt": "receipt-A",
"trustPolicy": {
"issuer": "issuer-A",
"publicKey": "RFC 8032 test 1 public key",
"executions": [
"native-product-A-engine-A"
]
},
"cases": [
{
"name": "original",
"statement": "receipt-A/native/product-A/engine-A",
"signature": "valid deterministic signature over D(statement)"
},
{
"name": "changed-statement",
"statement": "receipt-A/native/product-B/engine-A",
"signature": "unchanged original signature",
"policyAlsoAllows": "native-product-B-engine-A"
}
],
"signingVector": {
"publicTestSeedHex": "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60",
"publicKeyHex": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
"signingRule": "RFC 8032 section 5.1.6 over EvidenceSignedBytes",
"authority": "Public primitive test data only. No live issuer is selected."
}
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"evidenceChecks": [
{
"case": "original",
"status": "verified",
"authenticatedIssuer": "issuer-A"
},
{
"case": "changed-statement",
"status": "refused",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "signature"
}
},
"authenticatedIssuer": null
}
],
"signedBytes": "complete-Datum-statement-packet",
"receiptsPreserved": [
"receipt-A"
],
"guestEvaluations": 0
}Product invocation
Expected result
The original signature authenticates its exact statement packet. Changing a signed artifact field makes signature verification fail. The admitted receipt remains unchanged. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Reject alternate Ed25519 representations
lispex.example.v2.receipt-and-replay.evidence-strict-signature · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operation": "verify-evidence",
"targetReceipt": "receipt-A",
"trustedKey": "RFC 8032 test 1 public key",
"cases": [
{
"name": "scalar-order",
"signatureScalar": "L",
"signaturePoint": "valid canonical R",
"signatureScalarLittleEndianHex": "edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010"
},
{
"name": "noncanonical-point",
"signaturePointY": "p",
"signatureScalar": "valid scalar",
"signaturePointHex": "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f"
},
{
"name": "wrong-variant",
"algorithm": "ed25519ph"
}
]
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"evidenceChecks": [
{
"case": "scalar-order",
"status": "refused",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "signature"
}
}
},
{
"case": "noncanonical-point",
"status": "refused",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "signature"
}
}
},
{
"case": "wrong-variant",
"status": "refused",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "evidence"
}
}
}
],
"receiptPreserved": true,
"guestEvaluations": 0
}Product invocation
Expected result
The scalar at the group order and a noncanonical point are refused. An alternate signature variant is an invalid envelope. No evaluation occurs. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Bind verification to the selected receipt
lispex.example.v2.receipt-and-replay.evidence-target-routing · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"cases": [
{
"operation": "verify",
"expected": "receipt-A",
"actual": "receipt-A",
"evidenceReceipt": "receipt-B",
"policy": "valid complete policy"
},
{
"operation": "replay",
"recordedRequest": "request-A",
"expected": "receipt-A",
"evidenceReceipt": "receipt-B",
"policy": "valid complete policy"
}
]
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"checks": [
{
"operation": "verify",
"targetRole": "actual",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "evidence-binding"
}
},
"exitCode": 42
},
{
"operation": "replay",
"targetRole": "expected",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "evidence-binding"
}
},
"exitCode": 42
}
],
"signatureChecks": 0,
"entryEvaluated": false,
"existingReceiptsPreserved": true,
"newEvaluationReceiptProduced": false
}Product invocation
Expected result
Both operations refuse an envelope bound to another receipt before checking its signature. Verify targets the actual receipt. Replay targets the expected receipt before entry. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Use only the supplied trust entries
lispex.example.v2.receipt-and-replay.evidence-explicit-trust · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operation": "verify-evidence",
"envelope": "valid signature over receipt-A",
"cases": [
{
"name": "empty-policy",
"issuers": []
},
{
"name": "wrong-artifact",
"trustedIssuer": "issuer-A",
"allowedExecution": "native-product-A-engine-B",
"signedExecution": "native-product-A-engine-A"
}
]
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"evidenceChecks": [
{
"case": "empty-policy",
"status": "refused",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "trust"
}
}
},
{
"case": "wrong-artifact",
"status": "refused",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "trust"
}
}
}
],
"issuerLookupCount": 0,
"clockReadCount": 0,
"receiptPreserved": true
}Product invocation
Expected result
A valid signature does not satisfy an empty policy or a different permitted artifact tuple. The verifier uses no external trust input. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Keep the original signed work scope
lispex.example.v2.receipt-and-replay.evidence-original-profile-scope · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"input": {
"kind": "integer",
"value": "17"
},
"currentProfileWork": "profile-work-B",
"suppliedEvidence": {
"receipt": "receipt-A",
"profile_work": "profile-work-A",
"signature": "valid under explicit policy"
},
"completedReceipt": "receipt-A"
}
17Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "17"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"evidence": {
"status": "verified",
"signedProfileWork": "profile-work-A",
"currentReportProfileWork": "profile-work-B",
"profileWorkEqualityRequired": false
},
"canonicalOutcomePreserved": true,
"evaluationReceiptPreserved": true,
"reportIncludedInSignedStatement": false
}Product invocation
Expected result
The envelope authenticates the completed receipt and retains its original work scope. The current profile report records its own identity without rebinding the signature. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Retain a result when evidence work stops
lispex.example.v2.receipt-and-replay.evidence-budget-preserves-receipt · rev. 2
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"input": {
"kind": "integer",
"value": "17"
},
"profile": "vouch/2",
"outputQualification": "accepted",
"profileHostBudget": {
"format": "lispex.profile-host-budget/2",
"resource_model": "verified fixture host ResourceModelIdentity",
"work": "W",
"allocation": "A",
"frames": "F",
"input": "I",
"report": "R",
"evidence": "E"
},
"evidence": "otherwise valid explicit envelope and policy",
"profileHostBudgetConstraints": "The finite W covers admission and output qualification. The next required evidence verification reservation exceeds the remaining W. A, F, I, R, and E are sufficient. The supplied evidence bytes and complete terminal report capacity were reserved before evaluation.",
"fixtureParameterTypes": {
"W": "exact nonnegative integer",
"A": "exact nonnegative integer",
"F": "exact nonnegative integer",
"I": "exact nonnegative integer",
"R": "exact nonnegative integer",
"E": "exact nonnegative integer"
},
"budgetNotation": "The named W A F I R E parameters stand for finite exact integers that satisfy the separately stated fixture constraints. They are not serialized strings in a public budget record."
}
17Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "17"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"profileWork": {
"stage": "evidence",
"status": "refused",
"diagnostic": {
"phase": "evidence",
"code": "profile.budget",
"data": {
"profile": "verified fixture ProfileContractIdentity",
"budget": "work"
}
}
},
"canonicalOutcomePreserved": true,
"evaluationReceiptEligible": true,
"evaluationReceiptPreserved": true,
"exitCode": 41
}Product invocation
Expected result
The evidence reservation refuses the profile result after evaluation completes. The returned integer and its eligible receipt remain unchanged. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Verify one complete canonical signed statement
lispex.example.v2.receipt-and-replay.evidence-full-signature-vector · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) 17)))
Request and files
{
"notation": "documentation-wire-vector",
"datumCodec": "lispex.datum/2",
"signatureAlgorithm": "ed25519",
"publicTestSeedHex": "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60",
"publicKeyHex": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
"receipt": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565032200"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2222222222222222222222222222222222222222222222222222222222222222"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"statement": {
"record": {
"algorithm": "ed25519",
"engine_artifact": {
"record": {
"digest": {
"bytevectorHex": "4444444444444444444444444444444444444444444444444444444444444444"
},
"domain": "lispex.artifact/2",
"format": "lispex.identity/2"
}
},
"format": "lispex.execution-statement/2",
"issuer": {
"record": {
"digest": {
"bytevectorHex": "3f065cf033354cf4710522cdb9eaab9072f06ac24e25a6eef3b496d96faa7115"
},
"domain": "lispex.issuer/2",
"format": "lispex.identity/2"
}
},
"product": "native",
"product_artifact": {
"record": {
"digest": {
"bytevectorHex": "3333333333333333333333333333333333333333333333333333333333333333"
},
"domain": "lispex.artifact/2",
"format": "lispex.identity/2"
}
},
"profile_work": {
"vector": []
},
"public_key": {
"bytevectorHex": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
},
"receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650322000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"source": {
"vector": [
{
"record": {
"digest": {
"bytevectorHex": "5555555555555555555555555555555555555555555555555555555555555555"
},
"domain": "lispex.source/2",
"format": "lispex.identity/2"
}
}
]
}
}
},
"trustPolicy": {
"record": {
"format": "lispex.trust-policy/2",
"issuers": {
"vector": [
{
"record": {
"executions": {
"vector": [
{
"record": {
"engine_artifact": {
"record": {
"digest": {
"bytevectorHex": "4444444444444444444444444444444444444444444444444444444444444444"
},
"domain": "lispex.artifact/2",
"format": "lispex.identity/2"
}
},
"product": "native",
"product_artifact": {
"record": {
"digest": {
"bytevectorHex": "3333333333333333333333333333333333333333333333333333333333333333"
},
"domain": "lispex.artifact/2",
"format": "lispex.identity/2"
}
}
}
}
]
},
"issuer": {
"record": {
"digest": {
"bytevectorHex": "3f065cf033354cf4710522cdb9eaab9072f06ac24e25a6eef3b496d96faa7115"
},
"domain": "lispex.issuer/2",
"format": "lispex.identity/2"
}
},
"public_key": {
"bytevectorHex": "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"
}
}
}
]
}
}
},
"negative": {
"mutation": "signature octet 63 XOR 01",
"signatureHex": "50f75120e2febc6ab8bc96e3d854d7214526dd7ee0fe882e7d8136fc002be2abad80523fc2f715c67c4b8adda561b8645ae50986620a589e4b641719997e500f"
}
}
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"operation": "verify-evidence",
"inputFile": "evidence-inputs.json",
"targetReceipt": "the complete receipt packet in evidence-inputs.json",
"trustPolicy": "the explicit single-issuer and single-execution policy in evidence-inputs.json",
"profileHostBudget": "named finite budget sufficient for the stated checks",
"identityStatus": {
"program": "arbitrary signed digest assertion",
"request": "arbitrary signed digest assertion",
"source": "arbitrary signed digest assertion",
"product_artifact": "arbitrary signed digest assertion",
"engine_artifact": "arbitrary signed digest assertion",
"issuer": "computed from the public RFC 8032 test key"
},
"guestEvaluation": false
}
Semantic detailsSpecification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"outcomePacketHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565032200",
"receiptPacketHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650322000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"signedPacketHex": "6c69737065782e646174756d2f3200e70708080609616c676f726974686d0607656432353531390808060f656e67696e655f6172746966616374080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080606666f726d6174061c6c69737065782e657865637574696f6e2d73746174656d656e742f3208080606697373756572080806066469676573740a203f065cf033354cf4710522cdb9eaab9072f06ac24e25a6eef3b496d96faa711508080606646f6d61696e060f6c69737065782e6973737565722f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6475637406066e61746976650808061070726f647563745f6172746966616374080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060c70726f66696c655f776f726b09000808060a7075626c69635f6b65790a20d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a0808060d726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650322000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000008080606736f757263650901080806066469676573740a20555555555555555555555555555555555555555555555555555555555555555508080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"signatureHex": "50f75120e2febc6ab8bc96e3d854d7214526dd7ee0fe882e7d8136fc002be2abad80523fc2f715c67c4b8adda561b8645ae50986620a589e4b641719997e500e",
"issuerDigestHex": "3f065cf033354cf4710522cdb9eaab9072f06ac24e25a6eef3b496d96faa7115",
"issuerIdentityPacketHex": "6c69737065782e646174756d2f320065080806066469676573740a203f065cf033354cf4710522cdb9eaab9072f06ac24e25a6eef3b496d96faa711508080606646f6d61696e060f6c69737065782e6973737565722f3208080606666f726d617406116c69737065782e6964656e746974792f3200",
"receiptDigestHex": "fe2431401e3138e8c94d01320251e42e07441c44cbec8c4657cc73a940057d72",
"evidenceEnvelopePacketHex": "6c69737065782e646174756d2f3200e10808080606666f726d617406116c69737065782e65766964656e63652f32080806097369676e61747572650a4050f75120e2febc6ab8bc96e3d854d7214526dd7ee0fe882e7d8136fc002be2abad80523fc2f715c67c4b8adda561b8645ae50986620a589e4b641719997e500e0808060973746174656d656e7408080609616c676f726974686d0607656432353531390808060f656e67696e655f6172746966616374080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080606666f726d6174061c6c69737065782e657865637574696f6e2d73746174656d656e742f3208080606697373756572080806066469676573740a203f065cf033354cf4710522cdb9eaab9072f06ac24e25a6eef3b496d96faa711508080606646f6d61696e060f6c69737065782e6973737565722f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6475637406066e61746976650808061070726f647563745f6172746966616374080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060c70726f66696c655f776f726b09000808060a7075626c69635f6b65790a20d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a0808060d726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650322000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000008080606736f757263650901080806066469676573740a20555555555555555555555555555555555555555555555555555555555555555508080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"trustPolicyPacketHex": "6c69737065782e646174756d2f3200e80308080606666f726d617406156c69737065782e74727573742d706f6c6963792f32080806076973737565727309010808060a657865637574696f6e7309010808060f656e67696e655f6172746966616374080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6475637406066e61746976650808061070726f647563745f6172746966616374080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f32000008080606697373756572080806066469676573740a203f065cf033354cf4710522cdb9eaab9072f06ac24e25a6eef3b496d96faa711508080606646f6d61696e060f6c69737065782e6973737565722f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060a7075626c69635f6b65790a20d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a0000",
"tamperedSignatureHex": "50f75120e2febc6ab8bc96e3d854d7214526dd7ee0fe882e7d8136fc002be2abad80523fc2f715c67c4b8adda561b8645ae50986620a589e4b641719997e500f",
"tamperedEvidenceEnvelopePacketHex": "6c69737065782e646174756d2f3200e10808080606666f726d617406116c69737065782e65766964656e63652f32080806097369676e61747572650a4050f75120e2febc6ab8bc96e3d854d7214526dd7ee0fe882e7d8136fc002be2abad80523fc2f715c67c4b8adda561b8645ae50986620a589e4b641719997e500f0808060973746174656d656e7408080609616c676f726974686d0607656432353531390808060f656e67696e655f6172746966616374080806066469676573740a20444444444444444444444444444444444444444444444444444444444444444408080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f320008080606666f726d6174061c6c69737065782e657865637574696f6e2d73746174656d656e742f3208080606697373756572080806066469676573740a203f065cf033354cf4710522cdb9eaab9072f06ac24e25a6eef3b496d96faa711508080606646f6d61696e060f6c69737065782e6973737565722f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060770726f6475637406066e61746976650808061070726f647563745f6172746966616374080806066469676573740a20333333333333333333333333333333333333333333333333333333333333333308080606646f6d61696e06116c69737065782e61727469666163742f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060c70726f66696c655f776f726b09000808060a7075626c69635f6b65790a20d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a0808060d726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650322000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000008080606736f757263650901080806066469676573740a20555555555555555555555555555555555555555555555555555555555555555508080606646f6d61696e060f6c69737065782e736f757263652f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"verificationCases": [
{
"case": "original",
"status": "verified",
"authenticatedIssuerDigestHex": "3f065cf033354cf4710522cdb9eaab9072f06ac24e25a6eef3b496d96faa7115",
"diagnostic": null
},
{
"case": "signature-last-octet-xor-01",
"status": "refused",
"authenticatedIssuer": null,
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "signature"
}
}
}
],
"signedAssertionsIndependentlyVerified": false,
"targetReceiptPreserved": true,
"guestEvaluationPerformed": false,
"productExecutionRecorded": false
}Product invocation
Expected result
Verify one complete canonical signed statement. Product invocation awaits its 2.0 adapter.
The vector follows RFC 8032 and the adopted Datum encoding. Its seed is a published test key. The digest constants are signed assertions rather than verified source or artifact identities. The negative case changes only the final signature octet. Both cases retain the same statement and target receipt. Product execution remains not-run.
Signatures and replay
Replay reconstructs the complete semantic request and compares canonical outcomes. Keep the canonical program, input, semantics, resource model, and finite limits available. Check those identities before treating a new evaluation as a replay.
An admitted engine can use a different artifact while evaluating that same request. Cache state, host paths, and display settings remain outside the comparison. Compare successful values and deterministic failures with the same care.
11.21 Replay only the complete same request
Replay reconstructs the complete semantic request and compares the complete canonical outcome. An admitted product must reproduce the value or the same failure phase, code, typed parameters, canonical site, and exhausted resource axis. Missing request components prevent exact replay. Changed semantic inputs identify a different request even when its result happens to match.
Why
A matching result for one input cannot recover the request that produced it. Retaining every semantic input makes replay meaningful. The same semantic request requires the same outcome.
Replay both a value and a failure
lispex.example.v2.receipt-and-replay.replay-pairs · rev. 1
(module main
(import)
(export first-item)
(entry first-item)
(define first-item
(lambda (items)
(car items)))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"input": {
"kind": "list",
"items": [
{
"kind": "integer",
"value": "3"
},
{
"kind": "integer",
"value": "5"
}
]
}
},
{
"input": {
"kind": "list",
"items": [
{
"kind": "integer",
"value": "3"
},
{
"kind": "integer",
"value": "5"
}
]
}
},
{
"input": {
"kind": "list",
"items": []
}
},
{
"input": {
"kind": "list",
"items": []
}
}
],
"comparison": "Compare the first two complete requests and outcomes. Separately compare the last two complete requests and outcomes. Each pair uses identical fixed semantics, model, and finite limits.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
3Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "3"
}
}3Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "3"
}
}{"category":"domain","operation":"car","required":"pair","received":"empty-list"}Outcome details
{
"kind": "language-failure",
"valueCount": 0,
"condition": {
"category": "domain",
"operation": "car",
"required": "pair",
"received": "empty-list"
}
}{"category":"domain","operation":"car","required":"pair","received":"empty-list"}Outcome details
{
"kind": "language-failure",
"valueCount": 0,
"condition": {
"category": "domain",
"operation": "car",
"required": "pair",
"received": "empty-list"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"successPairRequestEqual": true,
"successPairOutcomeEqual": true,
"failurePairRequestEqual": true,
"failurePairOutcomeEqual": true,
"failurePhaseEqual": true,
"failureCodeEqual": true,
"typedParametersEqual": true,
"canonicalSiteEqual": true
}
}Product invocation
Expected result
The successful pair returns the exact integer 3 twice. The failing pair repeats the same car domain failure with the same canonical failure identity. Product invocation awaits its 2.0 adapter.
Compare the complete outcomes of each pair. A returned datum, an omitted failure, or a different first failure cannot stand in for the expected failure. Concrete diagnostic bytes follow the diagnostic contract.
A matching value from a different request
lispex.example.v2.receipt-and-replay.changed-input · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
0))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"resourceModel": "one fixed finite resource model"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [
{
"input": {
"kind": "integer",
"value": "3"
}
},
{
"input": {
"kind": "integer",
"value": "5"
}
}
],
"comparison": "Keep the program, fixed semantics, model, and finite limits identical. Change only the input datum and compare the request identities before comparing outcomes.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
0Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "0"
}
}0Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "0"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"programIdentityEqual": true,
"inputIdentityEqual": false,
"requestIdentityEqual": false,
"canonicalOutcomeEqual": true,
"exactReplay": false
}
}Product invocation
Expected result
Both inputs return the exact integer 0. Their request identities differ, so the second evaluation is not an exact replay of the first. Product invocation awaits its 2.0 adapter.
The constant rule deliberately returns the same value for both inputs. Outcome equality alone cannot establish that the same semantic request was replayed.
A retained request without its resource model
lispex.example.v2.receipt-and-replay.incomplete-replay · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule
(lambda (input)
input))
)
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version"
},
"limits": {
"prepare": "finite values sufficient to prepare this source",
"evaluate": "finite values sufficient for the stated finite calculation"
},
"requests": [],
"replayRecord": {
"canonicalProgram": "the retained canonical program represented by source.scm",
"input": {
"kind": "integer",
"value": "42"
},
"language": "Lispex 2.0",
"standardLibrary": "one fixed library identity",
"unicode": "one fixed Unicode semantics version",
"limits": "retained finite limits",
"missing": [
"resource-model"
]
},
"replay": "Attempt exact replay from this retained record. The model identity cannot be recovered from any other supplied field. Do not replace it with a current default.",
"rootModule": "main",
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
]
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"replay": {
"requestComplete": false,
"comparisonPerformed": false,
"missing": [
"resource-model"
]
},
"entryEvaluated": false
}Product invocation
Expected result
The retained record lacks its resource model. Exact replay is unavailable and no entry is evaluated. Product invocation awaits its 2.0 adapter.
The fixture describes an incomplete replay record, not a request for a new evaluation. The replay interface must report the missing component before claiming a comparison.
11.22 Replay an explicit complete recorded request
The replay byte request has exactly the fields below. Its recorded request supplies all semantic inputs. It supplies no replacement input, profile, resource model, or evaluation limit. Preparation of a source bundle is a separate step under PrepareLimits. The resulting prepared bytes enter this replay record. Validate the prepared program and recorded request against the expected receipt before guest entry. Verify supplied evidence against the expected receipt before evaluation. An admitted replay uses the recorded canonical input and EvaluationLimits without alteration.
Why
A replay must reconstruct the request that produced the receipt. Explicit retained inputs prevent host defaults from changing that request. Keeping preparation and host work separate permits a different product to reproduce the same language result.
11.23 Encode the whole ordered comparison
Verify and replay use the shared comparison record below. Compare program identity first. Compare complete request identity only after program identity matches. Compare the complete canonical outcome only after both identities match. Stop at the first unequal component. Preserve both receipt packets. Verify checks requested evidence after a successful semantic comparison and binds it to the actual receipt. Replay includes the evidence result obtained for the expected receipt before evaluation. Evidence status does not rewrite the semantic comparison fields.
Why
A value match cannot hide a changed program or request. Ordered comparison gives every product the same first mismatch. Separate evidence status preserves the distinction between an authenticated record and a reproduced outcome.
CanonicalRequestBytes is the complete recorded semantic request from identity encoding. The replay record adds only explicit operands and its finite host work budget.
| Field | Value |
|---|---|
format | "lispex.replay-request/2" |
prepared_program_bytes | Bytevector containing one complete resolved/1 or bytecode/1 prepared program |
request_bytes | Bytevector containing one complete CanonicalRequestBytes packet |
expected_receipt_bytes | Bytevector containing one complete PortableReceiptBytes packet |
evidence_bytes | Optional bytevector containing the supplied evidence envelope |
trust_policy_bytes | Optional bytevector containing the supplied trust policy |
profile_host_budget | The complete effective ProfileHostBudget record |
ReplayRequestBytes = D(ReplayRequest).
Both evidence options are empty or both have one bytevector. They remain explicit inputs until their scheduled checks. Every operand is an immutable snapshot. Unknown fields and missing fields are refused. Contract identities select exact supported versions. A missing or unsupported semantic contract never selects a newer version or a product default.
The --request command operand remains CanonicalRequestBytes. It is not this enclosing record. The other command operands supply the other fields. A --bundle command prepares its bundle with the separate preparation limits before forming this record. A prepared artifact supplies the validated prepared bytes through its artifact contract. Source bundle and artifact containers keep their definition homes.
The recorded request fixes its program, canonical input bytes, language, Unicode and library semantics, resource model, and EvaluationLimits. The selected product and engine can differ from the original execution. That choice does not replace a recorded semantic input. Source spelling, source maps, package bytes, and engine bytes are not additional semantic equality requirements.
Replay uses the following order. Existing source, prepared program, diagnostic, and resource rules still apply.
| Step | Required action | Failure boundary |
|---|---|---|
| 1 | Admit the finite host envelope and effective profile host budget | Admission report |
| 2 | Validate the replay record and its immutable operand snapshots | Admission report |
| 3 | Validate and seal the prepared program under the prepared program contract | Admission report |
| 4 | Decode the outer request record, retain input_bytes as opaque bytes, resolve exact contracts, and compute its candidate request digest | Admission report |
| 5 | Admit the expected receipt and require its program and candidate request bindings to agree | Admission report |
| 6 | Verify supplied evidence and trust against the expected receipt | Evidence verification report |
| 7 | Decode input under the recorded EvaluationLimits, verify the input and request identities, then invoke entry | Canonical outcome or the applicable input or attempt report |
| 8 | Form an eligible actual receipt and compare it with the expected receipt | Comparison report |
Preparation of a source bundle precedes this table. Its failure uses the source report. It does not produce an evaluation receipt.
Outer request decoding and candidate digest checks use the profile host account. The candidate digest establishes a byte binding. It is not a verified semantic request identity. The verified input and request markers remain empty until the canonical input decoder succeeds. That decoder runs once in the evaluation account after expected evidence verification. An invalid input or an input decoding budget failure prevents guest entry and an actual evaluation receipt. The host does not debit the recorded EvaluationLimits for schema, signature, trust, or comparison work.
A mismatched supplied program or expected receipt uses admission and artifact.invalid with identity-mismatch. An unavailable semantic contract uses the existing product.unsupported diagnostic. A missing recorded request field uses request.invalid with missing-field. These refusals occur before entry and produce no new canonical outcome or evaluation receipt.
A well formed envelope bound to another receipt uses verify and verification.failed with evidence-binding. It has command status 42 and prevents replay evaluation. Its target remains the expected receipt. It produces no actual receipt and no comparison record.
The profile host budget covers all replay host work in this table. Exhaustion uses verify and verification.budget. A completed actual outcome and receipt remain available if later comparison work cannot finish.
VerificationReportBytes and ReplayComparisonBytes use the same encoding. Their operation field distinguishes them. A comparison record exists only when both admitted receipts are available.
| Field | Value |
|---|---|
format | "lispex.comparison/2" |
operation | "verify" or "replay" |
expected_receipt_bytes | Complete expected receipt packet as a bytevector |
actual_receipt_bytes | Complete actual receipt packet as a bytevector |
program | "equal", "different", or "not-compared" |
request | "equal", "different", or "not-compared" |
outcome | "equal", "different", or "not-compared" |
evidence | "not-requested", "not-checked", "verified", or "refused" |
evidence_report | Optional nested EvidenceVerificationRecord |
first_mismatch | Optional "program", "request", or "outcome" |
diagnostic | Optional diagnostic field record |
ComparisonReportBytes is D of the ComparisonRecord defined above. VerificationReportBytes is that encoding with operation verify. ReplayComparisonBytes is that encoding with operation replay.
| Condition | Required fields |
|---|---|
| Program identities differ | program = "different", later components "not-compared", first mismatch "program" |
| Request identities differ | Program "equal", request "different", outcome "not-compared", first mismatch "request" |
| Outcomes differ | Program and request "equal", outcome "different", first mismatch "outcome" |
| Whole semantic comparison matches | All three components "equal", empty first mismatch |
| Evidence was not requested | Evidence "not-requested", empty evidence report |
| Verify stopped before scheduled evidence checks | Evidence "not-checked", empty evidence report |
| Supplied evidence was verified | Evidence "verified", one verified evidence report |
| Verify evidence was refused after semantic match | Evidence "refused", one refused evidence report, all semantic components remain "equal" |
The report compares the program and request identities carried by the receipts. It compares the complete outcome_bytes packets. Verify has no program or request operand. Its identity equality check does not mark those nested assertions as independently verified. Its site check validates shape and equality without claiming program membership. Every success datum and every failure field participates. This includes phase, code, typed data, canonical site, and resource axis.
For verify, the first mismatch uses verification.failed with program-identity, request-identity, or outcome. For replay, it uses replay.mismatch with the matching component. An evidence refusal uses the diagnostic from its evidence report. A complete semantic match with no evidence refusal has no diagnostic.
Both report forms preserve the exact receipt packets. They perform no text normalization or approximate numeric comparison. Human presentation and usage counters remain outside the receipt schema.
Comparison completion follows the command exit rule.
| Operation result | Command status | Receipt effect |
|---|---|---|
| Verify succeeds for a value or a deterministic failure | 0 | Both supplied receipts are retained |
| Replay matches a successful value | 0 | The actual receipt is retained |
| Replay matches a language failure | 20 | The actual failure receipt is retained |
| Replay matches a resource stop | 21 | The actual failure receipt is retained |
| Admitted verification or comparison fails | 42 | Every available receipt is retained |
| Program, recorded request, or expected receipt is refused before replay | 30 | No actual evaluation receipt is created |
An evidence failure before replay evaluation has no actual receipt to compare. A preparation or admission failure has no canonical evaluation outcome. An operational interruption before completion has no new canonical outcome or receipt. Each uses its existing report boundary.
A comparison budget failure cannot replace a completed language outcome. Report output is complete or refused. A partial comparison record is not published. Numeric tariffs and report capacity values remain under the cost model freeze.
Reconstruct every recorded semantic input
lispex.example.v2.receipt-and-replay.replay-recorded-inputs · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operation": "replay",
"preparedProgram": "validated bytecode/1 bytes for source.scm",
"recordedRequest": {
"input": {
"kind": "integer",
"value": "17"
},
"evaluationLimits": "recorded finite limits",
"resourceModel": "recorded supported model",
"semantics": "recorded fixed identities"
},
"expectedReceipt": "receipt for the same request and integer 17",
"profileHostBudget": {
"format": "lispex.profile-host-budget/2",
"resource_model": "verified fixture host ResourceModelIdentity",
"work": "W",
"allocation": "A",
"frames": "F",
"input": "I",
"report": "R",
"evidence": "E"
},
"evidence": null,
"trust": null,
"profileHostBudgetConstraints": "explicit sufficient finite budget",
"fixtureParameterTypes": {
"W": "exact nonnegative integer",
"A": "exact nonnegative integer",
"F": "exact nonnegative integer",
"I": "exact nonnegative integer",
"R": "exact nonnegative integer",
"E": "exact nonnegative integer"
},
"budgetNotation": "The named W A F I R E parameters stand for finite exact integers that satisfy the separately stated fixture constraints. They are not serialized strings in a public budget record."
}
17Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "17"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"format": "lispex.comparison/2",
"operation": "replay",
"program": "equal",
"request": "equal",
"outcome": "equal",
"evidence": "not-requested",
"firstMismatch": null
},
"evaluationLimitsSource": "recorded-request",
"hostDefaultsUsedForSemanticInputs": false,
"evaluationReceiptEligible": true,
"exitCode": 0
}Product invocation
Expected result
The replay uses the retained input, semantics, model, and limits and returns 17 again. All semantic components compare equal. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Refuse a receipt for a different request
lispex.example.v2.receipt-and-replay.replay-request-binding · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) 0)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operation": "replay",
"preparedProgram": "program-A",
"recordedRequest": "request-A with input 1",
"expectedReceipt": "valid receipt for program-A and request-B with input 2",
"bothRecordedValues": {
"kind": "integer",
"value": "0"
}
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"admission": {
"status": "refused",
"diagnostic": {
"phase": "admission",
"code": "artifact.invalid",
"data": {
"kind": "receipt",
"reason": "identity-mismatch"
}
}
},
"entryEvaluated": false,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false,
"comparisonPerformed": false,
"exitCode": 30
}Product invocation
Expected result
The expected receipt belongs to another request even though both requests could return zero. Replay refuses it before entry. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Check expected evidence before entry
lispex.example.v2.receipt-and-replay.replay-before-evidence-failure · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operation": "replay",
"recordedRequest": "request-A",
"expectedReceipt": "receipt-A",
"evidence": "well formed envelope bound to receipt-B",
"trust": "valid explicit policy"
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"evidence": {
"targetRole": "expected",
"status": "refused",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "evidence-binding"
}
}
},
"entryEvaluated": false,
"newCanonicalOutcomeProduced": false,
"newEvaluationReceiptProduced": false,
"comparisonRecordProduced": false,
"expectedReceiptPreserved": true,
"exitCode": 42
}Product invocation
Expected result
Evidence for another receipt refuses replay before any new evaluation. The expected receipt remains available and no comparison record invents an actual result. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Reproduce a failure without changing command meaning
lispex.example.v2.receipt-and-replay.replay-failure-status · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) (car input))))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"input": {
"kind": "empty-list"
},
"operations": [
{
"kind": "replay",
"expectedReceipt": "same request with its complete car failure"
},
{
"kind": "verify",
"expectedReceipt": "same complete car failure",
"actualReceipt": "same complete car failure"
}
]
}
domain.typeOutcome details
{
"kind": "language-failure",
"valueCount": 0,
"diagnostic": {
"phase": "evaluate",
"code": "domain.type",
"data": {
"operation": "car",
"argument": "0",
"path": [],
"expected": "pair",
"actual": "empty-list"
}
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"program": "equal",
"request": "equal",
"outcome": "equal",
"firstMismatch": null
},
"commandStatuses": {
"replay": 20,
"verify": 0
},
"failureReceiptPreserved": true
}Product invocation
Expected result
Exact replay reproduces the complete car failure and keeps status 20. Verification of those matching failure receipts succeeds with status 0. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Stop comparison at its first semantic difference
lispex.example.v2.receipt-and-replay.comparison-first-mismatch · rev. 2
{
"notation": "documentation-request",
"operation": "verify",
"stage": "comparison",
"cases": [
{
"name": "program-first",
"expectedReceiptHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650302000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualReceiptHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650304000808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"evidenceBytesHex": "00",
"trustBytesHex": "00"
},
{
"name": "request-first",
"expectedReceiptHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualReceiptHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"evidenceBytesHex": "00",
"trustBytesHex": "00"
}
],
"evidenceDemand": "not reached because the semantic comparison fails first",
"semanticPreimagesSupplied": [],
"guestEvaluation": false,
"vectors": "vectors.json"
}
Request and files
{
"notation": "documentation-datum-byte-recipe",
"jsonMapping": "A record object is R with unsigned UTF-8 sorted string keys; a vector object is #(...); bytevectorHex is the exact octets; other strings, exact integers and Booleans keep their Datum types. JSON null denotes the empty list only in this recipe. This notation is not another wire codec.",
"derivation": "Apply the Profiles lispex.datum/2 D/U/Z rules and the Identity encoding R/H tables to the literal inputs. Hash the complete framed IdentityInput with SHA-256. No implementation output is an input.",
"scope": "Complete byte vectors establish their stated local record and byte-binding properties. They do not supply missing semantic preimages, authenticate an issuer, or select production tariffs.",
"claims": {
"programA": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"programB": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "1212121212121212121212121212121212121212121212121212121212121212"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"requestA": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"requestB": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "2222222222222222222222222222222222222222222222222222222222222222"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
"cases": [
{
"name": "program-first",
"expectedReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565030200"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650302000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"actualReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565030400"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1212121212121212121212121212121212121212121212121212121212121212"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2222222222222222222222222222222222222222222222222222222222222222"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650304000808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"expectedReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565030200"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200a40308080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650302000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "070e182ddc1ce98b71ae3532b8efbda48be36837450bb85a1950f14a42d26a02",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20070e182ddc1ce98b71ae3532b8efbda48be36837450bb85a1950f14a42d26a0208080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"actualReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565030400"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1212121212121212121212121212121212121212121212121212121212121212"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2222222222222222222222222222222222222222222222222222222222222222"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200a40308080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650304000808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "55eb9d85ed5426598509ff24f390509a509342ecca5fa1ff12cd156051561d7d",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a2055eb9d85ed5426598509ff24f390509a509342ecca5fa1ff12cd156051561d7d08080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"comparisonReport": {
"datum": {
"record": {
"actual_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650304000808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"diagnostic": {
"vector": [
{
"record": {
"code": "verification.failed",
"data": {
"record": {
"check": "program-identity"
}
},
"phase": "verify"
}
}
]
},
"evidence": "not-checked",
"evidence_report": {
"vector": []
},
"expected_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650302000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"first_mismatch": {
"vector": [
"program"
]
},
"format": "lispex.comparison/2",
"operation": "verify",
"outcome": "not-compared",
"program": "different",
"request": "not-compared"
}
},
"packetHex": "6c69737065782e646174756d2f3200b7080808061461637475616c5f726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650304000808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f64650613766572696669636174696f6e2e6661696c6564080806046461746108080605636865636b061070726f6772616d2d6964656e74697479000808060570686173650606766572696679000808060865766964656e6365060b6e6f742d636865636b65640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650302000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d617463680901060770726f6772616d08080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e0606766572696679080806076f7574636f6d65060c6e6f742d636f6d70617265640808060770726f6772616d0609646966666572656e740808060772657175657374060c6e6f742d636f6d706172656400"
}
},
{
"name": "request-first",
"expectedReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565030000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"actualReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565030000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2222222222222222222222222222222222222222222222222222222222222222"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"expectedReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565030000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200a40308080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "cac5dcaaa1ef9ccec07a38dae37b02a5bc5b72319ea649ed35ffc9c809517cc6",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20cac5dcaaa1ef9ccec07a38dae37b02a5bc5b72319ea649ed35ffc9c809517cc608080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"actualReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c7565030000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2222222222222222222222222222222222222222222222222222222222222222"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200a40308080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "4555844f5b662bbadb8f59eb52954074951b481e59d20deb211acb86ece9cf9f",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a204555844f5b662bbadb8f59eb52954074951b481e59d20deb211acb86ece9cf9f08080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"comparisonReport": {
"datum": {
"record": {
"actual_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"diagnostic": {
"vector": [
{
"record": {
"code": "verification.failed",
"data": {
"record": {
"check": "request-identity"
}
},
"phase": "verify"
}
}
]
},
"evidence": "not-checked",
"evidence_report": {
"vector": []
},
"expected_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"first_mismatch": {
"vector": [
"request"
]
},
"format": "lispex.comparison/2",
"operation": "verify",
"outcome": "not-compared",
"program": "equal",
"request": "different"
}
},
"packetHex": "6c69737065782e646174756d2f3200b0080808061461637475616c5f726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f64650613766572696669636174696f6e2e6661696c6564080806046461746108080605636865636b0610726571756573742d6964656e74697479000808060570686173650606766572696679000808060865766964656e6365060b6e6f742d636865636b65640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d61746368090106077265717565737408080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e0606766572696679080806076f7574636f6d65060c6e6f742d636f6d70617265640808060770726f6772616d0605657175616c08080607726571756573740609646966666572656e7400"
}
}
]
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparisons": [
{
"case": "program-first",
"program": "different",
"request": "not-compared",
"outcome": "not-compared",
"evidence": "not-checked",
"firstMismatch": "program",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "program-identity"
}
}
},
{
"case": "request-first",
"program": "equal",
"request": "different",
"outcome": "not-compared",
"evidence": "not-checked",
"firstMismatch": "request",
"diagnostic": {
"phase": "verify",
"code": "verification.failed",
"data": {
"check": "request-identity"
}
}
}
],
"receiptsPreserved": true,
"guestEvaluations": 0,
"exitCode": 42,
"receiptPackets": [
{
"case": "program-first",
"expectedHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650302000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650304000808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
{
"case": "request-first",
"expectedHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualHex": "6c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
}
],
"comparisonReportPacketsHex": [
"6c69737065782e646174756d2f3200b7080808061461637475616c5f726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650304000808060770726f6772616d080806066469676573740a20121212121212121212121212121212121212121212121212121212121212121208080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f64650613766572696669636174696f6e2e6661696c6564080806046461746108080605636865636b061070726f6772616d2d6964656e74697479000808060570686173650606766572696679000808060865766964656e6365060b6e6f742d636865636b65640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650302000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d617463680901060770726f6772616d08080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e0606766572696679080806076f7574636f6d65060c6e6f742d636f6d70617265640808060770726f6772616d0609646966666572656e740808060772657175657374060c6e6f742d636f6d706172656400",
"6c69737065782e646174756d2f3200b0080808061461637475616c5f726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20222222222222222222222222222222222222222222222222222222222222222208080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f64650613766572696669636174696f6e2e6661696c6564080806046461746108080605636865636b0610726571756573742d6964656e74697479000808060570686173650606766572696679000808060865766964656e6365060b6e6f742d636865636b65640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730aea026c69737065782e646174756d2f3200d90208080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730a476c69737065782e646174756d2f32003708080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e64060576616c75650808060576616c75650300000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d61746368090106077265717565737408080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e0606766572696679080806076f7574636f6d65060c6e6f742d636f6d70617265640808060770726f6772616d0605657175616c08080607726571756573740609646966666572656e7400"
],
"verifiedProgramMarkerPresent": false,
"verifiedRequestMarkerPresent": false,
"evidenceDecoded": false,
"trustDecoded": false,
"claimedIdentityComparisonOnly": true
}Product invocation
Expected result
Program mismatch has priority over request and outcome. A request mismatch prevents result equality from being treated as replay and leaves evidence unchecked. Product invocation awaits its 2.0 adapter.
Both cases contain complete independently encoded receipt and comparison-report packets. The program digests 11…11 and 12…12 and request digests 21…21 and 22…22 are explicit 32-octet claims; their full packets are in vectors.json. No program or request preimage is supplied or verified. The captured evidence and trust operands each contain the exact octet 00 and remain undecoded after the earlier identity mismatch. This makes the ordering observable without inventing a valid signed envelope or a supported library/model.
Compare every canonical failure field
lispex.example.v2.receipt-and-replay.comparison-complete-failure · rev. 2
{
"notation": "documentation-request",
"operation": "replay",
"stage": "comparison",
"componentInputs": "Two already completed receipt packets supplied directly to the shared comparison. This fixture performs no replay evaluation and certifies no execution provenance.",
"cases": [
{
"name": "typed-data",
"expectedReceiptHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualReceiptHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
{
"name": "site",
"expectedReceiptHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualReceiptHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
{
"name": "axis",
"expectedReceiptHex": "6c69737065782e646174756d2f3200f60408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae3026c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualReceiptHex": "6c69737065782e646174756d2f3200fc0408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae9026c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
}
],
"semanticPreimagesSupplied": [],
"guestEvaluation": false,
"vectors": "vectors.json"
}
Request and files
{
"notation": "documentation-datum-byte-recipe",
"jsonMapping": "A record object is R with unsigned UTF-8 sorted string keys; a vector object is #(...); bytevectorHex is the exact octets; other strings, exact integers and Booleans keep their Datum types. JSON null denotes the empty list only in this recipe. This notation is not another wire codec.",
"derivation": "Apply the Profiles lispex.datum/2 D/U/Z rules and the Identity encoding R/H tables to the literal inputs. Hash the complete framed IdentityInput with SHA-256. No implementation output is an input.",
"scope": "Complete byte vectors establish their stated local record and byte-binding properties. They do not supply missing semantic preimages, authenticate an issuer, or select production tariffs.",
"claims": {
"program": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"request": {
"datum": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
},
"packetHex": "6c69737065782e646174756d2f320066080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
}
},
"sites": [
{
"kind": "node",
"index": 0,
"role": "result-check",
"path": [
{
"kind": "field",
"name": "output"
}
],
"canonicalSiteBytesHex": "4c58530100000c726573756c742d636865636b0107066f7574707574"
},
{
"kind": "node",
"index": 1,
"role": "result-check",
"path": [
{
"kind": "field",
"name": "output"
}
],
"canonicalSiteBytesHex": "4c58530100010c726573756c742d636865636b0107066f7574707574"
}
],
"cases": [
{
"name": "typed-data",
"expectedOutcome": {
"datum": {
"record": {
"diagnostic": {
"record": {
"code": "value.boundary",
"data": {
"record": {
"actual": false,
"count": "0",
"path": {
"vector": []
},
"reason": "count"
}
},
"phase": "evaluate"
}
},
"format": "lispex.outcome/2",
"kind": "failure",
"site": {
"record": {
"local": {
"bytevectorHex": "4c58530100000c726573756c742d636865636b0107066f7574707574"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
}
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"actualOutcome": {
"datum": {
"record": {
"diagnostic": {
"record": {
"code": "value.boundary",
"data": {
"record": {
"actual": false,
"count": "2",
"path": {
"vector": []
},
"reason": "count"
}
},
"phase": "evaluate"
}
},
"format": "lispex.outcome/2",
"kind": "failure",
"site": {
"record": {
"local": {
"bytevectorHex": "4c58530100000c726573756c742d636865636b0107066f7574707574"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
}
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"expectedReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"actualReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"expectedReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200b30508080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "bf67055874a48fee549c0067a8060395e47d20ae41cd8959c21fb845d750c147",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20bf67055874a48fee549c0067a8060395e47d20ae41cd8959c21fb845d750c14708080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"actualReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200b30508080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "dcb8729673d71b09dc8b4fba6395e9e71c8d0966047ebc8d8e5fd8c29c8ae9f5",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20dcb8729673d71b09dc8b4fba6395e9e71c8d0966047ebc8d8e5fd8c29c8ae9f508080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"comparisonReport": {
"datum": {
"record": {
"actual_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"diagnostic": {
"vector": [
{
"record": {
"code": "replay.mismatch",
"data": {
"record": {
"component": "outcome"
}
},
"phase": "replay"
}
}
]
},
"evidence": "not-requested",
"evidence_report": {
"vector": []
},
"expected_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"first_mismatch": {
"vector": [
"outcome"
]
},
"format": "lispex.comparison/2",
"operation": "replay",
"outcome": "different",
"program": "equal",
"request": "equal"
}
},
"packetHex": "6c69737065782e646174756d2f3200c00c0808061461637475616c5f726563656970745f62797465730af9046c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f6465060f7265706c61792e6d69736d61746368080806046461746108080609636f6d706f6e656e7406076f7574636f6d650008080605706861736506067265706c6179000808060865766964656e6365060d6e6f742d7265717565737465640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730af9046c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d61746368090106076f7574636f6d6508080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e06067265706c6179080806076f7574636f6d650609646966666572656e740808060770726f6772616d0605657175616c08080607726571756573740605657175616c00"
}
},
{
"name": "site",
"expectedOutcome": {
"datum": {
"record": {
"diagnostic": {
"record": {
"code": "value.boundary",
"data": {
"record": {
"actual": false,
"count": "0",
"path": {
"vector": []
},
"reason": "count"
}
},
"phase": "evaluate"
}
},
"format": "lispex.outcome/2",
"kind": "failure",
"site": {
"record": {
"local": {
"bytevectorHex": "4c58530100000c726573756c742d636865636b0107066f7574707574"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
}
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"actualOutcome": {
"datum": {
"record": {
"diagnostic": {
"record": {
"code": "value.boundary",
"data": {
"record": {
"actual": false,
"count": "0",
"path": {
"vector": []
},
"reason": "count"
}
},
"phase": "evaluate"
}
},
"format": "lispex.outcome/2",
"kind": "failure",
"site": {
"record": {
"local": {
"bytevectorHex": "4c58530100010c726573756c742d636865636b0107066f7574707574"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
}
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"expectedReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"actualReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"expectedReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200b30508080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "bf67055874a48fee549c0067a8060395e47d20ae41cd8959c21fb845d750c147",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20bf67055874a48fee549c0067a8060395e47d20ae41cd8959c21fb845d750c14708080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"actualReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200b30508080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "424f1cd66c92613f1ecd511945183136fb4f9c058caded8de887304609354a2f",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20424f1cd66c92613f1ecd511945183136fb4f9c058caded8de887304609354a2f08080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"comparisonReport": {
"datum": {
"record": {
"actual_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"diagnostic": {
"vector": [
{
"record": {
"code": "replay.mismatch",
"data": {
"record": {
"component": "outcome"
}
},
"phase": "replay"
}
}
]
},
"evidence": "not-requested",
"evidence_report": {
"vector": []
},
"expected_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"first_mismatch": {
"vector": [
"outcome"
]
},
"format": "lispex.comparison/2",
"operation": "replay",
"outcome": "different",
"program": "equal",
"request": "equal"
}
},
"packetHex": "6c69737065782e646174756d2f3200c00c0808061461637475616c5f726563656970745f62797465730af9046c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f6465060f7265706c61792e6d69736d61746368080806046461746108080609636f6d706f6e656e7406076f7574636f6d650008080605706861736506067265706c6179000808060865766964656e6365060d6e6f742d7265717565737465640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730af9046c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d61746368090106076f7574636f6d6508080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e06067265706c6179080806076f7574636f6d650609646966666572656e740808060770726f6772616d0605657175616c08080607726571756573740605657175616c00"
}
},
{
"name": "axis",
"expectedOutcome": {
"datum": {
"record": {
"diagnostic": {
"record": {
"code": "resource.exhausted",
"data": {
"record": {
"axis": "work",
"event": "result-check",
"stage": "result-check"
}
},
"phase": "evaluate"
}
},
"format": "lispex.outcome/2",
"kind": "failure",
"site": {
"record": {
"local": {
"bytevectorHex": "4c58530100000c726573756c742d636865636b0107066f7574707574"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
}
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"actualOutcome": {
"datum": {
"record": {
"diagnostic": {
"record": {
"code": "resource.exhausted",
"data": {
"record": {
"axis": "allocation",
"event": "result-check",
"stage": "result-check"
}
},
"phase": "evaluate"
}
},
"format": "lispex.outcome/2",
"kind": "failure",
"site": {
"record": {
"local": {
"bytevectorHex": "4c58530100000c726573756c742d636865636b0107066f7574707574"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
}
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"expectedReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200f60408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae3026c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"actualReceipt": {
"datum": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"packetHex": "6c69737065782e646174756d2f3200fc0408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae9026c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"expectedReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200c10508080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae3026c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "bf6c03a9af0a41db5f632c71bf0d706d1989045292746304f1b95f77755babd7",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20bf6c03a9af0a41db5f632c71bf0d706d1989045292746304f1b95f77755babd708080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"actualReceiptIdentity": {
"domain": "lispex.receipt/2",
"payload": {
"record": {
"format": "lispex.receipt/2",
"outcome_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000000"
},
"program": {
"record": {
"digest": {
"bytevectorHex": "1111111111111111111111111111111111111111111111111111111111111111"
},
"domain": "lispex.program/2",
"format": "lispex.identity/2"
}
},
"request": {
"record": {
"digest": {
"bytevectorHex": "2121212121212121212121212121212121212121212121212121212121212121"
},
"domain": "lispex.request/2",
"format": "lispex.identity/2"
}
}
}
},
"preimageHex": "6c69737065782e646174756d2f3200c70508080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406176c69737065782e6964656e746974792d696e7075742f32080806077061796c6f616408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae9026c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f32000000",
"digestHex": "602085ccbbb60fa33951b48f9d5a871a725f77dd492eb2e8d92a4bac8fe48f75",
"identityBytesHex": "6c69737065782e646174756d2f320066080806066469676573740a20602085ccbbb60fa33951b48f9d5a871a725f77dd492eb2e8d92a4bac8fe48f7508080606646f6d61696e06106c69737065782e726563656970742f3208080606666f726d617406116c69737065782e6964656e746974792f3200"
},
"comparisonReport": {
"datum": {
"record": {
"actual_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200fc0408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae9026c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"diagnostic": {
"vector": [
{
"record": {
"code": "replay.mismatch",
"data": {
"record": {
"component": "outcome"
}
},
"phase": "replay"
}
}
]
},
"evidence": "not-requested",
"evidence_report": {
"vector": []
},
"expected_receipt_bytes": {
"bytevectorHex": "6c69737065782e646174756d2f3200f60408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae3026c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
"first_mismatch": {
"vector": [
"outcome"
]
},
"format": "lispex.comparison/2",
"operation": "replay",
"outcome": "different",
"program": "equal",
"request": "equal"
}
},
"packetHex": "6c69737065782e646174756d2f3200e20c0808061461637475616c5f726563656970745f62797465730a8d056c69737065782e646174756d2f3200fc0408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae9026c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f6465060f7265706c61792e6d69736d61746368080806046461746108080609636f6d706f6e656e7406076f7574636f6d650008080605706861736506067265706c6179000808060865766964656e6365060d6e6f742d7265717565737465640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730a87056c69737065782e646174756d2f3200f60408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae3026c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d61746368090106076f7574636f6d6508080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e06067265706c6179080806076f7574636f6d650609646966666572656e740808060770726f6772616d0605657175616c08080607726571756573740605657175616c00"
}
}
]
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparisons": [
{
"case": "typed-data",
"program": "equal",
"request": "equal",
"outcome": "different",
"firstMismatch": "outcome"
},
{
"case": "site",
"program": "equal",
"request": "equal",
"outcome": "different",
"firstMismatch": "outcome"
},
{
"case": "axis",
"program": "equal",
"request": "equal",
"outcome": "different",
"firstMismatch": "outcome"
}
],
"diagnostic": {
"phase": "replay",
"code": "replay.mismatch",
"data": {
"component": "outcome"
}
},
"bothReceiptsPreserved": true,
"exitCode": 42,
"receiptPackets": [
{
"case": "typed-data",
"expectedHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
{
"case": "site",
"expectedHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualHex": "6c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
},
{
"case": "axis",
"expectedHex": "6c69737065782e646174756d2f3200f60408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae3026c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000",
"actualHex": "6c69737065782e646174756d2f3200fc0408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae9026c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f320000"
}
],
"comparisonReportPacketsHex": [
"6c69737065782e646174756d2f3200c00c0808061461637475616c5f726563656970745f62797465730af9046c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601320808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f6465060f7265706c61792e6d69736d61746368080806046461746108080609636f6d706f6e656e7406076f7574636f6d650008080605706861736506067265706c6179000808060865766964656e6365060d6e6f742d7265717565737465640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730af9046c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d61746368090106076f7574636f6d6508080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e06067265706c6179080806076f7574636f6d650609646966666572656e740808060770726f6772616d0605657175616c08080607726571756573740605657175616c00",
"6c69737065782e646174756d2f3200c00c0808061461637475616c5f726563656970745f62797465730af9046c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100010c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f6465060f7265706c61792e6d69736d61746368080806046461746108080609636f6d706f6e656e7406076f7574636f6d650008080605706861736506067265706c6179000808060865766964656e6365060d6e6f742d7265717565737465640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730af9046c69737065782e646174756d2f3200e80408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ad5026c69737065782e646174756d2f3200c4020808060a646961676e6f7374696308080604636f6465060e76616c75652e626f756e6461727908080604646174610808060661637475616c0108080605636f756e740601300808060470617468090008080606726561736f6e0605636f756e740008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d61746368090106076f7574636f6d6508080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e06067265706c6179080806076f7574636f6d650609646966666572656e740808060770726f6772616d0605657175616c08080607726571756573740605657175616c00",
"6c69737065782e646174756d2f3200e20c0808061461637475616c5f726563656970745f62797465730a8d056c69737065782e646174756d2f3200fc0408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae9026c69737065782e646174756d2f3200d8020808060a646961676e6f7374696308080604636f646506127265736f757263652e65786861757374656408080604646174610808060461786973060a616c6c6f636174696f6e080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060a646961676e6f73746963090108080604636f6465060f7265706c61792e6d69736d61746368080806046461746108080609636f6d706f6e656e7406076f7574636f6d650008080605706861736506067265706c6179000808060865766964656e6365060d6e6f742d7265717565737465640808060f65766964656e63655f7265706f727409000808061665787065637465645f726563656970745f62797465730a87056c69737065782e646174756d2f3200f60408080606666f726d617406106c69737065782e726563656970742f320808060d6f7574636f6d655f62797465730ae3026c69737065782e646174756d2f3200d2020808060a646961676e6f7374696308080604636f646506127265736f757263652e657868617573746564080806046461746108080604617869730604776f726b080806056576656e74060c726573756c742d636865636b080806057374616765060c726573756c742d636865636b0008080605706861736506086576616c756174650008080606666f726d617406106c69737065782e6f7574636f6d652f32080806046b696e6406076661696c7572650808060473697465080806056c6f63616c0a1c4c58530100000c726573756c742d636865636b0107066f75747075740808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f320000000808060770726f6772616d080806066469676573740a20111111111111111111111111111111111111111111111111111111111111111108080606646f6d61696e06106c69737065782e70726f6772616d2f3208080606666f726d617406116c69737065782e6964656e746974792f32000808060772657175657374080806066469676573740a20212121212121212121212121212121212121212121212121212121212121212108080606646f6d61696e06106c69737065782e726571756573742f3208080606666f726d617406116c69737065782e6964656e746974792f3200000808060e66697273745f6d69736d61746368090106076f7574636f6d6508080606666f726d617406136c69737065782e636f6d70617269736f6e2f32080806096f7065726174696f6e06067265706c6179080806076f7574636f6d650609646966666572656e740808060770726f6772616d0605657175616c08080607726571756573740605657175616c00"
],
"canonicalSiteBytesHex": [
"4c58530100000c726573756c742d636865636b0107066f7574707574",
"4c58530100010c726573756c742d636865636b0107066f7574707574"
],
"comparisonStageOnly": true,
"guestEvaluations": 0,
"verifiedProgramMarkerPresent": false,
"verifiedRequestMarkerPresent": false,
"siteMembershipVerified": false
}Product invocation
Expected result
Each changed canonical failure field makes the whole outcome differ. The report preserves both complete receipts. Product invocation awaits its 2.0 adapter.
This fixture supplies both complete receipts at the shared replay-comparison boundary. It does not run a guest or provide a recorded semantic request. The three pairs change exactly the boundary count string (0 versus 2), the local node index (0 versus 1), or the exhausted axis (work versus allocation). vectors.json supplies every Diagnostic, CanonicalSiteBytes, outcome, receipt, and receipt identity packet. Both receipts are locally well-formed; program/request preimages and site membership remain unverified claims. The existing replay mismatch classification is the comparison operation selector, not proof that an execution occurred.
Replay the same meaning through different artifacts
lispex.example.v2.receipt-and-replay.replay-different-artifact · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"input": {
"kind": "integer",
"value": "17"
},
"expected": {
"program": "canonical-program-A",
"artifact": "original engine artifact",
"receipt": "receipt-A",
"evidence": "valid explicit evidence for receipt-A"
},
"actual": {
"program": "canonical-program-A",
"artifact": "different admitted engine artifact"
},
"recordedRequest": "the same complete semantic request"
}
17Outcome details
{
"kind": "value",
"valueCount": 1,
"datum": {
"kind": "integer",
"value": "17"
}
}Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"comparison": {
"program": "equal",
"request": "equal",
"outcome": "equal",
"evidence": "verified",
"firstMismatch": null
},
"expectedEvidenceTarget": "expected-receipt",
"artifactIdentityEqual": false,
"evaluationReceiptBytesEqual": true,
"exitCode": 0
}Product invocation
Expected result
A different admitted engine artifact can reproduce the same request and receipt. Supplied evidence continues to authenticate the expected receipt's original execution. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.
Refuse an incomplete recorded request
lispex.example.v2.receipt-and-replay.replay-missing-recorded-field · rev. 1
(module main
(import)
(export rule)
(entry rule)
(define rule (lambda (input) input)))
Request and files
{
"notation": "documentation-request",
"source": "source.scm",
"rootModule": "main",
"semantics": {
"language": "Lispex 2.0",
"standardLibrary": "one verified fixed library identity",
"unicode": "one verified fixed Unicode contract identity",
"resourceModel": "one verified finite resource model"
},
"limits": {
"prepare": "finite values sufficient for preparation",
"evaluate": "finite values sufficient for the case",
"profile": "finite values for the declared host work case"
},
"moduleSources": [
{
"name": "main",
"source": "source.scm"
}
],
"operation": "replay",
"recordedRequest": {
"program": "program-A",
"input": "complete canonical input bytes",
"language": "2.0",
"unicode": "recorded Unicode identity",
"library": "recorded library identity",
"evaluation_limits": "recorded finite limits"
},
"missingField": "resource_model",
"hostDefault": "a different available model"
}
[]Specification outcome. Product runs are pending the 2.0 adapter.
Semantic details
{
"admission": {
"status": "refused",
"diagnostic": {
"phase": "admission",
"code": "request.invalid",
"data": {
"field": "resource_model",
"reason": "missing-field"
}
}
},
"entryEvaluated": false,
"defaultSubstitution": false,
"canonicalOutcomeProduced": false,
"evaluationReceiptEligible": false,
"comparisonPerformed": false,
"exitCode": 30
}Product invocation
Expected result
A missing resource model refuses replay before entry. The available host default does not complete the recorded request. Product invocation awaits its 2.0 adapter.
The fixture uses the declared 2.0 byte contract and symbolic finite limits. The product plans remain not-run.