a textual notation to locate fields within atproto records (draft spec) microcosm.tngl.io/RecordPath/
9
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix parens and copy

phil 364c95af a19c17d7

+3 -3
+3 -3
spec.md
··· 89 89 | `.` | `!.` | field separator | 90 90 | `[` | `![` | arrays | 91 91 | `]` | `!]` | arrays | 92 - | `{` | `!}` | union refs | 92 + | `{` | `!{` | union refs | 93 93 | `}` | `!}` | union refs | 94 94 | `!` | `!!` | escape | 95 95 ··· 165 165 facets[].features[app.bsky.richtext.facet#mention].did 166 166 ``` 167 167 168 - So while arrays are unordered in RecordPath, their elements are always segmented by union-ref type when they contained unioned types. 168 + So while arrays are unordered in RecordPath, their elements are always segmented by union-ref type when they contain unioned types. 169 169 170 170 171 171 ### 2.5 Scalar union fields ··· 202 202 203 203 The RecordPath `embed{app.bsky.embed.external}.uri` reaches the quoted post's external embed URI, "https://youtu.be/-pns419xAoc?si=K4XMQfFv-t4Q1cn0". 204 204 205 - - The NSID in the parens is the `$type` value verbatim, including any `#fragment` suffix if present. the `#main` suffix is never present per the lexicon spec so this is close-to-canonical, but i need to think more about relative `#fragments` (that omit the NSID part) and whether that introduces any non-canonical problem. 205 + - The NSID in the braces is the `$type` value verbatim, including any `#fragment` suffix if present. The `#main` suffix is never present per the lexicon spec (*"use of a `#main` suffix is invalid"* in `$type` values). Relative `#fragment` references (without NSID) only exist within lexicon definition files as shorthand; `$type` values in record data are always fully-qualified (`nsid` or `nsid#name`). So the data is already canonical and no normalization is needed. 206 206 - The top-level record `$type` is excluded from this rule. 207 207 208 208