full diff

world.treeline.condition.report

treeline.world +16 −0
From
bafyreigntz3xn2ig2oazwgmeapfwphd53pzm2ddhnty6maq3bwszh4e6vq indexed 2026-09-25 14:12 UTC View this version
To
bafyreigftfhvpmqp6iowqn7kyc7hwdj32yv5vd7fpz7ifgugechpplxfwq indexed 2026-11-09 20:40 UTC View this version

Compatibility

backward compatible Backward compatible. 10 non-breaking changes.

Non-breaking changes (10)
  • AddedVertex AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
  • AddedVertex AddedVertex { vertex_id: "world.treeline.condition.report:body.labels" }
  • AddedVertex AddedVertex { vertex_id: "world.treeline.condition.report:body.labels:variant0" }
  • AddedVertex AddedVertex { vertex_id: "world.treeline.condition.report:body.langs" }
  • AddedVertex AddedVertex { vertex_id: "world.treeline.condition.report:body.langs:items" }
  • AddedEdge AddedEdge { src: "world.treeline.condition.report:body", tgt: "world.treeline.condition.report:body.labels", kind: "prop", name: Some("labels") }
  • AddedEdge AddedEdge { src: "world.treeline.condition.report:body", tgt: "world.treeline.condition.report:body.langs", kind: "prop", name: Some("langs") }
  • AddedEdge AddedEdge { src: "world.treeline.condition.report:body.labels", tgt: "world.treeline.condition.report:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
  • AddedEdge AddedEdge { src: "world.treeline.condition.report:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "world.treeline.condition.report:body.langs", tgt: "world.treeline.condition.report:body.langs:items", kind: "items", name: None }

Migration guidance

Added

  • AddedVertex { vertex_id: "com.atproto.label.defs#selfLabels" }
  • AddedVertex { vertex_id: "world.treeline.condition.report:body.labels" }
  • AddedVertex { vertex_id: "world.treeline.condition.report:body.labels:variant0" }
  • AddedVertex { vertex_id: "world.treeline.condition.report:body.langs" }
  • AddedVertex { vertex_id: "world.treeline.condition.report:body.langs:items" }

Notes

  • Non-breaking: AddedEdge { src: "world.treeline.condition.report:body", tgt: "world.treeline.condition.report:body.labels", kind: "prop", name: Some("labels") }
  • Non-breaking: AddedEdge { src: "world.treeline.condition.report:body", tgt: "world.treeline.condition.report:body.langs", kind: "prop", name: Some("langs") }
  • Non-breaking: AddedEdge { src: "world.treeline.condition.report:body.labels", tgt: "world.treeline.condition.report:body.labels:variant0", kind: "variant", name: Some("com.atproto.label.defs#selfLabels") }
  • Non-breaking: AddedEdge { src: "world.treeline.condition.report:body.labels:variant0", tgt: "com.atproto.label.defs#selfLabels", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "world.treeline.condition.report:body.langs", tgt: "world.treeline.condition.report:body.langs:items", kind: "items", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "Crowdsourced trail condition or hazard report with temporal decay.",
66 "key": "tid",
77 "record": {
88 "properties": {
99 "coordinate": {
1010 "description": "Optional exact GPS coordinates [lon, lat, ele?] of the hazard, as decimal strings (the ATProto data model has no floats). On an activity-subject report it also limits which of the activity's matched trails the report reaches.",
1111 "items": {
1212 "type": "string"
1313 },
1414 "type": "array"
1515 },
1616 "expiresAt": {
1717 "description": "Optional explicit expiration timestamp. When absent, defaults to reportedAt + 14 days.",
1818 "format": "datetime",
1919 "type": "string"
2020 },
21 "labels": {
22 "description": "Optional self-label values the author applies to this record, effectively content warnings (e.g. graphic-media for an injury photo).",
23 "refs": [
24 "com.atproto.label.defs#selfLabels"
25 ],
26 "type": "union"
27 },
28 "langs": {
29 "description": "Optional. The human languages of this record's text (the notes), as BCP-47 tags, so consumers can filter or translate.",
30 "items": {
31 "format": "language",
32 "type": "string"
33 },
34 "maxLength": 3,
35 "type": "array"
36 },
2137 "notes": {
2238 "description": "Detailed notes describing the observed trail condition or obstacle.",
2339 "maxGraphemes": 1000,
2440 "maxLength": 10000,
2541 "type": "string"
2642 },
2743 "photoBlob": {
2844 "accept": [
2945 "image/png",
3046 "image/jpeg",
3147 "image/webp"
3248 ],
3349 "description": "Optional photograph of the condition or hazard.",
3450 "maxSize": 10000000,
3551 "type": "blob"
3652 },
3753 "reportedAt": {
3854 "description": "Timestamp when the observation was made.",
3955 "format": "datetime",
4056 "type": "string"
4157 },
4258 "severity": {
4359 "description": "Severity level of the condition.",
4460 "knownValues": [
4561 "info",
4662 "caution",
4763 "hazard",
4864 "closure"
4965 ],
5066 "type": "string"
5167 },
5268 "status": {
5369 "description": "Current status or condition observation.",
5470 "knownValues": [
5571 "clear",
5672 "minor_issues",
5773 "wet_muddy",
5874 "snow_ice",
5975 "tree_fall",
6076 "flowing",
6177 "dry",
6278 "closed"
6379 ],
6480 "type": "string"
6581 },
6682 "subject": {
6783 "description": "The trail, route, segment, activity, or landmark subject of this condition report. A strongRef to a world.treeline.activity.record reports on every trail that activity matched.",
6884 "refs": [
6985 "#trailSubject",
7086 "com.atproto.repo.strongRef"
7187 ],
7288 "type": "union"
7389 }
7490 },
7591 "required": [
7692 "subject",
7793 "status",
7894 "severity",
7995 "reportedAt"
8096 ],
8197 "type": "object"
8298 },
8399 "type": "record"
84100 },
85101 "trailSubject": {
86102 "description": "Subject reference for a physical trail identified by external registry IDs.",
87103 "properties": {
88104 "cotrexId": {
89105 "description": "COTREX trail feature identifier.",
90106 "type": "string"
91107 },
92108 "osmRelationId": {
93109 "description": "OpenStreetMap relation identifier.",
94110 "type": "string"
95111 },
96112 "osmWayId": {
97113 "description": "OpenStreetMap way identifier.",
98114 "type": "string"
99115 },
100116 "usfsTrailNumber": {
101117 "description": "United States Forest Service trail identifier.",
102118 "type": "string"
103119 }
104120 },
105121 "type": "object"
106122 }
107123 },
108124 "id": "world.treeline.condition.report",
109125 "lexicon": 1
110126}

Compare other versions