Domain sections attach business context to your traces, giving Maestro richer signal for evaluation. Each section is a dataclass you can pass as a keyword argument to send_task(), create_task_data(), or TraceBuilder.set_section().
How to Use
# As keyword argument
client.send_task(
name="Handle ticket",
description="Resolved a billing inquiry.",
duration=3.2,
customer={"customer_name": "Acme Corp", "customer_email": "[email protected]"},
support={"issue_type": "billing", "priority": "high", "resolution": "Refund issued"},
)
# With TraceBuilder
trace = TraceBuilder("Handle ticket", "Resolved a billing inquiry.")
trace.set_section("customer", Customer(customer_name="Acme Corp"))
trace.set_section("support", Support(issue_type="billing", priority="high"))
You can pass either a dataclass instance or a plain dict (auto-coerced).
Customer
Context about the customer the agent is serving.
from infinium import Customer
| Field | Type | Default | Description |
|---|---|---|---|
customer_name | str | None | Customer’s name |
customer_email | str | None | Customer’s email |
customer_phone | str | None | Customer’s phone number |
customer_address | str | None | Customer’s address |
client_company | str | None | Company name |
client_industry | str | None | Industry vertical |
Example use case: Customer support agent, account management bot.
Support
Context for support/helpdesk interactions.
from infinium import Support
| Field | Type | Default | Description |
|---|---|---|---|
call_id | str | None | Ticket or call identifier |
issue_description | str | None | Description of the issue |
issue_type | str | None | Category (billing, technical, etc.) |
resolution | str | None | How the issue was resolved |
priority | str | None | Priority level (low, medium, high, critical) |
follow_up_required | str | None | Whether follow-up is needed |
agent_notes | str | None | Internal notes |
Example use case: Ticket classifier, auto-resolution agent.
Sales
Context for sales pipeline activities.
from infinium import Sales
| Field | Type | Default | Description |
|---|---|---|---|
lead_source | str | None | Where the lead came from |
sales_stage | str | None | Pipeline stage (prospecting, negotiation, etc.) |
deal_value | str | None | Deal value |
conversion_rate | str | None | Conversion rate |
sales_notes | str | None | Sales notes |
Example use case: Lead scoring agent, proposal generator.
Marketing
Context for marketing campaigns and activities.
from infinium import Marketing
| Field | Type | Default | Description |
|---|---|---|---|
campaign_name | str | None | Campaign identifier |
campaign_type | str | None | Type (email, social, ads, etc.) |
target_audience | str | None | Target demographic |
marketing_channel | str | None | Distribution channel |
engagement_metrics | str | None | Engagement data |
conversion_metrics | str | None | Conversion data |
Example use case: Content generator, audience segmentation agent.
Content
Context for content creation tasks.
from infinium import Content
| Field | Type | Default | Description |
|---|---|---|---|
content_type | str | None | Type (blog, email, social post, etc.) |
content_format | str | None | Format (markdown, HTML, plain text) |
content_length | str | None | Length or word count |
content_topic | str | None | Topic or subject |
target_platform | str | None | Publishing platform |
Example use case: Blog writer, social media manager, newsletter generator.
Research
Context for research and analysis tasks.
from infinium import Research
| Field | Type | Default | Description |
|---|---|---|---|
research_topic | str | None | Topic being researched |
research_method | str | None | Methodology used |
data_sources | str | None | Sources consulted |
research_findings | str | None | Summary of findings |
analysis_type | str | None | Type of analysis |
sources_consulted | str | None | Number/list of sources |
key_findings | str | None | Key takeaways |
confidence_level | str | None | Confidence in findings |
data_quality | str | None | Quality assessment of data |
Example use case: Market research agent, competitive analysis bot.
Project
Context for project management activities.
from infinium import Project
| Field | Type | Default | Description |
|---|---|---|---|
project_name | str | None | Project identifier |
project_phase | str | None | Current phase |
deliverables | str | None | Expected deliverables |
stakeholders | str | None | Key stakeholders |
project_status | str | None | Current status |
milestone_achieved | str | None | Milestone completed |
task_priority | str | None | Task priority |
resource_utilization | str | None | Resource usage |
risk_assessment | str | None | Risk level |
blockers | str | None | Current blockers |
Example use case: Sprint planning agent, status report generator.
Development
Context for software development tasks.
from infinium import Development
| Field | Type | Default | Description |
|---|---|---|---|
programming_language | str | None | Language used |
framework_used | str | None | Framework or library |
bugs_found | str | None | Number of bugs found |
bugs_fixed | str | None | Number of bugs fixed |
test_coverage | str | None | Test coverage percentage |
performance_metrics | str | None | Performance data |
deployment_status | str | None | Deployment state |
technical_debt | str | None | Tech debt assessment |
files_modified | str | None | Files changed |
tests_run | str | None | Number of tests run |
tests_passed | str | None | Number of tests passed |
Example use case: Code review agent, test generation bot, CI/CD automation.
Executive
Context for executive and meeting activities.
from infinium import Executive
| Field | Type | Default | Description |
|---|---|---|---|
meeting_type | str | None | Type of meeting |
attendees_count | str | None | Number of attendees |
agenda_items | str | None | Meeting agenda |
action_items | str | None | Action items generated |
calendar_conflicts | str | None | Scheduling conflicts |
decisions_made | str | None | Decisions reached |
Example use case: Meeting summarizer, agenda planner, action item tracker.
General
Catch-all section for general-purpose context.
from infinium import General
| Field | Type | Default | Description |
|---|---|---|---|
tools_used | str | None | Tools the agent used |
agent_notes | str | None | Free-form agent notes |
errors_encountered | str | None | Errors hit during execution |
retries | str | None | Number of retries |
warnings | str | None | Warnings generated |
external_apis_called | str | None | External APIs called |
data_sources_accessed | str | None | Data sources used |
tags | str | None | Comma-separated tags |
Example use case: Any agent that doesn’t fit a specific domain.
TimeTracking
Simple start/end time tracking.
from infinium import TimeTracking
| Field | Type | Default | Description |
|---|---|---|---|
start_time | str | None | ISO 8601 start timestamp |
end_time | str | None | ISO 8601 end timestamp |
Multiple Sections
You can attach multiple domain sections to a single trace:
client.send_task(
name="Research & report",
description="Researched market trends and generated a report.",
duration=12.5,
research={"research_topic": "AI market trends", "sources_consulted": "5"},
content={"content_type": "report", "content_length": "2500 words"},
customer={"client_company": "Acme Corp", "client_industry": "Technology"},
)