me, Conceptual Identity, and Self
Documentation status: architecture — see Maturity and evidence.
me and Self are related to identity, but they are not aliases.
me: structural entity identity
For entity-shaped concepts, me occupies the entity identity position in the conceptual structure. It participates in the meaning of an identified entity and can therefore appear in H-Logic declarations that distinguish an entity instance from its other participants or roles.
Conceptually:
Entity(me, role1, role2, ...)
^
identity-bearing participant
This identity is semantic. It must not be reduced to a host-language object pointer or wrapper reference.
Self: reserved access to the current node
Self is a reserved extended access that returns the current conceptual node itself. It belongs to the Runtime's reserved access surface rather than to the positive participant-slot sequence.
Conceptually:
node.Self -> the node being inspected
This is useful for introspection and Runtime operations, but it does not create or redefine domain identity.
Three identities to keep separate
When writing host-language integrations, distinguish:
- conceptual identity — the identity represented by the conceptual model, including
mewhere applicable; - node self-reference — the current Runtime node exposed through
Self; - host wrapper identity — the lifetime and equality of a generated SDK/ABI wrapper.
Two wrappers can refer to the same conceptual node, and a node can expose Self without changing the identity modeled by me.
H-Logic consequence
When me occurs in an H-Logic declaration, treat it as part of the logical/entity structure. Do not replace it with an implicit host-language receiver. Conversely, use Self only where the Runtime's reserved self-access is actually intended.