� AdmissionCostRuleV1_AdmissionCostRuleV1FAdmissionCostRuleV1 {
costClassRuleId: u16
ruleKind: u8
} AdmissionParametersV1��AdmissionParametersV1�~AdmissionParametersV1 {
version: u8 = 1
relayPublicKey: 32 bytes
profileId: u16
schemeId: u16
conformanceClass: u8
roleBits: u16
verifierKey: bounded bytes[0..4096]
resourceCosts: sorted array[1..512] of
{ familyId: u8, operationId: u8, resourceClass: u8,
leaseClass: u8, costUnits: u64 }
tokenMaxBytes: u16 // <= 4096
issuanceUrl: optional canonical URL bytes[1..512]
issuerRelayKey: optional 32 bytes
validFromEpoch: u32
expiresEpoch: u32
nonce: 32 bytes
signature: 64 bytes
} AdmissionProfileV1�vAdmissionProfileV1�\AdmissionProfileV1 {
profileId: u16 // unique within descriptor, 1..65535
schemeId: u16
conformanceClass: u8 // 1 open, 2 private
roleBits: u16 // operations/hops at which this profile redeems
parameterUrl: optional canonical URL bytes[1..512] // evidence mirror only
parameterHash: 32 bytes
} AdmissionV1�AdmissionV1�AdmissionV1 {
profileId: u16
schemeId: u16
parameterHash: 32 bytes
token: bounded bytes[1..4096]
} BatchGetEntryV1�BatchGetEntryV1}BatchGetEntryV1 = tagged union {
0: { status: absent }
1: { status: found, sizeClass: u8, cellBlob: exact class bytes }
} BatchGetResultV1�ZBatchGetResultV1�BatchGetResultV1 {
version: u8 = 1
relayBinding: RelayResultBindingV1
requestNonce: 32 bytes
requestCommitment:32 bytes
entries: ordered array[1..64] of tagged BatchGetEntryV1
entriesCommitment:BLAKE2b-256(canonical(entries))
signature: 64 bytes
} BatchGetEntryV1RelayResultBindingV1 BatchGetSignaturePayloadV1�BatchGetSignaturePayloadV1�BatchGetSignaturePayloadV1 {
version: u8 = 1
relayBinding: RelayResultBindingV1
requestNonce: 32 bytes
requestCommitment:32 bytes
entriesCommitment:32 bytes
} RelayResultBindingV1
BatchGetV1�
BatchGetV1�BatchGetV1 {
version: u8 = 1
clientNonce: 32 bytes
slots: bounded array[1..64] of 32 bytes
admission: optional AdmissionV1
} AdmissionV1 !BlindAdmissionParametersRequestV1�!BlindAdmissionParametersRequestV1�BlindAdmissionParametersRequestV1 {
version: u8 = 1
profileId: u16
schemeId: u16
clientNonce: 32 bytes
}
BlindBackupChunkManifestV1�sBlindBackupChunkManifestV1�2BlindBackupChunkManifestV1 {
version: u8 = 1
backupId: 32 random nonzero bytes
encryptionProfile: BlindBackupEncryptionProfileV1
encryptionManifestHash:32 bytes
entries: sorted array[1..16777216] of {
path: portable relative ASCII bytes[1..512],
fileOffset: u64,
plaintextByteLength: u32[1..4194304],
ciphertextByteLength:u32[17..4194320],
chunkObjectId:32 random nonzero bytes,
chunkSalt:32 random nonzero bytes,
nonce: 24 bytes,
ciphertextHash: 32 bytes
}
totalPlaintextByteLength:u64
totalCiphertextByteLength:u64
} BlindBackupEncryptionProfileV1 BlindBackupEncryptionProfileV1�QBlindBackupEncryptionProfileV1�+BlindBackupEncryptionProfileV1 {
version: u8 = 1
algorithmId: u16 = 1 // XCHACHA20_POLY1305_IETF
keyDerivationId: u16 = 1 // HKDF_SHA256
recoveryKeyId: 32 random nonzero bytes
keyEpoch: u32 // nonzero; rotation forces full re-encryption
} BlindBackupManifestV1��BlindBackupManifestV1��BlindBackupManifestV1 {
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 bytes
externalJournalId: 32 random nonzero bytes
durabilityContinuityHash:32 bytes
backupId: 32 random nonzero bytes
backupFailureGroupId: 32 nonzero topology-witness-assigned bytes
storeManifestRevision: u64
storeManifestHash: 32 bytes
storeFormatHash: 32 bytes
coverageCutoffExternalUnixMillis:u64
coveredWalSequence: u64
coveredWalHash: 32 bytes
externalFloorRevision: u64
externalFloorHash: 32 bytes
externalCheckpointRevision:u64
externalCheckpointHash:32 bytes
baseFloorRevision: u64
baseFloorHash: 32 bytes
controlSnapshotHash: 32 bytes
backupEncryptionProfileHash:32 bytes
encryptionManifestHash:32 bytes
chunkManifestByteLength:u64
chunkManifestHash: 32 bytes
totalPlaintextByteLength:u64
totalCiphertextByteLength:u64
restoreVerifierPublicKey:optional 32-byte Ed25519 public key
cleanRestoreEvidenceHash:optional 32 bytes
createdExternalUnixMillis:u64
restoreSupportExpiresUnixMillis:u64
witnessPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
}
BlindBackupRetentionTransitionV1�� BlindBackupRetentionTransitionV1��BlindBackupRetentionTransitionV1 {
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 bytes
externalJournalId: 32 random nonzero bytes
durabilityContinuityHash:32 bytes
backupId: 32 random nonzero bytes
backupManifestHash: 32 bytes
transitionRevision: u64
previousTransitionHash:optional 32 bytes // absent rev1; otherwise H(previous)
operation: u8 // 1 REGISTER, 2 EXTEND, 3 RETIRE
supportExpiresUnixMillis:u64
replacementBackupId: optional 32 bytes
effectiveExternalTimeFloorMillis:u64
witnessPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} BlindCleanRestoreEvidenceV1��BlindCleanRestoreEvidenceV1�lBlindCleanRestoreEvidenceV1 {
version: u8 = 1
backupId: 32 random nonzero bytes
backupCandidateCommitment:32 bytes
restoredStoreManifestHash:32 bytes
verifiedWalSequence: u64
verifiedWalHash: 32 bytes
verifiedExternalFloorRevision:u64
verifiedExternalFloorHash:32 bytes
verifiedCheckpointRevision:u64
verifiedCheckpointHash:32 bytes
scrubbedObjectCount: u64
scrubFailureCount: u32 = 0
startedExternalUnixMillis:u64
completedExternalUnixMillis:u64
verifierPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} BlindCoreAckV1��BlindCoreAckV1��BlindCoreAckV1 {
version: u8 = 1
relayBinding: RelayResultBindingV1
corePublicKey: 32 bytes
fork: u64
length: u64
signedHeadHash: 32 bytes
observedAtEpoch: u32
leaseEpoch: u32
result: u8 // 1 MIRROR_ACCEPTED, 2 RECENTLY_SERVED
requestNonce: 32 bytes
requestCommitment:32 bytes
signature: relay Ed25519 signature over canonical domain-separated bytes
} RelayResultBindingV1 BlindDescribeGetV1�BlindDescribeGetV1�BlindDescribeGetV1 {
version: u8 = 1
descriptorHash: optional 32 bytes // absent=current; present=history by hash
clientNonce: 32 bytes
} BlindDhtPointerV1�{BlindDhtPointerV1�bBlindDhtPointerV1 { // total canonical bytes <= 1000
version: u8 = 1
relayPublicKey: 32 bytes
descriptorSequence:u64
descriptorHash: 32 bytes
descriptorUrl: canonical HTTPS URL bytes[1..512]
transportBits: u16
issuedEpoch: u32
expiresEpoch: u32
nonce: 32 bytes
signature: 64 bytes
} BlindDispatchFrameV1�BlindDispatchFrameV1��BlindDispatchFrameV1 {
frameLength: u32 // bytes after this field, <= 4 MiB + 64
version: u8 = 1
frameKind: u8 // 1 request, 2 response, 3 error,
// 4 stream-control/data
familyId: u8
operationId: u8
flags: u8 = 0 // all bits reserved in v1
requestId: 16 bytes // random nonzero for unary/open; zero for stream
streamId: u64 // zero for unary/open request; nonzero after open
sequence: u64 // zero for unary; per-sender monotonic for stream
bodyLength: u32 // exact following bytes, <= family/op cap
body: exact canonical operation bytes
} BlindErrorV1�BlindErrorV1�BlindErrorV1 {
version: u8 = 1
code: stable u8 enum
retryable: u8 = 0 | 1
retryAfterEpoch: optional u32
} BlindExternalCommitWitnessV1��BlindExternalCommitWitnessV1��BlindExternalCommitWitnessV1 { // conditionally present under the closed table below
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 random nonzero bytes
externalJournalId: 32 random nonzero bytes
durabilityContinuityHash:32 bytes
durabilityProfileHash: 32 bytes
restoreEvidenceHeadSequence:u64
restoreEvidenceHeadHash:32 bytes
familyId: u8
operationId: u8
requestCommitment: 32 bytes
resultCommitment: 32 bytes
commitWalSequence: u64
commitWalHash: 32 bytes
coveringFloorRevision:u64
coveringFloorHash: 32 bytes
coveringFloorWalSequence:u64
coveringFloorWalHash: 32 bytes
writerEpoch: u64
writerFenceTokenHash: 32 bytes
externalLeaseRevision: u64
witnessedUnixMillis: u64
witnessPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} BlindExternalJournalTopologyV1��BlindExternalJournalTopologyV1��BlindExternalJournalTopologyV1 { // public generic durability evidence
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 bytes
externalJournalId: 32 random nonzero bytes
durabilityContinuityHash:32 bytes
topologySequence: u64
previousTopologyHash: optional 32 bytes
replicationClass: u8 = 1
commitQuorum: u8 = 2
sharedFailureGroupId: 32 random nonzero bytes
liveStoreFailureGroupId:32 nonzero topology-witness-assigned bytes
backupFailureGroups: sorted array[0..16] of {
backupFailureGroupId:32 nonzero witness-assigned bytes,
operatorGroupId:32 random nonzero bytes
}
nodes: sorted array[3..3] of {
nodePublicKey: 32-byte Ed25519 public key,
operatorGroupId: 32 random nonzero bytes,
failureDomainId: 32 random nonzero bytes,
roleConflictBits: u16
}
issuedEpoch: u32
expiresEpoch: u32
witnessPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} BlindForwardCloseV1�BlindForwardCloseV1�� BlindForwardCloseV1 {
version: u8 = 1
circuitNonce: 32 bytes
closeKind: u8 // 1 FIN(send side), 2 ABORT(both sides)
finalSendOffset: u64
reasonCode: u8 // generic bounded enum, no app text
} BlindForwardDataV1�BlindForwardDataV1�BlindForwardDataV1 {
version: u8 = 1
circuitNonce: 32 bytes
offset: u64
bytes: bounded opaque bytes[1..maxDataBytes]
} BlindForwardHopAcceptV1��BlindForwardHopAcceptV1��BlindForwardHopAcceptV1 { // returned before destination resources are exposed
version: u8 = 1
previousRelayKey: 32 bytes
previousDescriptorSequence:u64
previousDescriptorHash: 32 bytes
nextRelayKey: 32 bytes
nextDescriptorSequence: u64
nextDescriptorHash: 32 bytes
nextRelayBinding: RelayResultBindingV1
routeId: 16 bytes
circuitNonce: 32 bytes
nextStreamId: u64 // random nonzero on adjacent authenticated link
grantedWireClass: u8
circuitClass: u8
grantedInitialWindow: u32
maxDataBytes: u32
maxCircuitBytes: u64
idleMillis: u32
lifetimeMillis: u32
openedAtEpoch: u32
hopOpenCommitment: 32 bytes
handshakeFlight2: 96 bytes
nextSignature: 64 bytes
} RelayResultBindingV1 BlindForwardHopOpenV1��BlindForwardHopOpenV1��BlindForwardHopOpenV1 { // authenticated length-delimited adjacent-hop preface
version: u8 = 1
route: BlindTransportRouteV1
routeScope: BlindForwardRouteScopeV1
previousDescriptorSequence:u64
previousDescriptorHash: 32 bytes
circuitNonce: 32 bytes
requestedWireClass: u8
circuitClass: u8
grantedInitialWindow: u32
maxDataBytes: u32
maxCircuitBytes: u64
idleMillis: u32
lifetimeMillis: u32
clientRequestCommitment: 32 bytes
handshakeFlight1: 32 bytes
forwarderSignature: 64 bytes
} BlindForwardRouteScopeV1BlindTransportRouteV1 BlindForwardOpenResultV1��BlindForwardOpenResultV1�JBlindForwardOpenResultV1 {
version: u8 = 1
relayBinding: RelayResultBindingV1
routeId: 16 bytes
nextDescriptorSequence:u64
nextDescriptorHash:32 bytes
circuitNonce: 32 bytes
grantedWireClass:u8 // exactly requestedWireClass in v1
circuitClass: u8
streamId: u64 // random nonzero on this authenticated channel
grantedInitialWindow:u32 // exact circuitClass tuple
maxDataBytes: u32 // exact wireClass bytes in split-native
maxCircuitBytes: u64 // exact circuitClass tuple
idleMillis: u32 // exact circuitClass tuple
lifetimeMillis: u32 // exact circuitClass tuple
openedAtEpoch: u32
requestCommitment:32 bytes
nextHopAccept: BlindForwardHopAcceptV1
signature: 64 bytes
} BlindForwardHopAcceptV1RelayResultBindingV1 BlindForwardOpenV1��BlindForwardOpenV1�cBlindForwardOpenV1 {
version: u8 = 1
routeId: 16 bytes
nextDescriptorSequence:u64
nextDescriptorHash: 32 bytes
requestedWireClass: u8
circuitClass: u8
circuitNonce: 32 bytes
hopAdmission: AdmissionV1
innerHandshake: bounded opaque bytes[32] // exact Curve25519 Noise flight 1
} AdmissionV1 BlindForwardRouteHopV1�9BlindForwardRouteHopV1�BlindForwardRouteHopV1 {
hopIndex: u8 // 0..3
relayPublicKey: 32 nonzero bytes
descriptorSequence: u64
descriptorHash: 32 nonzero bytes
previousScopeHash: 32 bytes
scopeHash: 32 nonzero bytes
relaySignature: 64 bytes
} BlindForwardRouteScopeV1�sBlindForwardRouteScopeV1�<BlindForwardRouteScopeV1 {
version: u8 = 1
rootRouteId: 16 nonzero bytes
rootCircuitNonce: 32 nonzero bytes
rootRequestCommitment: 32 nonzero bytes
maxRelayCount: u8 // 2..4
expiresEpoch: u32 // nonzero
hops: BlindForwardRouteHopV1[1..4]
} BlindForwardRouteHopV1 BlindForwardWindowV1�BlindForwardWindowV1�BlindForwardWindowV1 {
version: u8 = 1
circuitNonce: 32 bytes
consumedThrough: u64
creditIncrement: u32 // 1..1 MiB; total credit remains capped
} BlindHealthChallengeV1�RBlindHealthChallengeV1�4BlindHealthChallengeV1 {
version: u8 = 1
descriptorSequence:u64
descriptorHash: 32 bytes
endpointId: u8 // exact signed descriptor endpoint
transportSupportBit:u16 // exactly one frozen support bit
requestedRoleBits:u16
requestedOperationBits:u32
clientNonce: 32 bytes
} BlindHealthResultV1��BlindHealthResultV1��BlindHealthResultV1 {
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 random nonzero bytes
descriptorSequence:u64
descriptorHash: 32 bytes
endpointId: u8 // exact challenged endpoint
transportSupportBit:u16 // exact challenged one-hot support bit
durabilityContinuityHash:32 bytes
durabilityProfileHash:32 bytes
clientNonce: 32 bytes
readyRoleBits: u16
readyOperationBits:u32
clockState: u8 // 1 ready, 2 unsafe, 3 verifying
effectiveEpochFloor:u32
integrityState: u8 // 1 verified, 2 degraded, 3 failed
checkpointAgeBand:u8 // coarse universal band, no exact revision/time
scrubAgeBand: u8 // coarse universal band, no exact revision/time
rebalanceState: u8 // 0 stable, 1 copying, 2 catching-up, 3 fenced
capacityBand: u8
challengeEpoch: u32
signature: 64 bytes
} !BlindOhttpKeyConfigV1��BlindOhttpKeyConfigV1��BlindOhttpKeyConfigV1 {
version: u8 = 1
gatewayRelayKey: 32 bytes
gatewayDescriptorSequence:u64
configId: u8
kemId: u16
kdfId: u16
aeadId: u16
encodedPublicKey: bounded bytes[1..256]
notBeforeEpoch: u32
notAfterEpoch: u32
previousConfigHash:optional 32 bytes
signature: gateway relay Ed25519 signature
} "BlindOhttpTransportErrorV1�BlindOhttpTransportErrorV1{BlindOhttpTransportErrorV1 {
version: u8 = 1
code: u8 // 1 MALFORMED_INNER, 2 TARGET_UNAVAILABLE, 3 TARGET_TIMEOUT
} #BlindOuterEnvelopeV1�LBlindOuterEnvelopeV1�BlindOuterEnvelopeV1 { // exact total bytes = outerClass size
version: u8 = 1
outerClass: u8
innerLength: u32 // exact complete BlindDispatchFrameV1 bytes
innerDispatch: bytes[innerLength]
randomPadding: remaining bytes to exact class
} BlindDispatchFrameV1 $BlindReceiptV1�nBlindReceiptV1�CBlindReceiptV1 {
version: u8 = 1
protocol: exact ASCII "hiverelay-blind-cell-v1" (23 bytes)
relayBinding: RelayResultBindingV1
slotCommitment: BLAKE2b-256(slot)
cellBlobHash: 32 bytes
allocationCommitment: 32 bytes
requestCommitment:32 bytes
sizeClass: u8
allocationEpoch:u32
leaseClass: u8
leaseEpoch: u32
stateRevision: u64
receiptEpoch: u32
requestNonce: 32 bytes
result: u8 // 1 STORED, 2 SERVED, 3 RENEWED, 4 DROPPED
signature: 64-byte Ed25519 signature over canonical domain-separated bytes
} RelayResultBindingV1 %BlindRestoreEvidenceBundleV1�?BlindRestoreEvidenceBundleV1� BlindRestoreEvidenceBundleV1 { // fetched exact bytes, canonical size <= 524288
version: u8 = 1
heads: ordered array[1..385] of BlindRestoreEvidenceHeadV1
currentBackupManifestBytes:bounded canonical bytes[1..65535]
currentRetentionTransitionBytes:bounded canonical bytes[1..8192]
drillBackupManifestBytes:bounded canonical bytes[1..65535]
drillCleanRestoreEvidenceBytes:bounded canonical bytes[1..8192]
drillRetentionTransitionBytes:bounded canonical bytes[1..8192]
} BlindRestoreEvidenceHeadV1 &BlindRestoreEvidenceHeadV1��BlindRestoreEvidenceHeadV1�xBlindRestoreEvidenceHeadV1 { // independently advancing public profile-2 feed
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 bytes
externalJournalId: 32 random nonzero bytes
durabilityContinuityHash:32 bytes
restoreEvidenceFeedId: 32 random nonzero bytes
evidenceSequence: u64
previousEvidenceHeadHash:optional 32 bytes
currentBackupManifestHash:32 bytes
currentRetentionTransitionHash:32 bytes // H(current REGISTER or EXTEND)
currentCoveredWalSequence:u64
currentExternalFloorRevision:u64
currentChunkObjectCount:u64
currentAvailabilityAuditHash:32 bytes
currentSupportExpiresUnixMillis:u64
drillBackupManifestHash:32 bytes
drillCleanRestoreEvidenceHash:32 bytes
drillRetentionTransitionHash:32 bytes // H(current REGISTER or EXTEND)
restoreDrillCompletedUnixMillis:u64
drillSupportExpiresUnixMillis:u64
issuedExternalUnixMillis:u64
expiresExternalUnixMillis:u64
issuedEpoch: u32 // checked floor(issuedExternalUnixMillis/21600000)
witnessPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} 'BlindServiceDescriptorV1�WBlindServiceDescriptorV1��BlindServiceDescriptorV1 {
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 random nonzero bytes
descriptorSequence:u64
previousDescriptorHash:optional 32 bytes
identitySequence: u64
previousRelayKey: optional 32 bytes
identityTransition:optional RelayIdentityTransitionV1
build: BuildProfileV1
protocols: sorted array[1..16] of ProtocolProfileV1
endpoints: sorted array[1..16] of TransportEndpointV1
cellSizeClassBits:u8
leaseClassBits: u8
maxBatchCount: u16 // <= 64
maxResponseBytes: u32 // <= 4 MiB
maxSponsoredCoreLength:u64
enabledOperationBits:u32 // operation-ordinal bitmap; bits 22..31 zero
admissionProfiles:sorted array[1..8] of AdmissionProfileV1
durability: DurabilityProfileV1
durabilityContinuityHash:32 bytes
durabilityProfileHash:32 bytes
storeLifecycleState:u8 // 1 ACTIVE, 2 DRAINING, 3 RETIRED
drainStartedEpoch:optional u32 // present exactly for DRAINING/RETIRED
capacityBand: u8 // coarse enum 0..7, not an exact byte count
issuedEpoch: u32
expiresEpoch: u32 // issued < expiry <= issued + 4
descriptorNonce: 32 bytes
signature: 64 bytes
} AdmissionProfileV1BuildProfileV1DurabilityProfileV1ProtocolProfileV1RelayIdentityTransitionV1TransportEndpointV1 (BlindStreamChunkPlainV1��BlindStreamChunkPlainV1�rBlindStreamChunkPlainV1 { // exact total = wireClass bytes - 16-byte AEAD tag
version: u8 = 1
wireClass: u8 // ciphertext: 1=4096, 2=16384, 3=65535 bytes
flags: u8 // bit 0 FIN; other bits zero
contentLength: u32
content: bytes[contentLength]
randomPadding: remaining bytes to (wireClass bytes - 16)
} )BlindTransportRouteV1��BlindTransportRouteV1��BlindTransportRouteV1 {
version: u8 = 1
routeKind: u8 // 1 OHTTP ingress→gateway,
// 2 Protomux entry→exit, 3 Protomux exit→storage,
// 4 MASQUE entry→exit, 5 MASQUE exit→storage,
// 6 mix hop→next hop
routeId: 16 random bytes
previousRelayKey: 32 bytes
previousEndpointId: u8
nextRelayKey: 32 bytes
nextDescriptorSequence:u64
nextDescriptorHash: 32 bytes
nextEndpointId: u8
envelopeClassBits: u16
wireClassBits: u8
maxCanonicalDispatchBytes:u32
maxEncapsulatedRequestBytes:u32
maxOpenBytes: u32
maxCircuitBytes: u64
maxConcurrentStreams: u16
hopAdmissionProfileId:u16
issuedEpoch: u32
expiresEpoch: u32 // issued < expiry <= issued + 4
routeNonce: 32 bytes
previousSignature: 64 bytes
} *BuildProfileV1��BuildProfileV1��BuildProfileV1 {
specHash: 32 bytes
abiHash: 32 bytes
vectorSetHash: 32 bytes
evidenceFormatHash:32 bytes
evidenceVectorSetHash:32 bytes
storeFormatHash: 32 bytes
storeVectorSetHash:32 bytes
privateIpcFormatHash:32 bytes
privateIpcVectorSetHash:32 bytes
buildArtifactHash:32 bytes
buildArtifactUrl: canonical HTTPS URL bytes[1..512]
buildManifestUrl: canonical HTTPS URL bytes[1..512]
buildManifestHash:32 bytes
releaseEvidenceBundleUrl:canonical HTTPS URL bytes[1..512]
releaseEvidenceBundleHash:32 bytes
releaseSupportHorizonHash:32 bytes
runtimeBoundaryEvidenceUrl:canonical HTTPS URL bytes[1..512]
runtimeBoundaryEvidenceHash:32 bytes
} +CoreMirrorRequestV1�CoreMirrorRequestV1�CoreMirrorRequestV1 {
version: u8 = 1
corePublicKey: 32 bytes
fork: u64
length: u64
signedHeadHash: 32 bytes
leaseClass: u8
clientNonce: 32 bytes
admission: AdmissionV1
} AdmissionV1 ,CoreOpenReplicationResultV1��CoreOpenReplicationResultV1��CoreOpenReplicationResultV1 {
version: u8 = 1
relayBinding: RelayResultBindingV1
wireProfileHash: 32 bytes
sessionClass: u8
controlChannelId: u64
parentChannelBinding:32 bytes
streamId: u64 // child adapter stream, random nonzero
maxSessionBytes: u64
idleMillis: u32
lifetimeMillis: u32
openedAtEpoch: u32
requestNonce: 32 bytes
requestCommitment:32 bytes
signature: 64 bytes
} RelayResultBindingV1 -CoreOpenReplicationV1�YCoreOpenReplicationV1�0CoreOpenReplicationV1 {
version: u8 = 1
wireProfileHash: 32 bytes
sessionClass: u8 // frozen C1/C2/C3 class
controlChannelId: u64 // client-random nonzero, unique in authenticated session
parentChannelBinding:32 bytes
clientNonce: 32 bytes
admission: AdmissionV1
} AdmissionV1 .CoreServeChallengeV1�PCoreServeChallengeV1�(CoreServeChallengeV1 {
version: u8 = 1
corePublicKey: 32 bytes
fork: u64
length: u64
signedHeadHash: 32 bytes
blockIndices: sorted distinct array[1..16] of u64 below length
clientNonce: 32 bytes
admission: optional AdmissionV1
} AdmissionV1 /CoreServeResultV1�CoreServeResultV1�CoreServeResultV1 {
version: u8 = 1
acknowledgement: BlindCoreAckV1
proofsAndBlocks: bounded canonical upstream Hypercore proof response
} BlindCoreAckV1 0DomainRegistryEntryV1��DomainRegistryEntryV1�gDomainRegistryEntryV1 {
domainId: u16
purpose: u8 // 1 request commitment, 2 result signature,
// 3 auxiliary WIRE signature
recipeId: u8 // 1 operation-defined commitment preimage,
// 2 Ed25519(domain || len64(payload) || payload)
exactAsciiBytes: canonical ASCII bytes[1..96]
} 1
DropCellV1�
DropCellV1�DropCellV1 {
version: u8 = 1
storageSlot: 32 bytes
expectedRevision:u64
expectedLeaseEpoch:u32
clientNonce: 32 bytes
signature: 64 bytes
} 2DurabilityContinuityBindingV1�(DurabilityContinuityBindingV1�DurabilityContinuityBindingV1 {
version: u8 = 1
profileId: u8
externalJournalId:32 bytes
externalWitnessPublicKey:32 bytes
externalJournalReplicationClass:u8
externalJournalFailureGroupId:32 bytes
restoreEvidenceFeedId:32 bytes
} 3DurabilityProfileV1�qDurabilityProfileV1�VDurabilityProfileV1 {
profileId: u8 // 1 LOCAL_FSYNC_IDENTITY_RESET_V1,
// 2 CONTROL_RPO0_3_NODE_V1
storeFormatMajor: u16
storeFormatMinor: u16
storeFormatHash: 32 bytes
externalJournalId:32 bytes // all zero for profile 1; random nonzero for 2
externalWitnessPublicKey:32 bytes // all zero for 1; Ed25519 key for 2
externalJournalReplicationClass:u8 // 0 for 1; 1 LINEARIZABLE_3_NODE_QUORUM_V1 for 2
externalJournalFailureGroupId:32 bytes // zero for 1; stable nonzero for 2
externalCheckpointAgeBand:u8
externalJournalTopologyUrl:optional canonical HTTPS URL bytes[1..512] // absent for 1
externalJournalTopologyHash:32 bytes // zero for 1
restoreEvidenceFeedUrl:optional canonical HTTPS URL bytes[1..512] // feed-bound/backed evidence mirror
restoreEvidenceFeedId:32 bytes // zero for profile1/control-only; otherwise stable nonzero
restoreEvidenceCheckpointSequence:u64 // zero until a feed head; nonzero when backed
restoreEvidenceCheckpointHash:32 bytes // paired zero or complete signed head hash
acknowledgedRpoBand:u8 // 0 undeclared, 1 <=15m, 2 <=1h, 3 <=6h
targetRtoBand: u8 // 0 undeclared, 1 <=1h, 2 <=4h, 3 <=24h
redundancyClass: u8 // 0 single, 1 local redundant, 2 verified off-host backup; 3 reserved invalid
restoreDrillAgeBand:u8 // universal coarse age band or unknown
} 4ErrorProfileEntryV1�ErrorProfileEntryV1� ErrorProfileEntryV1 {
errorProfileId: u8 = 1
code: u8
directCorrelatedStatus:u16 = 200
protectedInnerStatus: u16 = 200
retryable: u8 = 0 | 1
retryAfterMode: u8 // 0 MUST be absent, 1 MUST be present
} 5GetCellResultV1�GetCellResultV1xGetCellResultV1 {
version: u8 = 1
sizeClass: u8
cellBlob: exact bytes selected by sizeClass
} 6 GetCellV1� GetCellV1�GetCellV1 {
version: u8 = 1
storageSlot: 32 bytes
clientNonce: 32 bytes
admission: optional AdmissionV1
} AdmissionV1 7InboxAppendAckV1��InboxAppendAckV1�wInboxAppendAckV1 {
version: u8 = 1
relayBinding: RelayResultBindingV1
topicCommitment: BLAKE2b-256(physicalTopic)
frameHash: 32 bytes
appendRevision: u64
storedAtEpoch: u32
expiresAtEpoch: u32
requestNonce: 32 bytes
requestCommitment:32 bytes
result: u8 = 1 // STORED
signature: relay Ed25519 signature
} RelayResultBindingV1 8
InboxAppendV1��
InboxAppendV1�pInboxAppendV1 {
version: u8 = 1
physicalTopic: 32 bytes
frameClass: u8 // 1=4 KiB, 2=16 KiB, 3=64 KiB total
frameHash: 32 bytes
clientNonce: 32 bytes
appendSignature: optional 64 bytes, required exactly for auth mode 1
admission: AdmissionV1
frame: exact fixed-size randomized opaque bytes
} AdmissionV1 9
InboxCreateV1�;
InboxCreateV1�InboxCreateV1 {
version: u8 = 1
allocationEpoch: u32
physicalTopic: 32 bytes
frameClassBits: u8
appendAuthMode: u8 // 0 open-capability, 1 signature-required
createPublicKey: 32 bytes
appendPublicKey: optional 32 bytes, required exactly for mode 1
renewPublicKey: 32 bytes
closePublicKey: 32 bytes
retentionClass: u8 // R1/R7/R30/R90; per-frame retention
leaseClass: u8
clientNonce: 32 bytes
createSignature: 64 bytes
admission: AdmissionV1
} AdmissionV1 :
InboxManageV1��
InboxManageV1�_InboxManageV1 {
version: u8 = 1
operation: u8 // 1 renew, 2 close
physicalTopic: 32 bytes
expectedRevision: u64
expectedLeaseEpoch:u32
leaseClass: u8 // NONE for close
clientNonce: 32 bytes
signature: 64 bytes
admission: optional AdmissionV1 // required for renew
} AdmissionV1 ;InboxReadResultV1�\InboxReadResultV1�InboxReadResultV1 {
version: u8 = 1
relayBinding: RelayResultBindingV1
requestNonce: 32 bytes
requestCommitment:32 bytes
snapshotRevision: u64
entries: bounded ordered array[0..64] of
{ appendRevision: u64, frameHash: 32,
frameClass: u8, frame: exact class bytes }
entriesCommitment:BLAKE2b-256(canonical(entries))
nextCursor: optional opaque bytes, maximum 128
signature: relay Ed25519 signature over InboxReadSignaturePayloadV1
} InboxReadSignaturePayloadV1RelayResultBindingV1 <InboxReadSignaturePayloadV1�;InboxReadSignaturePayloadV1�InboxReadSignaturePayloadV1 {
version: u8 = 1
relayBinding: RelayResultBindingV1
requestNonce: 32 bytes
requestCommitment:32 bytes
snapshotRevision:u64
entriesCommitment:32 bytes
nextCursor: optional opaque bytes[0..128]
} RelayResultBindingV1 =InboxReadV1�InboxReadV1�InboxReadV1 {
version: u8 = 1
physicalTopic: 32 bytes
cursor: opaque bounded bytes
limit: u16
clientNonce: 32 bytes
admission: optional AdmissionV1
} AdmissionV1 >InboxReceiptV1��InboxReceiptV1�hInboxReceiptV1 {
version: u8 = 1
relayBinding: RelayResultBindingV1
topicCommitment: BLAKE2b-256(physicalTopic)
stateRevision: u64
leaseClass: u8
leaseEpoch: u32
requestNonce: 32 bytes
requestCommitment:32 bytes
result: u8 // 1 created, 2 renewed, 3 closed
signature: 64 bytes
} RelayResultBindingV1 ?InboxWatchV1�InboxWatchV1�InboxWatchV1 {
version: u8 = 1
physicalTopic: 32 bytes
afterRevision: u64
limit: u16
maxWaitMillis: u16 // 1..30000
clientNonce: 32 bytes
admission: AdmissionV1
} AdmissionV1 @OperationProfileV1�_OperationProfileV1�8OperationProfileV1 { // ABI-registry metadata, not sent in each request
familyId: u8
operationId: u8
requestSchemaId: u16
resultSchemaId: u16 // zero only for kind-4-only stream verbs
allowedRequestKindBits:u8
allowedResultKindBits: u8
streamTransition: u8 // 0 unary, 1 core-child, 2 forward-open, 3 forward-active
maxRequestBodyBytes: u32
maxResultBodyBytes: u32
admissionMode: u8 // 0 none, 1 optional, 2 required
costClassRuleId: u16 // zero only when admissionMode=0
requestCommitmentDomainId:u16 // zero only when no request commitment exists
resultSignatureDomainId:u16 // zero when transport/authentication is sufficient
errorProfileId: u8 // 1 = canonical BlindErrorV1 precedence/mapping
transportSupportBits: u16
} BlindErrorV1 AProtocolProfileV1�ProtocolProfileV1�ProtocolProfileV1 {
protocolId: u16 // enum below
major: u16
minor: u16
featureBits: u64
profileHash: 32 bytes // exact protocol-specific schemas/vectors/dependency profile
} BProveCellResultV1�ProveCellResultV1�ProveCellResultV1 {
version: u8 = 1
receipt: BlindReceiptV1
sizeClass: u8
cellBlob: exact bytes selected by sizeClass
} BlindReceiptV1 CProveCellV1�ProveCellV1�ProveCellV1 {
version: u8 = 1
storageSlot: 32 bytes
clientNonce: 32 bytes
admission: optional AdmissionV1
} AdmissionV1 D PutCellV1�� PutCellV1��PutCellV1 {
version: u8 = 1
storageSlot: 32 bytes
allocationEpoch: u32
sizeClass: u8
leaseClass: u8
clientNonce: 32 bytes
createPublicKey: 32 bytes
renewPublicKey: 32 bytes
dropPublicKey: 32 bytes
declaredBlobHash:32 bytes
createSignature:64 bytes
admission: AdmissionV1
cellBlob: exact bytes selected by sizeClass
} AdmissionV1 ERelayIdentityTransitionV1��RelayIdentityTransitionV1�{RelayIdentityTransitionV1 {
version: u8 = 1
oldRelayKey: 32 bytes
newRelayKey: 32 bytes
oldIdentitySequence:u64
newIdentitySequence:u64 // exactly old + 1
validFromEpoch: u32
reasonCode: u8 // generic rotation/compromise/recovery enum
transitionNonce: 32 bytes
oldSignature: 64 bytes
newSignature: 64 bytes
} FRelayResultBindingV1�RelayResultBindingV1��RelayResultBindingV1 { // nested in every persistent signed operation result
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 random nonzero bytes
descriptorSequence: u64
descriptorHash: 32 bytes
durabilityProfileId: u8
durabilityContinuityHash:32 bytes
durabilityProfileHash: 32 bytes
restoreEvidenceHeadSequence:u64
restoreEvidenceHeadHash:32 bytes
externalCommitWitness: optional BlindExternalCommitWitnessV1
} BlindExternalCommitWitnessV1 GRenewCellV1�� RenewCellV1�RenewCellV1 {
version: u8 = 1
storageSlot: 32 bytes
expectedRevision:u64
expectedLeaseEpoch:u32
leaseClass: u8
clientNonce: 32 bytes
admission: AdmissionV1
signature: 64 bytes
} AdmissionV1 HSchemaCatalogEntryV1�SchemaCatalogEntryV1�� SchemaCatalogEntryV1 {
category: u8 // 1 WIRE, 2 EVIDENCE, 3 CLIENT_EXAMPLE, 4 INTERNAL_STORE, 5 PRIVATE_IPC
categoryLocalSchemaId:u16
schemaName: canonical ASCII bytes[1..96]
canonicalSchemaBytes: bounded bytes[1..65535]
} ITransportEndpointV1��TransportEndpointV1��TransportEndpointV1 {
endpointId: u8 // unique within this descriptor, 1..255
transportId: u8 // enum below
transportProfileHash:32 bytes
roleBits: u16 // generic infrastructure roles only
privacyProfileBits:u16 // routes this endpoint can participate in
canonicalUrl: UTF-8 bytes[1..512]
endpointKey: optional 32 bytes
envelopeClassBits:u16 // supported BlindOuterEnvelope classes
wireClassBits: u8 // supported Noise record classes; zero if not streaming
maxStreams: u16 // 0 for request/response-only endpoint
auxiliaryUrl: optional UTF-8 bytes[1..512]
auxiliaryHash: optional 32 bytes
} BlindArtifactFileInventoryV1�BlindArtifactFileInventoryV1��BlindArtifactFileInventoryV1 {
version: u8 = 1
buildArtifactHash: 32 bytes
files: sorted array[1..65535] of {
componentId: u8, // 0 packaging, 1 edge, 2 daemon
path: canonical UTF-8 bytes[1..512],
mode: u16,
byteLength: u64,
contentHash: 32 bytes
}
} "BlindExecutableEntrypointCatalogV1�~"BlindExecutableEntrypointCatalogV1�TBlindExecutableEntrypointCatalogV1 {
version: u8 = 1
buildArtifactHash: 32 bytes
launchTopologyHash: 32 bytes
entries: ordered array[2..2] of {
componentId: u8,
componentArtifactHash: 32 bytes,
entrypointPath: canonical UTF-8 bytes[1..512],
entrypointContentHash: 32 bytes,
argvPrefix: ordered array[1..16] of canonical UTF-8 bytes[1..512]
}
} BlindLaunchTopologyV1�TBlindLaunchTopologyV1�7BlindLaunchTopologyV1 { // detached, release-signed
version: u8 = 1
buildArtifactHash: 32 bytes
privateIpcFormatHash: 32 bytes
privateIpcVectorSetHash: 32 bytes
components: ordered array[2..2] of {
componentId: u8, // 1 BLIND_EDGE, 2 BLIND_DAEMON
componentArtifactHash: 32 bytes,
entrypointPath: canonical UTF-8 bytes[1..512],
entrypointContentHash: 32 bytes,
serviceUnitPath: canonical UTF-8 bytes[1..512],
serviceUnitContentHash: 32 bytes,
uid: u32, gid: u32,
readOnlyMounts: sorted array[0..32] of canonical UTF-8 bytes[1..512],
writableMounts: sorted array[0..8] of canonical UTF-8 bytes[1..512],
publicListenerFamilyBits: u8,
allowedChildEntrypointHashes: sorted array[0..8] of 32 bytes
}
ipcUnarySocketPath: canonical absolute UTF-8 bytes[1..512]
ipcStreamSocketPath: canonical absolute UTF-8 bytes[1..512]
ipcOwnerUid: u32
ipcPeerUid: u32
ipcGroupGid: u32
ipcMode: u16 = 0x01b0 // POSIX 0660
launcherKind: u8 // 1 OCI Compose, 2 systemd
defaultCommand: ordered array[1..32] of canonical UTF-8 bytes[1..512]
initializers: ordered array[1..1] of {
initializerId: u8,
componentArtifactHash: 32 bytes,
argv: ordered array[1..32] of canonical UTF-8 bytes[1..512],
uid: u32, gid: u32,
capabilityBits: u64,
networkDisabled: u8 = 1,
rootFilesystemReadOnly: u8 = 1,
noNewPrivileges: u8 = 1,
maxPids: u16, // 1..32
writableMounts: sorted array[1..8] of canonical UTF-8 bytes[1..512],
targets: ordered array[2..2] of {
targetKind: u8, // 1 RUNTIME_ROOT, 2 DATA_ROOT
path: canonical absolute UTF-8 bytes[1..512],
finalUid: u32, finalGid: u32,
finalMode: u16
},
maxRuntimeMillis: u32 // 1..60000
}
releaseSignerPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} BlindListenerCatalogV1�NBlindListenerCatalogV1�BlindListenerCatalogV1 {
version: u8 = 1
buildArtifactHash: 32 bytes
launchTopologyHash: 32 bytes
observedFromUnixMillis: u64
observedThroughUnixMillis: u64
listeners: sorted array[1..64] of BlindListenerEntryV1
} BlindListenerEntryV1 BlindListenerEntryV1�{BlindListenerEntryV1�_BlindListenerEntryV1 {
componentId: u8
listenerClass: u8 // 1 PUBLIC, 2 PRIVATE_UNIX
transportId: u8 // public registry 1..9; private IPC 0
endpointId: u8
addressOrSocket: canonical UTF-8 bytes[1..512]
port: u16
ownerUid: u32
} BlindProcessInspectionEvidenceV1�
BlindProcessInspectionEvidenceV1�� BlindProcessInspectionEvidenceV1 {
version: u8 = 1
buildArtifactHash: 32 bytes
launchTopologyHash: 32 bytes
observedFromUnixMillis: u64
observedThroughUnixMillis: u64
completedInitializers: ordered array[1..1] of {
initializerId: u8,
componentArtifactHash: 32 bytes,
argv: ordered array[1..32] of canonical UTF-8 bytes[1..512],
uid: u32, gid: u32,
startedUnixMillis: u64,
endedUnixMillis: u64,
exitCode: u8,
observedCapabilityBits: u64,
networkDisabled: u8,
rootFilesystemReadOnly: u8,
noNewPrivileges: u8,
pidsLimit: u16,
observedPeakPids: u16,
writableMounts: sorted array[1..8] of canonical UTF-8 bytes[1..512],
targetsAfter: ordered array[2..2] of {
targetKind: u8,
path: canonical absolute UTF-8 bytes[1..512],
finalUid: u32, finalGid: u32,
finalMode: u16,
inodeKind: u8 = 1, // DIRECTORY
symlinkFree: u8 = 1
}
}
processes: sorted array[2..16] of {
processOrdinal: u16,
componentId: u8,
parentProcessOrdinal: optional u16,
uid: u32, gid: u32,
executablePath: canonical UTF-8 bytes[1..512],
executableContentHash: 32 bytes,
argv: ordered array[1..32] of canonical UTF-8 bytes[1..512],
environmentNames: sorted array[0..256] of canonical ASCII bytes[1..128],
mounts: sorted array[0..64] of {
path: canonical UTF-8 bytes[1..512],
accessMode: u8 // 1 read-only, 2 read-write
}
}
} BlindProductDistributionBundleV1�( BlindProductDistributionBundleV1� BlindProductDistributionBundleV1 { // releaseArtifactBytes; streaming decode
version: u8 = 1
artifactFormat: u8 // 1 deterministic OCI components, 2 signed native components
edgeComponentDistributionBytes:bytes[1..4294967295]
daemonComponentDistributionBytes:bytes[1..4294967295]
packagingFiles: sorted array[2..256] of {
path: canonical UTF-8 bytes[1..512],
mode: u16,
fileBytes: bytes[1..16777216]
}
} BlindProductIsolationEvidenceV1��BlindProductIsolationEvidenceV1��BlindProductIsolationEvidenceV1 {
version: u8 = 1
productMode: u8 = 1 // BLIND_APPLICATION_SUBSTRATE_V1
buildArtifactHash: 32 bytes
launchTopologyHash: 32 bytes
artifactFileInventoryHash: 32 bytes
executableEntryPointHash: 32 bytes
runtimeImportGraphHash: 32 bytes
listenerCatalogHash: 32 bytes
forbiddenComponentPresenceBits:u16 = 0
routeAbsenceEvidenceHash: 32 bytes
processInspectionEvidenceHash:32 bytes
isolationReportBundleHash: 32 bytes
issuedUnixMillis: u64
evidenceSignerPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} #BlindProductIsolationReportBundleV1�.#BlindProductIsolationReportBundleV1�UBlindProductIsolationReportBundleV1 {
version: u8 = 1
artifactFileInventoryBytes:canonical BlindArtifactFileInventoryV1 bytes[1..50331648]
executableEntrypointBytes: canonical BlindExecutableEntrypointCatalogV1 bytes[1..65536]
runtimeImportGraphBytes: canonical BlindRuntimeImportGraphV1 bytes[1..50331648]
listenerCatalogBytes: canonical BlindListenerCatalogV1 bytes[1..1048576]
routeAbsenceEvidenceBytes: canonical BlindRouteAbsenceEvidenceV1 bytes[1..1048576]
processInspectionBytes: canonical BlindProcessInspectionEvidenceV1 bytes[1..4194304]
} BlindArtifactFileInventoryV1"BlindExecutableEntrypointCatalogV1BlindListenerCatalogV1 BlindProcessInspectionEvidenceV1BlindRouteAbsenceEvidenceV1BlindRuntimeImportGraphV1
BlindReleaseEvidenceBundleV1�GBlindReleaseEvidenceBundleV1�nBlindReleaseEvidenceBundleV1 { // canonical bytes <= 536870912
version: u8 = 1
buildManifestBytes: canonical complete signed BuildManifestV1 bytes[1..50331648]
launchTopologyBytes: canonical complete signed BlindLaunchTopologyV1 bytes[1..1048576]
isolationEvidenceBytes: canonical complete signed BlindProductIsolationEvidenceV1 bytes[1..65536]
isolationReportBundleBytes: canonical BlindProductIsolationReportBundleV1 bytes[1..134217728]
releaseSupportHorizonBytes: canonical complete signed BlindReleaseSupportHorizonV1 bytes[1..1048576]
privateIpcRegistryBytes: bounded canonical bytes[1..1048576]
privateIpcVectorManifestBytes:bounded canonical bytes[1..1048576]
releaseCompatibilityVectorManifestBytes:sorted array[0..4] of bounded canonical bytes[1..1048576]
toolchainManifestBytes: canonical ToolchainManifestV1 bytes[1..1048576]
reproductionEnvironmentBytes:sorted array[1..16] of canonical ReproductionEnvironmentV1 bytes[1..1048576]
dependencyLockBytes: bounded bytes[1..16777216]
sbomBytes: optional bounded bytes[1..33554432]
} BlindLaunchTopologyV1BlindProductIsolationEvidenceV1#BlindProductIsolationReportBundleV1BlindReleaseSupportHorizonV1BuildManifestV1ReproductionEnvironmentV1ToolchainManifestV1 BlindReleaseSupportHorizonV1�eBlindReleaseSupportHorizonV1�ABlindReleaseSupportHorizonV1 {
version: u8 = 1
buildArtifactHash: 32 bytes
specHash: 32 bytes
abiHash: 32 bytes
vectorSetHash: 32 bytes
evidenceFormatHash: 32 bytes
evidenceVectorSetHash: 32 bytes
storeFormatHash: 32 bytes
storeVectorSetHash: 32 bytes
privateIpcFormatHash: 32 bytes
privateIpcVectorSetHash: 32 bytes
issuedUnixMillis: u64
activationNotBeforeUnixMillis:u64
fullSupportThroughUnixMillis:u64
upgradeMode: u8 // 1 FENCED_BLUE_GREEN, 2 IN_PLACE_FORMAT_COMPATIBLE
predecessors: sorted array[0..4] of {
buildArtifactHash: 32 bytes,
buildManifestHash: 32 bytes,
abiHash: 32 bytes,
storeFormatHash: 32 bytes,
privateIpcFormatHash: 32 bytes,
oldAbiServeThroughUnixMillis: u64,
rollbackThroughUnixMillis: u64,
compatibilityVectorSetHash: 32 bytes
}
releaseSignerPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} BlindRouteAbsenceEvidenceV1�zBlindRouteAbsenceEvidenceV1�WBlindRouteAbsenceEvidenceV1 {
version: u8 = 1
buildArtifactHash: 32 bytes
abiHash: 32 bytes
evidenceVectorSetHash: 32 bytes
allowedRoutes: sorted array[1..16] of {
method: canonical ASCII bytes[1..16],
path: canonical ASCII bytes[1..256],
familyId: u8
}
negativeProbes: sorted array[1..256] of {
method: canonical ASCII bytes[1..16],
path: canonical ASCII bytes[1..256],
expectedStatus: u16,
observedStatus: u16,
responseBodyBytes: bytes[0..4096]
}
}
BlindRuntimeBoundaryEvidenceV1�s BlindRuntimeBoundaryEvidenceV1�8 BlindRuntimeBoundaryEvidenceV1 {
version: u8 = 1
buildArtifactHash: 32 bytes
buildManifestHash: 32 bytes
launchTopologyHash: 32 bytes
componentProcesses: ordered array[2..2] of {
componentId: u8,
entrypointPath: canonical UTF-8 bytes[1..512],
entrypointBytes: bounded bytes[1..16777216],
serviceUnitPath: canonical UTF-8 bytes[1..512],
serviceUnitBytes: bounded bytes[1..1048576],
uid: u32, gid: u32
}
listeners: sorted array[1..64] of BlindListenerEntryV1
descriptorProtocolId: canonical ASCII bytes[1..64]
descriptorSigningPublicKey: 32-byte Ed25519 public key
discoveryTopic: 32 bytes
publicCredentials: sorted array[1..32] of {
credentialClass: u8,
canonicalPublicBytes: bounded bytes[1..65535]
}
storageRoots: sorted array[1..16] of {
componentId: u8,
path: canonical UTF-8 bytes[1..512],
rootClass: canonical ASCII bytes[1..64],
encryptionPublicKey: optional 32-byte public key
}
releaseChannelUrl: canonical HTTPS URL bytes[1..512]
releaseChannelPublicKey: 32-byte Ed25519 public key
observability: ordered array[2..2] of {
componentId: u8,
logSinkId: canonical ASCII bytes[1..128],
logNamespace: canonical ASCII bytes[1..128],
metricSinkId: canonical ASCII bytes[1..128],
metricNamespace: canonical ASCII bytes[1..128]
}
deploymentId: 32 random nonzero bytes
observedFromUnixMillis: u64
observedThroughUnixMillis: u64
issuedUnixMillis: u64
expiresUnixMillis: u64
evidenceSignerPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} BlindListenerEntryV1 BlindRuntimeImportGraphV1�TBlindRuntimeImportGraphV1�3BlindRuntimeImportGraphV1 {
version: u8 = 1
buildArtifactHash: 32 bytes
entrypointNodeIds: ordered array[2..2] of 32 bytes
nodes: sorted array[2..65535] of {
nodeId: 32 bytes,
componentId: u8,
path: canonical UTF-8 bytes[1..512],
contentHash: 32 bytes,
importedNodeIds: sorted array[0..4096] of 32 bytes
}
} BuildInputV1�BuildInputV1wBuildInputV1 {
path: canonical UTF-8 bytes[1..512]
byteLength: u64
contentHash: 32 bytes
} BuildManifestV1��BuildManifestV1�wBuildManifestV1 { // detached sidecar; never inside releaseArtifactBytes
version: u8 = 1
productMode: u8 = 1 // BLIND_APPLICATION_SUBSTRATE_V1, no other v1 value
implementationId:canonical ASCII bytes[1..64]
implementationVersion:canonical ASCII bytes[1..64]
sourceRevision: canonical UTF-8 bytes[1..256]
sourceTreeHash: 32 bytes
implementationSpecHash:32 bytes
specHash: 32 bytes
abiHash: 32 bytes
vectorSetHash: 32 bytes
evidenceFormatHash:32 bytes
evidenceVectorSetHash:32 bytes
storeFormatHash: 32 bytes
storeVectorSetHash:32 bytes
privateIpcFormatHash:32 bytes
privateIpcVectorSetHash:32 bytes
toolchainManifestHash:32 bytes
dependencyLockHash:32 bytes
sbomHash: optional 32 bytes
artifactFormat: u8 // 1 deterministic OCI bundle, 2 signed native bundle
inputs: sorted array[1..65535] of {
path: canonical UTF-8 bytes[1..512],
byteLength: u64,
contentHash: 32 bytes
}
buildArtifactHash:32 bytes
launchTopologyHash:32 bytes
releaseSupportHorizonHash:32 bytes
productIsolationEvidenceHash:32 bytes
reproductionPolicyId:u8 = 1 // DISTINCT_RELEASE_SIGNER_KEY_V1
reproductions: sorted array[1..16] of {
builderPublicKey: 32-byte Ed25519 public key,
environmentHash: 32 bytes,
reproducedArtifactHash: 32 bytes,
signature: 64-byte Ed25519 signature
}
releaseSignerPublicKey:32-byte Ed25519 public key
releaseSignature:64-byte Ed25519 signature
} BuildReproductionAttestationV1�BuildReproductionAttestationV1�BuildReproductionAttestationV1 {
version: u8 = 1
builderPublicKey: 32-byte Ed25519 public key
environmentHash: 32 bytes
unsignedBuildCommitment:32 bytes
reproducedArtifactHash:32 bytes
} +HiveRelayCompatibilityAuthorityTransitionV1��+HiveRelayCompatibilityAuthorityTransitionV1�gHiveRelayCompatibilityAuthorityTransitionV1 {
version: u8 = 1
compatibilityProductId: canonical ASCII bytes[1..128]
sunsetChainGenesisHash: 32 bytes
sunsetChainId: 32 bytes
successorSpecHash: 32 bytes
successorAbiHash: 32 bytes
successorVectorSetHash: 32 bytes
previousSunsetHash: 32 bytes
previousSunsetSequence: u64
nextSunsetSequence: u64
previousAuthoritySequence: u64
nextAuthoritySequence: u64
previousPublicKey: 32-byte Ed25519 public key
nextPublicKey: 32-byte Ed25519 public key
previousKeyId: 32 bytes
nextKeyId: 32 bytes
validFromSunsetSequence: u64
previousKeySignature: 64-byte Ed25519 signature
nextKeySignature: 64-byte Ed25519 signature
} %HiveRelayCompatibilityBuildManifestV1�-%HiveRelayCompatibilityBuildManifestV1��HiveRelayCompatibilityBuildManifestV1 {
version: u8 = 1
productMode: u8 = 2 // LEGACY_COMPATIBILITY_V1
compatibilityProductId: canonical ASCII bytes[1..128]
implementationVersion: canonical ASCII bytes[1..64]
sourceRevision: canonical UTF-8 bytes[1..256]
sourceTreeHash: 32 bytes
inputs: sorted array[1..65535] of BuildInputV1
toolchainManifestHash: 32 bytes
dependencyLockHash: 32 bytes
compatibilityArtifactFormat: u8 // 1 deterministic OCI bundle, 2 signed native bundle
compatibilityArtifactUrl: canonical HTTPS URL bytes[1..512]
compatibilityArtifactHash: 32 bytes
sunsetChainGenesisHash: 32 bytes
sunsetGenesisUrl: canonical HTTPS URL bytes[1..512]
sunsetLatestUrl: canonical HTTPS URL bytes[1..512]
releaseSignerPublicKey: 32-byte Ed25519 public key
releaseSignature: 64-byte Ed25519 signature
} BuildInputV1 /HiveRelayCompatibilityRuntimeBoundaryEvidenceV1�� /HiveRelayCompatibilityRuntimeBoundaryEvidenceV1�. HiveRelayCompatibilityRuntimeBoundaryEvidenceV1 {
version: u8 = 1
compatibilityProductId: canonical ASCII bytes[1..128]
compatibilityArtifactHash: 32 bytes
compatibilityBuildManifestHash:32 bytes
entrypointPath: canonical UTF-8 bytes[1..512]
entrypointBytes: bounded bytes[1..16777216]
serviceUnitPath: canonical UTF-8 bytes[1..512]
serviceUnitBytes: bounded bytes[1..1048576]
processUid: u32
processGid: u32
processArgv: ordered array[1..64] of canonical UTF-8 bytes[1..512]
listeners: sorted array[1..64] of BlindListenerEntryV1
descriptorProtocolId: canonical ASCII bytes[1..64]
descriptorSigningPublicKey: 32-byte public key
discoveryTopic: 32 bytes
publicCredentials: sorted array[1..32] of {
credentialClass: u8,
canonicalPublicBytes: bounded bytes[1..65535]
}
storageRoots: sorted array[1..16] of {
path: canonical UTF-8 bytes[1..512],
rootClass: canonical ASCII bytes[1..64],
encryptionPublicKey: optional 32-byte public key
}
releaseChannelUrl: canonical HTTPS URL bytes[1..512]
releaseChannelPublicKey: 32-byte Ed25519 public key
logSinkId: canonical ASCII bytes[1..128]
logNamespace: canonical ASCII bytes[1..128]
metricSinkId: canonical ASCII bytes[1..128]
metricNamespace: canonical ASCII bytes[1..128]
deploymentId: 32 random nonzero bytes
observedFromUnixMillis: u64
observedThroughUnixMillis: u64
successorBuildArtifactHash: 32 bytes
successorBuildManifestHash: 32 bytes
successorBuildManifestBytes:canonical complete signed BuildManifestV1 bytes[1..50331648]
successorBlindRuntimeBoundaryEvidenceBytes:canonical complete signed BlindRuntimeBoundaryEvidenceV1 bytes[1..50331648]
disjointBoundaryBits: u16
issuedUnixMillis: u64
expiresUnixMillis: u64
evidenceSignerPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} BlindListenerEntryV1BlindRuntimeBoundaryEvidenceV1BuildManifestV1 %HiveRelayCompatibilitySunsetGenesisV1�!%HiveRelayCompatibilitySunsetGenesisV1��HiveRelayCompatibilitySunsetGenesisV1 {
version: u8 = 1
compatibilityProductId: canonical ASCII bytes[1..128]
sunsetChainId: 32 random nonzero bytes
sunsetSequence: u64 = 0
successorSpecHash: 32 bytes
successorAbiHash: 32 bytes
successorVectorSetHash: 32 bytes
genesisAuthoritySequence: u64
genesisAuthorityPublicKey: 32-byte Ed25519 public key
genesisAuthorityKeyId: 32 bytes
sunsetHistoryBaseUrl: canonical HTTPS URL bytes[1..512]
issuedUnixMillis: u64
lastWriteUnixMillis: u64
lastReadUnixMillis: u64
releaseChannelPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} "HiveRelayCompatibilitySunsetHeadV1��"HiveRelayCompatibilitySunsetHeadV1��HiveRelayCompatibilitySunsetHeadV1 {
version: u8 = 1
compatibilityProductId: canonical ASCII bytes[1..128]
sunsetChainGenesisHash: 32 bytes
sunsetChainId: 32 bytes
sunsetSequence: u64
sunsetHash: 32 bytes
compatibilityBuildManifestHash:32 bytes
headLeaseSlot: u64 // floor(notBeforeUnixMillis / 300000)
issuedUnixMillis: u64
notBeforeUnixMillis: u64
expiresUnixMillis: u64
releaseAuthoritySequence: u64
releaseAuthorityKeyId: 32 bytes
signature: 64-byte Ed25519 signature
} $HiveRelayLegacyCompatibilitySunsetV1�_$HiveRelayLegacyCompatibilitySunsetV1�3HiveRelayLegacyCompatibilitySunsetV1 {
version: u8 = 1
compatibilityProductId: canonical ASCII bytes[1..128]
sunsetChainGenesisHash: 32 bytes
sunsetChainId: 32 bytes
sunsetSequence: u64
compatibilityArtifactUrl: canonical HTTPS URL bytes[1..512]
compatibilityArtifactHash: 32 bytes
compatibilityBuildManifestUrl:canonical HTTPS URL bytes[1..512]
compatibilityBuildManifestHash:32 bytes
compatibilityRuntimeBoundaryEvidenceUrl:canonical HTTPS URL bytes[1..512]
compatibilityRuntimeBoundaryEvidenceHash:32 bytes
successorSpecHash: 32 bytes
successorAbiHash: 32 bytes
successorVectorSetHash: 32 bytes
successorBuildArtifactHash: 32 bytes
successorBuildManifestHash: 32 bytes
successorLaunchTopologyHash: 32 bytes
successorIsolationEvidenceHash:32 bytes
successorRuntimeBoundaryEvidenceHash:32 bytes
issuedUnixMillis: u64
lastWriteUnixMillis: u64
lastReadUnixMillis: u64
previousSunsetHash: 32 bytes
releaseAuthoritySequence: u64
releaseAuthorityPublicKey: 32-byte Ed25519 public key
releaseAuthorityKeyId: 32 bytes
authorityTransitionHash: optional 32 bytes
signature: 64-byte Ed25519 signature
} ProtocolProfileArtifactV1�!ProtocolProfileArtifactV1� ProtocolProfileArtifactV1 {
version: u8 = 1
protocolId: u16
major: u16
minor: u16
featureBits: u64
wireSchemaSetHash:32 bytes
dependencyManifestHash:32 bytes
interoperabilityVectorSetHash:32 bytes
} ReproductionEnvironmentV1��ReproductionEnvironmentV1��ReproductionEnvironmentV1 {
version: u8 = 1
os: canonical ASCII bytes[1..64]
architecture: canonical ASCII bytes[1..64]
containerOrVmHash:32 bytes
sourceDateEpoch: u64
locale: canonical ASCII bytes[1..64]
timezone: canonical ASCII bytes[1..64]
variables: sorted array[0..256] of {
name: canonical ASCII bytes[1..128],
valueHash: 32 bytes
}
} ToolchainEntryV1�ToolchainEntryV1�ToolchainEntryV1 {
name: canonical ASCII bytes[1..64]
version: canonical ASCII bytes[1..128]
distributionHash:32 bytes
} ToolchainManifestV1�ToolchainManifestV1oToolchainManifestV1 {
version: u8 = 1
entries: sorted array[1..256] of ToolchainEntryV1
} ToolchainEntryV1 TransportProfileArtifactV1��TransportProfileArtifactV1��TransportProfileArtifactV1 {
version: u8 = 1
transportId: u8
profileName: canonical ASCII bytes[1..64]
major: u16
minor: u16
exporterId: u8 // 0 NONE, 1 NOISE_HANDSHAKE_HASH_BLAKE2B
controlChannelIdType:u8 // 0 NONE, 1 NONZERO_U64BE
handshakeProfileHash:32 bytes
dependencyManifestHash:32 bytes
interoperabilityVectorSetHash:32 bytes
} BlindCoreReadCapV1�MBlindCoreReadCapV1�3BlindCoreReadCapV1 {
version: u8 = 1
corePublicKey: 32 bytes // stable opaque transport identity
blockEncryptionKey:32 bytes // never sent to blind peer
witnessedFork: u64
witnessedLength: u64
witnessedSignedHead:bounded canonical Hypercore proof, maximum 4096 bytes
}
CellBlobV1�
CellBlobV1�CellBlobV1 {
formatVersion: u8 = 1
nonce: 12 bytes
sealed: sizeClass - 13 bytes, including the 16-byte GCM tag
} OpaqueChainCheckpointV1�{OpaqueChainCheckpointV1�NOpaqueChainCheckpointV1 {
version: u8 = 1
coveredFrontier: sorted array[1..1024] of
{ chainId: 32 bytes, sequence: u64, frameHash: 32 bytes }
opaqueStateCommitment: 32 bytes
snapshotPayloadHash: 32 bytes
snapshotReadCaps: sorted array[1..16] of ReadCellCapV1
}
ReadCellCapV1 OpaqueChainFrameV1��OpaqueChainFrameV1��OpaqueChainFrameV1 {
version: u8 = 1
chainId: 32 random bytes
sequence: u64
previousFrameHash: optional 32 bytes
transportVerifyKey: 32 bytes
opaquePayloads: array[0..256] of bounded bytes, each <= 256 KiB
nextReadCellCaps: sorted array[0..16] of ReadCellCapV1
checkpoint: optional OpaqueChainCheckpointV1
transportSignature: 64 bytes
} OpaqueChainCheckpointV1
ReadCellCapV1
ReadCellCapV1�
ReadCellCapV1�ReadCellCapV1 {
version: u8 = 1
relayPublicKey:32 bytes
storageSlot: 32 bytes
cellKey: 32 bytes
sizeClass: u8
expectedCellBlobHash: optional 32 bytes
} WriteCellCapV1�WriteCellCapV1�WriteCellCapV1 {
readCap: ReadCellCapV1
allocationEpoch: u32
createPrivateKey:32 bytes
renewPrivateKey: 32 bytes
dropPrivateKey: 32 bytes
}
ReadCellCapV1 *BlindCellAtomicCommittedPutSpendSnapshotV1�3*BlindCellAtomicCommittedPutSpendSnapshotV1��BlindCellAtomicCommittedPutSpendSnapshotV1 {
version: u8 = 1
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
storageSlot: 32 nonzero bytes
allocationEpoch: u32
sizeClass: u8[1..5]
leaseClass: u8[1..4]
declaredBlobHash: 32 nonzero bytes
createPublicKey: 32 nonzero bytes
renewPublicKey: 32 nonzero bytes
dropPublicKey: 32 nonzero bytes
allocationCommitment: 32 nonzero bytes
profileId: u16[1..65535]
preparedAdmissionBytes:bounded canonical BlindPreparedAdmissionStoreV1 bytes[1..17408]
resultBindingBytes: canonical profile-1 result-binding bytes[1..1024]
declaredBytes: u32
resultIdentity: 32 nonzero bytes
committedEpoch: u32
resultCell: BlindCellHistoricalResultSnapshotV1
} #BlindCellHistoricalResultSnapshotV1BlindPreparedAdmissionStoreV1 &BlindCellChargedReadPinEntrySnapshotV1��&BlindCellChargedReadPinEntrySnapshotV1��BlindCellChargedReadPinEntrySnapshotV1 {
storageSlot: 32 nonzero bytes
present: u8[0..1]
sizeClass: u8[0..5]
allocationEpoch: u32
leaseClass: u8[0..4]
leaseEpoch: u32
stateRevision: u64
policyRevision: u64
cellBlobHash: 32 bytes
allocationCommitment: 32 bytes
// absent entries require the exact all-zero state after storageSlot
} #BlindCellChargedReadRetrySnapshotV1��#BlindCellChargedReadRetrySnapshotV1�@BlindCellChargedReadRetrySnapshotV1 {
version: u8 = 1
lifecycleState: u8[1..3] // 1 pinned, 2 finalized, 3 expired
operationId: u8 in {2 GET,5 PROVE,6 BATCH_GET}
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
preparedAdmissionBytes:optional bounded canonical BlindPreparedAdmissionStoreV1 bytes[1..17408]
resultBindingBytes: optional canonical profile-1 result-binding bytes[1..1024]
receiptEpoch: optional u32
retryExpiresUnixMillis:u64 nonzero
entries: optional array[1..64] of BlindCellChargedReadPinEntrySnapshotV1
resultCommitment: optional 32 nonzero bytes
committedEpoch: u32
terminalEpoch: optional u32
} &BlindCellChargedReadPinEntrySnapshotV1BlindPreparedAdmissionStoreV1 $BlindCellCommittedPutSpendSnapshotV1��$BlindCellCommittedPutSpendSnapshotV1�&BlindCellCommittedPutSpendSnapshotV1 {
version: u8 = 1
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
storageSlot: 32 nonzero bytes
allocationEpoch: u32
sizeClass: u8[1..5]
leaseClass: u8[1..4]
declaredBlobHash: 32 nonzero bytes
createPublicKey: 32 nonzero bytes
renewPublicKey: 32 nonzero bytes
dropPublicKey: 32 nonzero bytes
allocationCommitment: 32 nonzero bytes
profileId: u16[1..65535]
preparedAdmissionBytes:bounded canonical BlindPreparedAdmissionStoreV1 bytes[1..17408]
resultBindingBytes: optional canonical profile-1 result-binding bytes[1..1024]
declaredBytes: u32
deadlineUnixMillis: u64 nonzero
remainingAttempts: u8[0..1]
reservedEpoch: u32
resultIdentity: 32 nonzero bytes
committedEpoch: u32
resultCell: BlindCellHistoricalResultSnapshotV1
} #BlindCellHistoricalResultSnapshotV1BlindPreparedAdmissionStoreV1 &BlindCellCommittedRenewSpendSnapshotV1�@&BlindCellCommittedRenewSpendSnapshotV1��BlindCellCommittedRenewSpendSnapshotV1 {
version: u8 = 1
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
storageSlot: 32 nonzero bytes
expectedStateRevision: u64
expectedLeaseEpoch: u32
requestedLeaseClass: u8[1..4]
profileId: u16[1..65535]
preparedAdmissionBytes:bounded canonical BlindPreparedAdmissionStoreV1 bytes[1..17408]
resultBindingBytes: optional canonical profile-1 result-binding bytes[1..1024]
resultIdentity: 32 nonzero bytes
committedEpoch: u32
resultCell: BlindCellHistoricalResultSnapshotV1
} #BlindCellHistoricalResultSnapshotV1BlindPreparedAdmissionStoreV1 BlindCellControlGlobalSnapshotV1�� BlindCellControlGlobalSnapshotV1��BlindCellControlGlobalSnapshotV1 {
version: u8 = 1
epochFloor: u32
clockUnsafe: u8[0..1]
recoveryGap: u8[0..1]
storedBytes: u64
stagingBytes: u64
controlBytes: u64
tombstoneBytes: u64
reservedCells: u64
cellCount: u64
spendCount: u64
commitmentCount: u64
requestResultCount: u64
chargedReadPinnedCount:u64
chargedReadFinalizedCount:u64
chargedReadExpiredCount:u64
chargedReadPinnedEntryCount:u64
profileStagingCount: u32
integrityEvidenceCount:u32
controlRecordAccountingBytes:u16 = 512
tombstoneRecordAccountingBytes:u16 = 512
} #BlindCellHistoricalResultSnapshotV1��#BlindCellHistoricalResultSnapshotV1��BlindCellHistoricalResultSnapshotV1 {
storageSlot: 32 nonzero bytes
allocationEpoch: u32
sizeClass: u8[1..5]
leaseClass: u8[1..4]
leaseEpoch: u32
stateRevision: u64
policyRevision: u64
cellBlobHash: 32 nonzero bytes
allocationCommitment: 32 nonzero bytes
objectState: u8[1..2]
policyState: u8[1..2]
} $BlindCellIntegrityEvidenceSnapshotV1�$BlindCellIntegrityEvidenceSnapshotV1�BlindCellIntegrityEvidenceSnapshotV1 {
version: u8 = 1
reason: u8[1..3]
detectedEpoch: u32
evidenceHash: 32 nonzero bytes
} !BlindCellProfileStagingSnapshotV1�!BlindCellProfileStagingSnapshotV1�BlindCellProfileStagingSnapshotV1 {
version: u8 = 1
profileId: u16[1..65535]
stagingBytes: u64 nonzero
}
BlindCellRecordSnapshotV1��BlindCellRecordSnapshotV1�`BlindCellRecordSnapshotV1 {
version: u8 = 1
storageSlot: 32 nonzero bytes
allocationEpoch: u32
allocationLeaseClass: u8[1..4]
sizeClass: u8[1..5]
leaseClass: u8[1..4]
leaseEpoch: u32
stateRevision: u64
policyRevision: u64
cellBlobHash: 32 nonzero bytes
blobVirtualBucket: u16
blobObjectId: 32 nonzero bytes
createPublicKey: 32 nonzero bytes
renewPublicKey: 32 nonzero bytes
dropPublicKey: 32 nonzero bytes
allocationCommitment: 32 nonzero bytes
objectState: u8[1..2]
policyState: u8[1..2]
tombstoneReason: optional u8[1..2]
terminalEpoch: optional u32
createSpendTag: 32 nonzero bytes
resultIdentity: 32 nonzero bytes
createdEpoch: u32
} BlindCellRequestResultSnapshotV1� BlindCellRequestResultSnapshotV1��BlindCellRequestResultSnapshotV1 {
version: u8 = 1
transactionId: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
storageSlot: 32 nonzero bytes
resultBindingBytes: optional canonical profile-1 result-binding bytes[1..1024]
resultIdentity: 32 nonzero bytes
committedEpoch: u32
resultCell: BlindCellHistoricalResultSnapshotV1
} #BlindCellHistoricalResultSnapshotV1 BlindCellReservedSpendSnapshotV1�� BlindCellReservedSpendSnapshotV1��BlindCellReservedSpendSnapshotV1 {
version: u8 = 1
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
storageSlot: 32 nonzero bytes
allocationEpoch: u32
sizeClass: u8[1..5]
leaseClass: u8[1..4]
declaredBlobHash: 32 nonzero bytes
createPublicKey: 32 nonzero bytes
renewPublicKey: 32 nonzero bytes
dropPublicKey: 32 nonzero bytes
allocationCommitment: 32 nonzero bytes
profileId: u16[1..65535]
preparedAdmissionBytes:bounded canonical BlindPreparedAdmissionStoreV1 bytes[1..17408]
resultBindingBytes: optional canonical profile-1 result-binding bytes[1..1024]
declaredBytes: u32
deadlineUnixMillis: u64 nonzero
remainingAttempts: u8[0..2]
reservedEpoch: u32
} BlindPreparedAdmissionStoreV1
BlindCellTerminalSpendSnapshotV1�# BlindCellTerminalSpendSnapshotV1��BlindCellTerminalSpendSnapshotV1 {
version: u8 = 1
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
storageSlot: 32 nonzero bytes
allocationEpoch: u32
sizeClass: u8[1..5]
leaseClass: u8[1..4]
declaredBlobHash: 32 nonzero bytes
createPublicKey: 32 nonzero bytes
renewPublicKey: 32 nonzero bytes
dropPublicKey: 32 nonzero bytes
allocationCommitment: 32 nonzero bytes
profileId: u16[1..65535]
preparedAdmissionBytes:bounded canonical BlindPreparedAdmissionStoreV1 bytes[1..17408]
resultBindingBytes: optional canonical profile-1 result-binding bytes[1..1024]
declaredBytes: u32
deadlineUnixMillis: u64 nonzero
remainingAttempts: u8[0..2]
reservedEpoch: u32
terminalReason: u8[1..3]
terminalEpoch: u32
} BlindPreparedAdmissionStoreV1 BlindControlStateSnapshotV1�$BlindControlStateSnapshotV1�BlindControlStateSnapshotV1 { // canonical external control snapshot
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 bytes
durabilityContinuityHash:32 bytes
walSequence: u64
walHash: 32 bytes
entries: sorted array[0..16777216] of {
entryKind: u8[1..8],
key: bounded bytes[1..256],
value: bounded bytes[0..65535]
}
} BlindCoreControlGlobalSnapshotV1�� BlindCoreControlGlobalSnapshotV1��BlindCoreControlGlobalSnapshotV1 {
version: u8 = 1
epochFloor: u32
clockUnsafe: u8[0..1]
recordCount: u64
reservedCount: u64
liveCount: u64
terminalCount: u64
spendIndexCount: u64
logicalIndexCount: u64
channelIndexCount: u64
resultCount: u64
snapshotRecordBytes: u64
} 'BlindCoreOpenReplicationRetrySnapshotV1�'BlindCoreOpenReplicationRetrySnapshotV1��BlindCoreOpenReplicationRetrySnapshotV1 {
version: u8 = 1
lifecycleState: u8[1..3] // 1 RESERVED, 2 LIVE, 3 TERMINAL
logicalRetryKey: 32 nonzero bytes
spendTag: bounded bytes[1..128], nonzero
requestCommitment: 32 nonzero bytes
wireProfileHash: 32 nonzero bytes
sessionClass: u8[1..3]
clientNonce: 32 bytes
parentSessionId: bounded bytes[1..256], nonzero
controlChannelId: u64 nonzero
parentChannelBinding: 32 nonzero bytes
streamId: u64 nonzero
maxSessionBytes: u64 // exact session-class tuple
idleMillis: u32 // exact session-class tuple
lifetimeMillis: u32 // exact session-class tuple
openedAtEpoch: u32
recordVirtualBucket: u16 // virtualBucketDerivationV1(CORE, logicalRetryKey)
resultBytes: optional canonical signed open-result bytes[1..16384]
terminalReason: optional canonical printable ASCII bytes[1..64]
} BlindExternalAckFloorV1��BlindExternalAckFloorV1��BlindExternalAckFloorV1 { // external control-journal witness, not client wire
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 bytes
externalJournalId: 32 random nonzero bytes
durabilityContinuityHash:32 bytes
floorRevision: u64
previousFloorHash: optional 32 bytes
writerEpoch: u64
writerFenceTokenHash: 32 bytes
externalLeaseRevision: u64
walSequence: u64
walHash: 32 bytes
descriptorSequence: u64
descriptorHash: 32 bytes
witnessedUnixMillis: u64
witnessPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} BlindExternalControlCheckpointV1�r BlindExternalControlCheckpointV1�JBlindExternalControlCheckpointV1 { // witness-signed prune/restore anchor
version: u8 = 1
relayPublicKey: 32 bytes
storeId: 32 bytes
externalJournalId: 32 random nonzero bytes
durabilityContinuityHash:32 bytes
checkpointRevision: u64
previousCheckpointHash:optional 32 bytes
baseFloorRevision: u64
baseFloorHash: 32 bytes
writerEpoch: u64
writerFenceTokenHash: 32 bytes
externalLeaseRevision: u64
walSequence: u64
walHash: 32 bytes
descriptorSequence: u64
descriptorHash: 32 bytes
snapshotByteLength: u64
snapshotHash: 32 bytes
oldestRetainedFloorRevision:u64
createdUnixMillis: u64
witnessPublicKey: 32-byte Ed25519 public key
signature: 64-byte Ed25519 signature
} "BlindInboxCommittedSpendSnapshotV1��"BlindInboxCommittedSpendSnapshotV1��BlindInboxCommittedSpendSnapshotV1 {
// committed charged-operation fields; remainingAttempts is 0..1
version: u8 = 1
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
physicalTopic: 32 nonzero bytes
operation: u8 in {1,2,4,5,6}
profileId: u16[1..65535]
frameClass: u8[0..3]
frameHash: optional 32 nonzero bytes
requestedLeaseClass: u8[0..4]
declaredBytes: u32
deadlineUnixMillis: u64 nonzero
remainingAttempts: u8[0..1]
reservedEpoch: u32
resultIdentity: 32 nonzero bytes
resultRevision: u64
committedEpoch: u32
resultLeaseClass: optional u8[1..4] // present exactly for CREATE/RENEW
resultLeaseEpoch: optional u32 // present exactly for CREATE/RENEW
resultBindingBytes: canonical profile-1 result-binding bytes[1..1024]
clientNonce: 32 nonzero bytes
retentionClassAtAppend:optional u8[1..4] // present exactly for APPEND
appendLeaseEpoch: optional u32 // present exactly for APPEND
expiresAtEpoch: optional u32 // present exactly for APPEND
ackSignature: optional 64 nonzero bytes // finalized APPEND ACK
resultCommitment: optional 32 nonzero bytes // present for APPEND/READ/WATCH
retryState: u8[0..3] // zero exactly outside READ/WATCH
} !BlindInboxControlGlobalSnapshotV1�#!BlindInboxControlGlobalSnapshotV1��BlindInboxControlGlobalSnapshotV1 {
version: u8 = 1
epochFloor: u32
clockUnsafe: u8[0..1]
recoveryGap: u8[0..1]
storedFrameBytes: u64
stagingFrameBytes: u64
controlBytes: u64
tombstoneBytes: u64
frameIndexBytes: u64
reservedFrames: u64
inboxCount: u64
frameCount: u64
spendCount: u64
commitmentCount: u64
requestResultCount: u64
retryRecordCount: u64
retryFramePinCount: u64
profileStagingCount: u32
integrityEvidenceCount:u32
controlRecordAccountingBytes:u16 = 512
tombstoneRecordAccountingBytes:u16 = 512
frameIndexAccountingBytes:u16 = 256
retryRecordAccountingBytes:u16 = 256
} &BlindInboxExpiredAppendSpendSnapshotV1�&BlindInboxExpiredAppendSpendSnapshotV1��BlindInboxExpiredAppendSpendSnapshotV1 {
version: u8 = 1
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
physicalTopic: 32 nonzero bytes
profileId: u16[1..65535]
frameClass: u8[1..3]
frameHash: 32 nonzero bytes
declaredBytes: u32 // exact frame-class bytes
deadlineUnixMillis: u64 nonzero
remainingAttempts: u8[0..1]
reservedEpoch: u32
resultIdentity: 32 nonzero bytes
appendRevision: u64 nonzero
storedAtEpoch: u32
retentionClassAtAppend:u8[1..4]
appendLeaseEpoch: u32
expiresAtEpoch: u32
expiredEpoch: u32
clientNonce: 32 nonzero bytes
resultBindingBytes: canonical profile-1 result-binding bytes[1..1024]
ackSignature: 64 nonzero bytes
resultCommitment: 32 nonzero bytes
} BlindInboxFrameSnapshotV1�BlindInboxFrameSnapshotV1��BlindInboxFrameSnapshotV1 {
version: u8 = 1
physicalTopic: 32 nonzero bytes
appendRevision: u64 nonzero
frameHash: 32 nonzero bytes
frameClass: u8[1..3]
frameVirtualBucket: u16
frameObjectId: 32 nonzero bytes
appendLeaseEpoch: u32
storedAtEpoch: u32
expiresAtEpoch: u32
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
resultIdentity: 32 nonzero bytes
} %BlindInboxIntegrityEvidenceSnapshotV1�%BlindInboxIntegrityEvidenceSnapshotV1�BlindInboxIntegrityEvidenceSnapshotV1 {
version: u8 = 1
reason: u8[1..3]
detectedEpoch: u32
evidenceHash: 32 nonzero bytes
} "BlindInboxProfileStagingSnapshotV1�"BlindInboxProfileStagingSnapshotV1�BlindInboxProfileStagingSnapshotV1 {
version: u8 = 1
profileId: u16[1..65535]
stagingFrameBytes: u64 nonzero
} BlindInboxRecordSnapshotV1��BlindInboxRecordSnapshotV1��BlindInboxRecordSnapshotV1 {
version: u8 = 1
physicalTopic: 32 nonzero bytes
metadataVirtualBucket: u16
allocationEpoch: u32
allocationLeaseClass: u8[1..4]
frameClassBits: u8[1..7]
appendAuthMode: u8[0..1]
appendPublicKey: optional 32 nonzero bytes
createPublicKey: 32 nonzero bytes
renewPublicKey: 32 nonzero bytes
closePublicKey: 32 nonzero bytes
retentionClass: u8[1..4]
leaseClass: u8[1..4]
leaseEpoch: u32
stateRevision: u64
policyRevision: u64
appendRevision: u64
createCommitment: 32 nonzero bytes
objectState: u8[1..2]
policyState: u8[1..2]
tombstoneReason: optional u8[1..2]
terminalEpoch: optional u32
createSpendTag: 32 nonzero bytes
createRequestCommitment:32 nonzero bytes
resultIdentity: 32 nonzero bytes
createdEpoch: u32
} !BlindInboxRequestResultSnapshotV1�
!BlindInboxRequestResultSnapshotV1��BlindInboxRequestResultSnapshotV1 {
version: u8 = 1
transactionId: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
physicalTopic: 32 nonzero bytes
resultIdentity: 32 nonzero bytes
resultRevision: u64 nonzero
committedEpoch: u32
resultBindingBytes: canonical profile-1 result-binding bytes[1..1024]
clientNonce: 32 nonzero bytes
resultLeaseClass: u8 = 0
resultLeaseEpoch: u32
} !BlindInboxReservedSpendSnapshotV1�?!BlindInboxReservedSpendSnapshotV1�BlindInboxReservedSpendSnapshotV1 {
version: u8 = 1
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
physicalTopic: 32 nonzero bytes
operation: u8 in {1 CREATE,2 RENEW,4 APPEND,5 READ,6 WATCH}
profileId: u16[1..65535]
frameClass: u8[0..3] // nonzero exactly for APPEND
frameHash: optional 32 nonzero bytes // present exactly for APPEND
requestedLeaseClass: u8[0..4] // nonzero exactly for CREATE/RENEW
declaredBytes: u32 // exact frame-class bytes for APPEND, otherwise zero
deadlineUnixMillis: u64 nonzero
remainingAttempts: u8[0..2]
reservedEpoch: u32
} !BlindInboxRetryFramePinSnapshotV1�!BlindInboxRetryFramePinSnapshotV1�BlindInboxRetryFramePinSnapshotV1 {
version: u8 = 1
spendTag: 32 nonzero bytes
physicalTopic: 32 nonzero bytes
appendRevision: u64 nonzero
frameHash: 32 nonzero bytes
} !BlindInboxRetryMaterialSnapshotV1�!BlindInboxRetryMaterialSnapshotV1�BlindInboxRetryMaterialSnapshotV1 {
version: u8 = 1
spendTag: 32 nonzero bytes
entriesCommitment: 32 nonzero bytes
nextCursor: optional bounded bytes[1..128]
} BlindInboxRetryReconstructionV1��BlindInboxRetryReconstructionV1�[BlindInboxRetryReconstructionV1 { // exactly 50 bytes; fits the generic 256-byte retry-record cap
version: u8 = 1
firstAppendRevision: u64 // zero exactly for an empty page
lastAppendRevision: u64 // zero exactly for an empty page
entryCount: u8[0..64]
nextCursorHash: 32 bytes // zero means absent
} !BlindInboxTerminalSpendSnapshotV1��!BlindInboxTerminalSpendSnapshotV1��BlindInboxTerminalSpendSnapshotV1 {
// terminal charged-operation fields
version: u8 = 1
transactionId: 32 nonzero bytes
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
physicalTopic: 32 nonzero bytes
operation: u8 in {1,2,4,5,6}
profileId: u16[1..65535]
frameClass: u8[0..3]
frameHash: optional 32 nonzero bytes
requestedLeaseClass: u8[0..4]
declaredBytes: u32
deadlineUnixMillis: u64 nonzero
remainingAttempts: u8[0..2]
reservedEpoch: u32
terminalReason: u8[1..3]
terminalEpoch: u32
} BlindLocalCheckpointV1�BlindLocalCheckpointV1��BlindLocalCheckpointV1 { // canonical header; snapshot bytes are a separate hashed file
magic: exact ASCII "HRBCKP01"
checkpointVersion: u16 = 1
relayPublicKey: 32 bytes
storeId: 32 random nonzero bytes
durabilityProfileId: u8
durabilityContinuityHash:32 bytes
durabilityProfileHash: 32 bytes
formatMajor: u16
formatMinor: u16
storeFormatHash: 32 bytes
specHash: 32 bytes
abiHash: 32 bytes
mapGeneration: u64 nonzero
bucketMapHash: 32 bytes
writerEpoch: u64 nonzero
writerFenceTokenHash: 32 bytes
checkpointRevision: u64 nonzero
previousCheckpointHash:optional 32 bytes // absent exactly at revision 1
coveredWalSequence: u64 nonzero
coveredWalHash: 32 bytes
epochFloor: u32
descriptorSequenceFloor:u64
descriptorHashFloor: 32 bytes
snapshotByteLength: u64 nonzero
snapshotHash: 32 bytes
} !BlindPreparedAdmissionStoreV1��BlindPreparedAdmissionStoreV1��BlindPreparedAdmissionStoreV1 { // INTERNAL_STORE; admission-sensitive at rest
version: u8 = 1
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
profileId: u16[1..65535]
schemeId: u16[1..65535]
parameterHash: 32 nonzero bytes
resourceClass: u16
leaseClass: u8
costUnits: u64
walCommitRecord: bounded bytes[1..16384]
} "BlindPutAtomicCommittedStoreV1�KBlindPutAtomicCommittedStoreV1�BlindPutAtomicCommittedStoreV1 { // INTERNAL_STORE; Cell WAL recordType 17 payload
version: u8 = 1
spendTag: 32 nonzero bytes
requestCommitment: 32 nonzero bytes
requestFingerprint: 32 nonzero bytes
storageSlot: 32 nonzero bytes
allocationEpoch: u32
sizeClass: u8[1..5]
leaseClass: u8[1..4]
declaredBlobHash: 32 nonzero bytes
createPublicKey: 32 nonzero bytes
renewPublicKey: 32 nonzero bytes
dropPublicKey: 32 nonzero bytes
allocationCommitment: 32 nonzero bytes
profileId: u16[1..65535]
preparedAdmissionBytes:bounded canonical BlindPreparedAdmissionStoreV1 bytes[1..17408]
resultBindingBytes: canonical profile-1 result-binding bytes[1..1024]
declaredBytes: u32
blobObjectId: 32 nonzero bytes
leaseEpoch: u32
stateRevision: u64 = 0
policyRevision: u64 = 0
resultIdentity: 32 nonzero bytes
committedEpoch: u32
} BlindPreparedAdmissionStoreV1 #BlindStoreManifestV1�"BlindStoreManifestV1�BlindStoreManifestV1 { // internal, never served to clients
magic: exact ASCII "HRBLIND1"
manifestVersion: u16 = 1
storeId: 32 random nonzero bytes
relayPublicKey: 32 bytes
durabilityProfileId: u8
durabilityContinuityHash:32 bytes
durabilityProfileHash: 32 bytes
formatMajor: u16
formatMinor: u16
storeFormatHash: 32 bytes
specHash: 32 bytes
abiHash: 32 bytes
mapGeneration: u64
bucketMapHash: 32 bytes
checkpointWalSequence: u64
checkpointHash: 32 bytes
epochFloor: u32
writerEpoch: u64
writerFenceTokenHash: 32 bytes
externalLeaseRevision: u64 // zero for durability profile 1
externalJournalId: 32 bytes // zero for profile 1; nonzero for 2
externalWitnessPublicKey:32 bytes // zero for profile 1
restoreEvidenceFeedId: 32 bytes // nonzero only for profile-2 feed-bound/backed
lastAckWalSequence: u64 // zero for profile 1
lastAckWalHash: 32 bytes // zero for profile 1
externalCheckpointRevision:u64 // zero for profile 1
externalCheckpointHash:32 bytes // zero for profile 1
descriptorSequenceFloor:u64
descriptorHashFloor: 32 bytes
migrationState: u8 // 0 stable, 1 prepared, 2 copying, 3 verifying, 4 switching
sourceFormatMajor: u16
targetFormatMajor: u16
migrationCursorHash: 32 bytes
previousManifestHash: optional 32 bytes
manifestRevision: u64
mac: 32 bytes
} $BlindWalHeaderV2�1BlindWalHeaderV2�BlindWalHeaderV2 { // exact 192-byte prefix of each complete WAL frame
0: magic: 4 bytes = ASCII "HRWL"
4: walVersion: u8 = 2
5: recordType: u8[1..255]
6: totalLength: u32 = 224 + payloadLength
10: walSequence: u64[1..2^64-1]
18: transactionId: 32 nonzero bytes
50: virtualBucket: u16
52: mapGeneration: u64[1..2^64-1]
60: writerFenceTokenHash: 32 nonzero bytes
92: payloadLength: u32
96: previousWalHash: 32 bytes
128: durabilityContinuityHash: 32 nonzero bytes
160: payloadHash: 32 bytes = BLAKE2b-256(payload)
192: payload: payloadLength bytes
192 + payloadLength: checksum: 32 bytes
} %CellRecordV1��CellRecordV1��CellRecordV1 {
version: u8 = 1
slot: 32 bytes pseudorandom/self-certifying
allocationEpoch: u32
sizeClass: u8
leaseClass: u8
leaseEpoch: u32
stateRevision: u64
policyRevision: u64
cellBlobHash: 32 bytes
cellBlob: exact total bytes required by sizeClass
createPublicKey: 32 random bytes
renewPublicKey: 32 random bytes
dropPublicKey: 32 random bytes
allocationCommitment: 32 bytes
} &ChargedUnaryRetryV1��ChargedUnaryRetryV1��ChargedUnaryRetryV1 {
version: u8 = 1
spendTag: 32 bytes
requestCommitment:32 bytes
familyId: u8
operationId: u8
locatorCommitment:32 bytes
sourceRevision: u64
sourceCommitment: 32 bytes
resultCommitment: 32 bytes
reconstruction: bounded canonical bytes[0..96]
retryExpiresMinute:u64 // relay wall-minute deadline, never an app timestamp
retryState: u8 // 1 replayable, 2 visibility-revoked, 3 terminal
} LocalAuthenticatedChannelV1��LocalAuthenticatedChannelV1�}LocalAuthenticatedChannelV1 {
version: u8 = 1
edgeProcessNonce: bytes[32] // nonzero
localChannelNonce: bytes[32] // nonzero
parentSessionId: bytes[32] // nonzero, derived
transportProfileHash: bytes[32] // nonzero
finalNoiseHandshakeHash: bytes[64] // nonzero
channelBindingMac: bytes[32] // nonzero, keyed BLAKE2b-256
} LocalDispatchV1�#LocalDispatchV1�LocalDispatchV1 {
version: u8 = 1
family: u8 // exact public family ID 1..5
transportId: u8 // public 1..9; zero only for local readiness control
transportSupportBit: u16 // explicit one-hot public support bit; readiness zero
endpointId: u8 // 1..255, active descriptor endpoint
outerClass: u8 // public class 1..6; zero only for local readiness control
acceptedMonotonicMillis: u64 // external first request byte; control probe construction
absoluteDeadlineMonotonicMillis:u64
adjacentRelayKeyPresent: u8 // exactly 0 or 1
adjacentRelayKey: present iff tag=1, nonzero 32-byte authenticated relay key
bodyLength: u32
externalCanonicalBytes: bytes[bodyLength]
} LocalStreamAttachContextV1�XLocalStreamAttachContextV1�6LocalStreamAttachContextV1 {
version: u8 = 1
ticket: bytes[32] // nonzero and one-use
parentSessionId: bytes[32] // nonzero
descriptorSequence: u64 // nonzero
descriptorHash: bytes[32] // nonzero
bindingHash: bytes[32] // nonzero
} LocalStreamControlV1�LocalStreamControlV1�LocalStreamControlV1 {
version: u8 = 1
controlKind: u8 // closed 1..7
controlId: u64 // nonzero
variant: exact fixed fields selected by controlKind
} LocalStreamFrameV1�LocalStreamFrameV1��LocalStreamFrameV1 {
version: u8 = 1
direction: u8 // 1 edge→daemon, 2 daemon→edge
frameKind: u8 // 1 CONTENT, 2 CORE_RAW, 3 CIPHERTEXT, 4 CONTROL, 5 ABORT
sequence: u64 // first zero, exact +1 per physical direction
wireClass: u8 // kind-specific zero or 1..3
flags: u8 // bit 0 FIN only; all other bits zero
bodyLength: u32
bytes: bytes[bodyLength]
} LocalStreamOpenV1��LocalStreamOpenV1��LocalStreamOpenV1 {
version: u8 = 1
openKind: u8 // closed 1..4 registry below
transportId: u8 // exact registry 1..9
transportSupportBit: u16 // explicit registered one-hot bit
endpointId: u8 // 1..255
streamMode: u8 // closed 1..5 registry below
channelClass: u8 // closed combination: zero or stream class 1..3
acceptedMonotonicMillis: u64
openDeadlineMonotonicMillis:u64
adjacentRelayKeyPresent: u8
adjacentRelayKey: present iff tag=1, nonzero 32 bytes
contextLength: u32 // exact 225 or 137 for the registered combination
context: bytes[contextLength] // closed canonical private schema
} LocalUnaryResponseV1�SLocalUnaryResponseV1�7LocalUnaryResponseV1 {
version: u8 = 1
responseKind: u8 // 1 EXTERNAL_CANONICAL, 2 LOCAL_BROKER_ERROR, 3 LOCAL_READY_ACK
localBrokerError: u8 // zero for kinds 1/3; closed enum below for kind 2
bodyLength: u32
externalCanonicalBytes: bytes[bodyLength]
}