Summary
Stable refs are Point's durable names for symbols and diagnostic targets.
Ref shape
Semantic refs identify public .point source:
point://semantic/<module>/<kind>.<name>Examples:
point://semantic/Math/record.User
point://semantic/Math/record.Launch Signals/field.has bundle id
point://semantic/Math/calculation.annual price
point://semantic/Math/rule.launch readiness
point://semantic/Math/label.score statusWhy refs matter
Refs survive formatting and nearby edits better than line numbers. They also preserve user-facing names, including names with spaces, so the agent can reason about the same language the author wrote.
Finding refs
Run:
point index examples/math.pointThen pass a ref to:
point explain examples/math.point point://semantic/Math/rule.launch readinessDiagnostic refs from check-json resolve the same way: each public error includes a point://semantic/... ref that point index lists and point explain summarizes (pipeline steps, load-data bindings, middleware routes, money fields, and variant dispatch included).
Semantic vs core refs
Use semantic refs for public documentation, editor actions, and agent repair loops. Core refs are still useful inside compiler internals and generated target explanations, but they are not the primary author-facing contract.
