at.adsb.receiver.sighting

adsb.at

Schema Diff

+11 -0

From

CID
bafyreigfusjjsxx...
Indexed At
2026-05-25 20:10 UTC
View this version

To

CID
bafyreifd2vyeji2...
Indexed At
2026-05-27 12:56 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

1 breaking change, 4 non-breaking changes.

Breaking Changes (1)
  • ConstraintAdded ConstraintAdded { vertex_id: "at.adsb.receiver.sighting:body.sources:items", sort: "maxLength", value: "32" }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.sources" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.sources:items" }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.sources", kind: "prop", name: Some("sources") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body.sources", tgt: "at.adsb.receiver.sighting:body.sources:items", kind: "items", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.sources" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.sources:items" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "at.adsb.receiver.sighting:body.sources:items", sort: "maxLength", value: "32" }

Additional Notes

  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.sources", kind: "prop", name: Some("sources") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body.sources", tgt: "at.adsb.receiver.sighting:body.sources:items", kind: "items", name: None }
1 1
{
2 2
  "id": "at.adsb.receiver.sighting",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "windowStart",
11 11
          "windowEnd",
12 12
          "manifest",
13 13
          "telemetry",
14 +
          "sources",
14 15
          "createdAt"
15 16
        ],
16 17
        "properties": {
18 +
          "sources": {
19 +
            "type": "array",
20 +
            "items": {
21 +
              "type": "string",
22 +
              "maxLength": 32
23 +
            },
24 +
            "maxLength": 50,
25 +
            "minLength": 1,
26 +
            "description": "Deduplicated list of decoder source types that contributed position fixes in this batch window."
27 +
          },
17 28
          "manifest": {
18 29
            "type": "array",
19 30
            "items": {
20 31
              "ref": "#manifestEntry",
21 32
              "type": "ref"
22 33
            },
23 34
            "maxLength": 1000,
24 35
            "minLength": 1,
25 36
            "description": "Lightweight list of all aircraft observed in this window."
26 37
          },
27 38
          "createdAt": {
28 39
            "type": "string",
29 40
            "format": "datetime"
30 41
          },
31 42
          "telemetry": {
32 43
            "type": "blob",
33 44
            "accept": [
34 45
              "application/zstd"
35 46
            ],
36 47
            "maxSize": 2000000,
37 48
            "description": "Zstd-compressed JSON object keyed by ICAO hex, values are arrays of at.adsb.flight.defs#position objects."
38 49
          },
39 50
          "windowEnd": {
40 51
            "type": "string",
41 52
            "format": "datetime",
42 53
            "description": "End of the observation window (exclusive)."
43 54
          },
44 55
          "rawCapture": {
45 56
            "type": "blob",
46 57
            "accept": [
47 58
              "application/vnd.at-adsb.raw-capture+zstd"
48 59
            ],
49 60
            "maxSize": 2000000,
50 61
            "description": "Raw demodulated SDR frames captured during this window, in ATRX envelope format. Optional — strengthens provenance but not required."
51 62
          },
52 63
          "windowStart": {
53 64
            "type": "string",
54 65
            "format": "datetime",
55 66
            "description": "Start of the observation window (inclusive)."
56 67
          }
57 68
        }
58 69
      },
59 70
      "description": "A receiver's batch sighting covering a configurable observation window."
60 71
    },
61 72
    "manifestEntry": {
62 73
      "type": "object",
63 74
      "required": [
64 75
        "icaoHex"
65 76
      ],
66 77
      "properties": {
67 78
        "icaoHex": {
68 79
          "type": "string",
69 80
          "maxLength": 6,
70 81
          "minLength": 6,
71 82
          "description": "ICAO 24-bit hex address (uppercased)."
72 83
        }
73 84
      },
74 85
      "description": "An aircraft observed in this batch window."
75 86
    }
76 87
  },
77 88
  "$type": "com.atproto.lexicon.schema",
78 89
  "lexicon": 1,
79 90
  "description": "A batch of aircraft observations from a single receiver covering a configurable time window (default 60 seconds). Contains a manifest of observed aircraft and blobbed telemetry data."
80 91
}

Compare Other Versions

Lexicon Garden

@