Object Model

The core concepts of the Hoziron platform and how they relate to each other.

Concept Hierarchy

Agent

The execution context. An agent is an autonomous AI worker that responds to triggers — cron schedules, workflow steps, channel messages, or system events.

Key rule: An agent without a competency is a general-purpose conversational entity. It can reason and respond but cannot take any action (no tool access).

Lifecycle

What an Agent Owns

ComponentDescription
IdentityUUID, name, creation timestamp
Model configProvider, model ID, temperature, max tokens
Competency0 or 1 equipped competency (defines what tools are available)
PermissionsWhat resources the agent can access
MemoryPrivate KV store, semantic memory, knowledge graph
TriggersWhat events wake the agent up
PII pipelinePer-agent tokenization/hydration rules
Trust policyWhich destinations see real vs tokenized data

Competency

The unit of capability. A competency gives an agent the ability to act — it bundles domain knowledge, operational procedures, required tools, configuration, and metrics into a single installable package.

Three Layers

LayerContentPurpose
ManifestCOMPETENCY.tomlDeclares identity, required skills, settings, schedule, metrics
System PromptEmbedded in manifestMulti-phase operational procedures, decision trees, error recovery
KnowledgeOptional files in payload/Domain expertise injected into agent context

Equip Operation

Constraint: One competency per agent (enforced at equip time).

Skill

A tool bundle that provides one or more tools along with their implementation. A skill is nothing without a competency — it cannot be used directly by an agent.

Structure

ComponentDescription
NameUnique identifier (e.g., postgresql-connector)
Tools1..N tool definitions (must have at least 1)
RuntimeImplementation type: Python, WASM, Node.js, Shell, Native
RequirementsDependencies, capabilities, environment variables

Relationship to Integrations

Some skills are backed by integration servers — MCP-compatible processes that implement the tools at runtime:

Tool

An atomic action that a skill provides. A single function an agent can invoke during execution.

Tools are never accessed directly. The path is always:

Agent → (equipped) Competency → (requires) Skill → (provides) Tool

At runtime, the agent's tool_allowlist contains only the tools provided by its equipped competency's required skills. All other tools are invisible.

Workflow

A multi-step pipeline that routes work through multiple agents:

Each agent maintains its own memory scope. Data passes between agents only through step outputs with PII tokenization applied at each boundary.

Trigger

What wakes an agent up. Every agent is autonomous — the trigger defines when it acts.

TypeFires When
CronScheduled time (cron expression)
ChannelMessage received from Slack, Teams, etc.
WorkflowStep in a multi-agent pipeline
EventSystem/lifecycle event matching a pattern
APIDirect invocation (always accepted implicitly)

Permission

A grant of access to a resource or action. Declared in agent configuration, enforced at runtime.

CategoryExampleMeaning
File accessFileRead("/data/claims/*")Can read files matching pattern
NetworkNetworkConnect("*.company.com")Can connect to matching hosts
MemoryMemoryRead("self")Can read own memory scope
ShellShellExec("python3 *")Can execute matching commands
Agent interactionAgentSpawnCan create child agents
Cost limitsCostLimitHourly(10.0)Max $10/hour in LLM costs

Inheritance rule: A child agent can never have more permissions than its parent.

Memory

Private persistence layer for each agent:

Isolation guarantee: The ScopedMemory wrapper validates caller == scope_owner on every operation. Cross-agent memory access always returns MemoryViolation.

Complete Data Path

End-to-end flow when an operator sends a message to an agent: