app.thesocialwire.readStateDefs
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"boundary": {
"properties": {
"createdAt": {
"format": "datetime",
"maxLength": 2048,
"type": "string"
},
"entryId": {
"maxLength": 2048,
"type": "string"
},
"scope": {
"ref": "#scope",
"type": "ref"
}
},
"required": [
"scope",
"createdAt"
],
"type": "object"
},
"calendar": {
"description": "Exact age selection audit metadata. Reference date is YYYY-MM-DD in the IANA timezone; cutoff is resolved UTC. Matching uses exact subject IDs, not recomputed calendar dates.",
"properties": {
"cutoff": {
"format": "datetime",
"type": "string"
},
"referenceDate": {
"maxLength": 10,
"type": "string"
},
"timeZone": {
"maxLength": 128,
"type": "string"
}
},
"required": [
"cutoff",
"timeZone",
"referenceDate"
],
"type": "object"
},
"fragment": {
"description": "Surviving semantic fragment with its original whole-intent digest. Device identity/counter must appear together; otherwise a matching finite legacy receipt is required.",
"properties": {
"actedAt": {
"format": "datetime",
"maxLength": 2048,
"type": "string"
},
"actionId": {
"maxLength": 128,
"type": "string"
},
"boundaries": {
"items": {
"ref": "#boundary",
"type": "ref"
},
"maxLength": 128,
"type": "array"
},
"calendar": {
"ref": "#calendar",
"type": "ref"
},
"deviceCounter": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"deviceId": {
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"fragment": {
"const": true,
"type": "boolean"
},
"intentHash": {
"maxLength": 64,
"minLength": 64,
"type": "string"
},
"selection": {
"enum": [
"boundaries",
"exact"
],
"maxLength": 10,
"type": "string"
},
"sequence": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"state": {
"enum": [
"read",
"unread"
],
"maxLength": 6,
"type": "string"
},
"subjectUris": {
"items": {
"maxLength": 2048,
"type": "string"
},
"maxLength": 256,
"type": "array"
}
},
"required": [
"actionId",
"sequence",
"state",
"actedAt",
"selection",
"fragment",
"intentHash"
],
"type": "object"
},
"operation": {
"description": "Public read-history operation. Exactly one nonempty boundaries or subjectUris array must match selection. Sequence is allocated using manifest CAS, never device time. Splits of one action share sequence, actionId, state and actedAt.",
"properties": {
"actedAt": {
"format": "datetime",
"maxLength": 2048,
"type": "string"
},
"actionId": {
"maxLength": 128,
"type": "string"
},
"boundaries": {
"items": {
"ref": "#boundary",
"type": "ref"
},
"maxLength": 128,
"type": "array"
},
"calendar": {
"ref": "#calendar",
"type": "ref"
},
"selection": {
"enum": [
"boundaries",
"exact"
],
"maxLength": 10,
"type": "string"
},
"sequence": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"state": {
"enum": [
"read",
"unread"
],
"maxLength": 6,
"type": "string"
},
"subjectUris": {
"items": {
"maxLength": 2048,
"type": "string"
},
"maxLength": 256,
"type": "array"
}
},
"required": [
"actionId",
"sequence",
"state",
"actedAt",
"selection"
],
"type": "object"
},
"receipt": {
"description": "A devices chunk requires deviceId, committedCounter and prefixHash only. A legacyReceipts chunk requires actionId, originalSequence and originalIntentHash only. Version-aware clients and projectors enforce the complete disjoint shape. Receipts never execute read actions.",
"properties": {
"actionId": {
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"committedCounter": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"deviceId": {
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"originalIntentHash": {
"maxLength": 64,
"minLength": 64,
"type": "string"
},
"originalSequence": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"prefixHash": {
"maxLength": 64,
"minLength": 64,
"type": "string"
}
},
"type": "object"
},
"scope": {
"properties": {
"authorDid": {
"format": "did",
"maxLength": 2048,
"type": "string"
},
"publicationId": {
"maxLength": 2048,
"type": "string"
},
"publicationSiteKeys": {
"items": {
"maxLength": 2048,
"type": "string"
},
"maxLength": 128,
"type": "array"
}
},
"required": [
"publicationId",
"authorDid",
"publicationSiteKeys"
],
"type": "object"
}
},
"id": "app.thesocialwire.readStateDefs",
"lexicon": 1
}
Metadata
- DID
-
did:plc:qy5pluw2bsuq2x6albsgkvx3 - CID
-
bafyreieasgcciyyp3ruhq3r7qry4bl2tpsry7vvaqhyyoqf6djq5uqzj3u - Indexed At
- 2026-09-09 00:17 UTC
- AT-URI
-
at://did:plc:qy5pluw2bsuq2x6albsgkvx3/com.atproto.lexicon.schema/app.thesocialwire.readStateDefs
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Public immutable chunk, at most64KiB. V1 requires operations. V2 requires kind with exactly fragments for state or receipts for devices/legacyReceipts. Applications enforce the complete version/kind shape and all roots …
-
app.thesocialwire.readState record
Public canonical read/unread manifest. V1 uses head; V2 requires revision and compactionVersion=1 with separate state/device/legacy-receipt roots. Every root must be fully CID-verified before atomic activation. Maintena…