Mint or get a canonical object identity
emem_entityCreates a single shared identity for any real-world object (bridge, farm, river) so every agent resolves the same object the same way, collapsing divergent labels into one canonical entity.
Instructions
Give a real-world object (a bridge, a farm plot, a river, a named place) a single, shared, content-addressed identity that any agent resolves the same way. Returns an entity_token (emem:entity:<entity_cid>) plus a signed receipt that attests how the reference resolved. Two agents that name the same object mint the SAME entity_cid; when a stable external id (Overture GERS / OSM) is known it dominates identity, so divergent labels for one real object still collapse to one id. This is the object-level antidote to referential drift: 'the damaged bridge near the river' becomes one canonical thing every model reasons about, not a phrase each model re-interprets.
When to use: Call when a conversation refers to a THING and you want a stable handle to it that survives summarization and travels between agents/turns/LLMs, before it drifts into 'that infrastructure issue'. Anchor it with place, a cell, or lat+lng. Hand the returned emem:entity: token to any other agent; they dereference the identical object. Recall/ask at the entity's cell64 for signed facts about it. Pick the right sibling: emem_entity MINTS or returns the identity for a thing you can anchor to a place; emem_entity_resolve takes a fuzzy phrase and finds an identity someone ALREADY registered, so reach for it when you suspect the thing is known and you only have words for it; emem_entity_link asserts that two spellings you already hold mean one object. Do NOT call this for an observation, which is a fact and belongs in emem_recall or emem_memory_token, and do not call it to name a place itself, which is emem_locate: an entity is a THING AT a place, not the place.
Example arguments: {"label":"Golden Gate Bridge","kind":"bridge","place":"Golden Gate Bridge, San Francisco"}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude anchoring the object to a place, paired with lng. The identity is hashed from this anchor, so two agents anchoring the same object differently mint different entities. | |
| lng | No | Longitude, paired with lat. | |
| cell | No | cell64 to anchor the object directly (no geocode). | |
| kind | No | Object class: bridge, river, farm_plot, building, admin_division, place, custom, ... Defaults to "place". | |
| label | Yes | Human name of the object, e.g. "Golden Gate Bridge", "the north dam". Required. | |
| place | No | Free-text place to anchor the object (geocoded). Provide place OR cell OR lat+lng. | |
| parent | No | Optional parent entity_cid (containment). | |
| external_ids | No | Stable ids that drive convergence. Caller-supplied values win over geocoder-derived ones. |