Appendix — Addressing
Canonical topic owner: AEON v1 Addressing, SANSA Literals, and References Reference.
If this appendix conflicts with the canonical addressing reference, the canonical addressing reference wins.
1. Canonical Path Rendering
Member segments:
bare:
$.a.bquoted:
$.["a.b"]
Address-expression attribute selectors:
bare:
$.a.@.metaquoted:
$.a.@.["profile.name"]
Mixed address-expression examples:
$.["key"].@.["a"].["b"]$.["array key"][2]
Disambiguation examples:
a = { b = 1 }→$.aand~aresolve the object;$.a.band~a.bresolve1."a.b" = 2→$.["a.b"]and~["a.b"]resolve2(single quoted member key, not traversal).
2. Attribute Segment Rule
Bare attribute segment syntax is
.@.key.Quoted-key attribute segment syntax is
.@.["key with spaces"].Attribute selectors participate in addressing expressions, not canonical path identity.
3. Decoding and Equivalence
Quoted keys are decoded before identity/comparison.
Duplicate-key and duplicate-path checks operate on decoded key values.
Canonical path output uses double-quoted bracket form for non-bare keys.
Equivalent escaped spellings resolve to the same decoded key identity.
4. Normalized Selector Path (Derived)
Implementations may expose a derived normalized selector string for dispatch ergonomics:
canonical (authoritative):
$.contacts[3].emailnormalized (derived):
$.contacts.*.email
Normalization rules:
Preserve root marker.
Keep member names unchanged.
Replace numeric index segments with
.*.Preserve member traversal dots.
Normalized selector path is non-authoritative convenience metadata only.
5. Namespace Neutrality
No dedicated namespace syntax exists in AEON core.
#has no intrinsic namespace semantics in core addressing.@nsis not reserved.Recommended ecosystem convention:
@{ns="namespace.v1"}metadata.
6. Reference/Visibility Alignment
Data and attribute namespaces remain distinct.
Explicit attribute references are required for attribute namespace traversal.
No-forward/self constraints apply per namespace.