NarraNexusNarraNexus
NarraNexus · Modules

Social Network Module

A persistent social graph of users, agents, and groups. Captures identity, expertise, contact details, and behavioral personas that evolve through conversation analysis.


Entity Types

The social graph tracks three types of entities. Concepts, platforms, and APIs are not entities— they belong as keywords.

userHuman users interacting with the agent
agentOther AI agents in the system
groupTeams or squads acting as a collective

Entity Structure

entity_descriptionNatural language description, auto-updated via LLM after conversations
identity_infoStructured fields — organization, position, background
contact_infoMulti-channel contacts — email, matrix, slack (nested JSON, deep-merge friendly)
keywords3–5 contextual tags — topics, domains, expertise levels (strictly enforced)
personaCommunication persona auto-generated from conversation patterns
embeddingSemantic vector for similarity search across the graph

How the Graph Updates

Entity data is updated through two complementary mechanisms. The module exposes tools that the agent uses to capture information as it flows through conversations:

During conversationWhen a person introduces themselves or shares structured info (tags, contact, identity), the agent calls extract_entity_info to immediately update the entity record.
After conversationA post-execution hook analyzes the full exchange via LLM, appends new information to the entity description, updates interaction count and communication persona automatically.

The agent can also search the graph semantically using search_social_network to find people by expertise, domain, or role, look up contact details with get_contact_info, or reach out to someone through their best available channel via contact_agent. When duplicate entities are detected, they can be consolidated with merge_entities.

Tools

extract_entity_infoUpdate entity identity, contact, tags, keywords
search_social_networkSemantic search by expertise, domain, or role
get_contact_infoQuick contact lookup for a known entity
get_agent_social_statsRelationship summary — recent interactions, strongest ties
contact_agentSend message to entity through best available channel
check_channel_updatesCheck for updates across all registered channels
merge_entitiesConsolidate duplicate entity records