Architecture
Aware is organized around a small agent runtime with explicit boundaries between parsing, execution, tools, templates, and persistence.
Runtime Flow
User Query
-> ParserAgent
-> BuildSpec
-> ExecutorAgent
-> Dynamic sub-agents
-> Findings / anomalies / preliminary causes
-> Artifacts and optional SQLite memory
Parser Agent
ParserAgent converts a user incident request into a BuildSpec. It loads BuildSpec rules from:
knowledge/parser_buildspec_kb.md
The knowledge file contains:
task_1..task_7mapping- BuildSpec contract
- normalization rules
- file selection rules for logs, traces, and metrics
Executor Agent
ExecutorAgent instantiates sub-agents from templates and coordinates their analysis against selected telemetry files.
Implementation:
agents/executor_agent.py
Executor knowledge is loaded from:
knowledge/executor_rca_kb.md
Dynamic Agent Templates
Executor sub-agents are defined in:
templates/assess_templates.py
Each template defines:
agent_nameroleobjective- BuildSpec
target_field - tools to use
- telemetry domain
Tools
Telemetry helpers live in:
tools/telemetry_tools.py
Examples:
load_csv_windowbuild_llm_observation_contextcount_matchessample_matching_linesmax_numeric_column
These helpers keep data access and time-window filtering outside of agent orchestration.