Appendix — Addressing
Status: informative summary for consolidated v1
Canonical topic owner: ../addressing-references-v1.md
If this appendix conflicts with the canonical addressing reference, the canonical addressing reference wins.
1. Canonical Path Rendering
Member segments:
- bare:
$.a.b - quoted:
$.["a.b"]
Address-expression attribute selectors:
- bare:
$.a@meta - quoted:
$.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 Wildcard Path (Derived)
Implementations may expose a derived normalized path string for wildcard dispatch ergonomics:
- canonical (authoritative):
$.contacts[3].email - normalized (derived):
contacts[*].email
Normalization rules:
- Drop root marker.
- Keep member names unchanged.
- Replace numeric index segments with
[*]. - Preserve member traversal dots.
Normalized 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.