&ND v2

+++document/meta
schemaVersion = "1"
id = "appendix-annotation-stream-v1"
title = "Appendix — Annotation Stream"
description = "Structured annotation channel model and source-order emission behavior."
family = "appendices"
group = "Core Semantics"
standing = "official"
lifecycle = "published"
normativity = "informative"
license = "CC-BY-4.0"
path = "specification/appendices/appendix-annotation-stream-v1"
order = 110
publish = true
keywords = ["AEON", "annotation stream", "structured comments", "source order", "bindings", "side channel"]
related = ["aeon-core-v1-comments-annotations", "appendix-aes-v1", "appendix-processing-model-v1"]
+++


# Appendix — Annotation Stream [# appendix-annotation-stream]

Canonical topic owner: AEON v1 Comments and Annotations Reference.

If this appendix conflicts with the canonical comments/annotations reference, the canonical comments/annotations
reference wins.


## 1. Channel Forms [# channel-forms]

Structured channels:

- line: [$ //#], [$ //@], [$ //?], [$ //{], [$ //\[], [$ //(]
- block: [$ /# ... #/], [$ /@ ... @/], [$ /? ... ?/], [$ /{ ... }/], [$ /\[ ... \]/], [$ /( ... )/]

Plain comments:

- line: [$ // ...]
- block: [$ /* ... */]


## 2. Deterministic Binding Continuity [# deterministic-binding-continuity]

Binding target preference remains:

- [$ path] [>] [$ span] [>] [$ unbound]

Indexed element preference behavior for container comments remains deterministic and CTS-enforced.


## 3. Non-influence Rule [# non-influence-rule]

Comments/annotations/hints MUST NOT alter:

- AES semantics
- canonical path assignment
- reference legality
- assignment ordering


## 4. Optional Annotation Emission in Compile Surface [# optional-annotation-emission-in-compile-surface]

For non-tooling pipelines, compile implementations may allow annotation emission to be disabled.

Normative expectations:

- When disabled, annotation stream output is omitted.
- Parse/resolve/mode/reference behavior remains identical.
- Event ordering and canonical paths remain unchanged.

Tooling/lint/editor flows should keep annotation emission enabled.
