{
"id": "science.alt.dataset.lensVerification",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"lens",
"lensCommit",
"verificationMethod",
"createdAt"
],
"properties": {
"lens": {
"type": "string",
"format": "at-uri",
"maxLength": 500,
"description": "AT-URI of the lens record being verified"
},
"codeHash": {
"ref": "#codeHash",
"type": "ref",
"description": "Hash of the code at the referenced commit. Required for signedHash method."
},
"proofRef": {
"ref": "science.alt.dataset.lens#codeReference",
"type": "ref",
"description": "Link to proof artifact (Coq/Lean proof, test suite, etc.). Used with formalProof or automatedTest methods."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp when this verification was issued"
},
"lensCommit": {
"type": "string",
"maxLength": 128,
"description": "CID of the specific lens record version. Ensures immutability — if the lens is updated, old verifications do not carry over."
},
"description": {
"type": "string",
"maxLength": 1000,
"description": "Human-readable description of what was verified"
},
"verificationMethod": {
"ref": "science.alt.dataset.verificationMethod",
"type": "ref",
"description": "What kind of verification was performed"
}
}
},
"description": "Verification record for a lens transformation. The verifier's identity is implicit — the DID of the repo owner who writes this record. Follows the ATProto pattern where verification records live in the verifier's own PDS."
},
"codeHash": {
"type": "object",
"required": [
"algorithm",
"digest"
],
"properties": {
"digest": {
"type": "string",
"maxLength": 128,
"description": "Hex-encoded hash digest"
},
"algorithm": {
"type": "string",
"maxLength": 20,
"description": "Hash algorithm identifier (e.g., 'sha256', 'blake3')"
}
},
"description": "Content hash for code integrity verification"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}