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