symfonic.agent.domain¶
domain ¶
DomainTemplate -- pluggable domain configuration for business-specific behavior.
External apps inject their own domain logic by creating a DomainTemplate and passing it to FrameworkConfig. The framework stays generic; all business-specific labels, onboarding flows, and schema definitions live in the consuming application.
CorePreference ¶
Bases: BaseModel
A domain-owned behavioural preference evaluated during metacognition.
DomainTemplate ¶
Bases: BaseModel
Pluggable domain configuration for business-specific behavior.
External apps inject their own domain logic by creating a DomainTemplate and passing it to FrameworkConfig. The framework stays generic.
Attributes:
| Name | Type | Description |
|---|---|---|
name |
str
|
Human-readable domain identifier (e.g. "amazon-expert"). |
required_labels |
list[str]
|
Graph labels the domain expects to exist. Used by DiscoveryService to flag missing blocks as pending. |
onboarding_checklist |
list[str]
|
Items the agent should collect during initial conversations with a new tenant. |
soul_schema |
dict[str, str]
|
Schema definition for the SOUL label -- maps field names to their expected types as strings. |
description |
str
|
Optional description of the domain's purpose. |
tool_manifest |
list[str]
|
Short descriptions of available tools. Each entry
is |
tool_catalog |
dict[str, dict[str, Any]]
|
Full JSON schemas keyed by tool name. Used for JIT hydration -- the engine loads the full schema only when the LLM selects a tool from the manifest. |
tool_trigger_keywords |
dict[str, list[str]]
|
Optional per-tool keyword lists that gate
which manifest entries are injected into the system prompt
for a given turn. Keys are tool names (matching the prefix
before the first |
monitoring |
MonitoringBlueprint
|
Blueprint for sub-agent monitoring and anomaly detection. Provides thresholds, intervals, and alert configuration. |
MonitoringBlueprint ¶
Bases: BaseModel
Configuration for sub-agent monitoring and anomaly detection.
Defines thresholds, check intervals, and which metrics trigger alerts. Consumed by monitoring skills (e.g. AnomalyDetectionSkill) in the application layer.
Attributes:
| Name | Type | Description |
|---|---|---|
anomaly_thresholds |
dict[str, float]
|
Metric name to deviation percentage threshold.
When a metric deviates beyond this percentage, it triggers
an alert. Example: |
check_interval_seconds |
int
|
How often automated checks should run. |
alert_on |
list[str]
|
List of metric names to monitor. Only metrics listed here produce findings. |