at.adsb.receiver.sighting

adsb.at

Schema Diff

+5 -6

From

CID
bafyreih3il7ayuj...
Indexed At
2026-05-24 01:57 UTC
View this version

To

CID
bafyreia75deegmh...
Indexed At
2026-05-24 04:21 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

2 breaking changes, 4 non-breaking changes.

Breaking Changes (2)
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.icaoHex" }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.icaoHex", kind: "prop", name: Some("icaoHex") }
Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.aircraft" }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.aircraft", kind: "prop", name: Some("aircraft") }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "at.adsb.receiver.sighting:body.icaoHex", sort: "minLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "at.adsb.receiver.sighting:body.icaoHex", sort: "maxLength" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.icaoHex" }

Added Elements

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

Constraint Changes

  • ConstraintRemoved ConstraintRemoved { vertex_id: "at.adsb.receiver.sighting:body.icaoHex", sort: "minLength" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "at.adsb.receiver.sighting:body.icaoHex", sort: "maxLength" }

Additional Notes

  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.icaoHex", kind: "prop", name: Some("icaoHex") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.aircraft", kind: "prop", name: Some("aircraft") }
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 -
          "icaoHex",
10 +
          "aircraft",
11 11
          "firstSeen",
12 12
          "lastSeen",
13 13
          "createdAt"
14 14
        ],
15 15
        "properties": {
16 16
          "track": {
17 17
            "type": "blob",
18 18
            "accept": [
19 19
              "application/json",
20 20
              "application/zstd"
21 21
            ],
22 22
            "maxSize": 2000000,
23 23
            "description": "Position track as a JSON array of at.adsb.flight.defs#position objects, optionally compressed. This is the receiver's partial view of the flight."
24 24
          },
25 25
          "qnhHpa": {
26 26
            "type": "string",
27 27
            "maxLength": 10,
28 28
            "description": "Altimeter setting (QNH) in hectopascals."
29 29
          },
30 30
          "squawk": {
31 31
            "type": "string",
32 32
            "maxLength": 4,
33 33
            "minLength": 4,
34 34
            "description": "Transponder squawk code (e.g. '2636')."
35 35
          },
36 -
          "icaoHex": {
37 -
            "type": "string",
38 -
            "maxLength": 6,
39 -
            "minLength": 6,
40 -
            "description": "ICAO 24-bit aircraft address in hexadecimal (e.g. 'A1B2C3')."
36 +
          "aircraft": {
37 +
            "ref": "com.atproto.repo.strongRef",
38 +
            "type": "ref",
39 +
            "description": "Strong reference to the at.adsb.aircraft.identity record for this aircraft."
41 40
          },
42 41
          "callsign": {
43 42
            "type": "string",
44 43
            "maxLength": 8,
45 44
            "description": "Flight callsign as broadcast (e.g. 'UAL123')."
46 45
          },
47 46
          "category": {
48 47
            "type": "string",
49 48
            "maxLength": 4,
50 49
            "description": "ADS-B emitter category (e.g. 'A3' for large aircraft)."
51 50
          },
52 51
          "lastSeen": {
53 52
            "type": "string",
54 53
            "format": "datetime",
55 54
            "description": "When this receiver last detected the aircraft."
56 55
          },
57 56
          "createdAt": {
58 57
            "type": "string",
59 58
            "format": "datetime"
60 59
          },
61 60
          "firstSeen": {
62 61
            "type": "string",
63 62
            "format": "datetime",
64 63
            "description": "When this receiver first detected the aircraft."
65 64
          },
66 65
          "maxRangeNm": {
67 66
            "type": "string",
68 67
            "maxLength": 20,
69 68
            "description": "Furthest distance to this aircraft during the sighting, in nautical miles."
70 69
          },
71 70
          "messageCount": {
72 71
            "type": "integer",
73 72
            "minimum": 0,
74 73
            "description": "Total messages received from this aircraft."
75 74
          },
76 75
          "positionCount": {
77 76
            "type": "integer",
78 77
            "minimum": 0,
79 78
            "description": "Number of position reports received."
80 79
          },
81 80
          "finalAltitudeFt": {
82 81
            "type": "integer",
83 82
            "description": "Barometric altitude in feet at last detection."
84 83
          },
85 84
          "finalHeadingDeg": {
86 85
            "type": "string",
87 86
            "maxLength": 10,
88 87
            "description": "Ground track in degrees at last detection."
89 88
          },
90 89
          "initialAltitudeFt": {
91 90
            "type": "integer",
92 91
            "description": "Barometric altitude in feet at first detection."
93 92
          },
94 93
          "initialHeadingDeg": {
95 94
            "type": "string",
96 95
            "maxLength": 10,
97 96
            "description": "Ground track in degrees at first detection."
98 97
          },
99 98
          "finalGroundSpeedKts": {
100 99
            "type": "string",
101 100
            "maxLength": 10,
102 101
            "description": "Ground speed in knots at last detection."
103 102
          },
104 103
          "finalVerticalRateFpm": {
105 104
            "type": "integer",
106 105
            "description": "Vertical rate in feet per minute at last detection. Negative is descending."
107 106
          },
108 107
          "initialGroundSpeedKts": {
109 108
            "type": "string",
110 109
            "maxLength": 10,
111 110
            "description": "Ground speed in knots at first detection."
112 111
          },
113 112
          "initialVerticalRateFpm": {
114 113
            "type": "integer",
115 114
            "description": "Vertical rate in feet per minute at first detection. Negative is descending."
116 115
          }
117 116
        }
118 117
      },
119 118
      "description": "A receiver's sighting of an aircraft transit through its coverage area."
120 119
    }
121 120
  },
122 121
  "$type": "com.atproto.lexicon.schema",
123 122
  "lexicon": 1,
124 123
  "description": "A single receiver's sighting of an aircraft. Created when the aircraft leaves the receiver's coverage area. Feeder-authoritative — published immediately without waiting for the full flight to complete."
125 124
}

Compare Other Versions

Lexicon Garden

@