Interface EmergentTool

A tool created at runtime by the Emergent Capability Engine.

EmergentTool is the persisted record that backs a forged tool. It carries the tool's identity, schemas, implementation spec, current tier, audit trail, and accumulated usage statistics.

interface EmergentTool {
    id: string;
    name: string;
    description: string;
    inputSchema: JSONSchemaObject;
    outputSchema: JSONSchemaObject;
    implementation: ToolImplementation;
    tier: ToolTier;
    createdBy: string;
    createdAt: string;
    judgeVerdicts: (CreationVerdict | PromotionVerdict)[];
    usageStats: ToolUsageStats;
    source: string;
}

Properties

id: string

Globally unique identifier assigned at forge time. Convention: emergent:<uuid-v4> (e.g., "emergent:a1b2c3d4-...").

name: string

Machine-readable tool name exposed to the LLM in tool call requests. Must be unique among tools currently registered for the agent.

Example

"fetch_github_pr_summary"
description: string

Natural language description of what the tool does and when to use it. Injected into the LLM prompt as the tool's description field.

inputSchema: JSONSchemaObject

JSON Schema defining the structure of arguments the tool accepts. Validated by the executor before each invocation.

outputSchema: JSONSchemaObject

JSON Schema defining the structure of the tool's output on success. Used by downstream tools and the judge for output validation.

implementation: ToolImplementation

The implementation specification — either a composable pipeline or sandboxed code. Determines how the executor runs the tool.

tier: ToolTier

Current lifecycle tier. Tools start at 'session' and may be promoted to 'agent' and then 'shared' as they accumulate usage and pass audits.

createdBy: string

Identifier of the entity (agent ID or 'system') that created this tool.

createdAt: string

ISO-8601 timestamp of when the tool was first forged and registered.

judgeVerdicts: (CreationVerdict | PromotionVerdict)[]

Ordered log of all judge verdicts issued for this tool, from initial creation through any subsequent promotion reviews. The most recent verdict is the last element.

usageStats: ToolUsageStats

Accumulated runtime usage statistics. Updated after every invocation by the usage tracking subsystem.

source: string

Human-readable label describing the origin of this tool for audit purposes.

Example

"forged by agent gmi-42 during session sess-99"