Skip to content
EN FR

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 me where 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.