&ND v2

+++document/meta
schemaVersion = "1"
id = "appendix-addressing-v1"
title = "Appendix — Addressing"
description = "Detailed path addressing examples and canonical segment traversal clarifications."
family = "appendices"
group = "Core Semantics"
standing = "official"
lifecycle = "published"
normativity = "informative"
license = "CC-BY-4.0"
path = "specification/appendices/appendix-addressing-v1"
order = 50
publish = true
keywords = ["AEON", "addressing", "canonical paths", "selectors", "quoted keys", "namespaces"]
related = ["aeon-core-v1-addressing-references", "aeon-core-v1", "aeon-v1-supersession-table"]
+++


# Appendix — Addressing [# 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 [# 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).


## 2. Attribute Segment Rule [# 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 [# 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) [# 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.


## 5. Namespace Neutrality [# 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.


## 6. Reference/Visibility Alignment [# 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.
