<!-- Generated from sources/appendices/v1/appendix-addressing.aeon; do not edit. -->

<a id="appendix-addressing"></a>
# 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.

<a id="canonical-path-rendering"></a>
## 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 }` → `$.a` and `~a` resolve the object; `$.a.b` and `~a.b` resolve `1`.
- `"a.b" = 2` → `$.["a.b"]` and `~["a.b"]` resolve `2` (single quoted member key, not traversal).

<a id="attribute-segment-rule"></a>
## 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.

<a id="decoding-and-equivalence"></a>
## 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.

<a id="normalized-selector-path-derived"></a>
## 4. Normalized Selector Path (Derived)

Implementations may expose a derived normalized selector string for dispatch ergonomics:

- canonical (authoritative): `$.contacts[3].email`
- normalized (derived): `$.contacts.*.email`

Normalization rules:

1. Preserve root marker.
2. Keep member names unchanged.
3. Replace numeric index segments with `.*`.
4. Preserve member traversal dots.

Normalized selector path is non-authoritative convenience metadata only.

<a id="namespace-neutrality"></a>
## 5. Namespace Neutrality

- No dedicated namespace syntax exists in AEON core.
- `#` has no intrinsic namespace semantics in core addressing.
- `@ns` is not reserved.
- Recommended ecosystem convention: `@{ns="namespace.v1"}` metadata.

<a id="reference-visibility-alignment"></a>
## 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.

---

## Related documents

- [AEON v1 Addressing, SANSA Literals, and References Reference](./aeon-core-v1-addressing-references.md)
- [AEON Specification v1](./aeon-core-v1.md)
- [v1 Supersession Table](./aeon-v1-supersession-table.md)
