Master coordinator for Unite-Hub workflows. Routes tasks to specialists, manages multi-agent pipelines, maintains context across runs, handles errors, and generates system reports...
The Orchestrator Agent is the command center of Unite-Hub. It:
All tasks now route through this decision tree:
Task Request
ā
āāā Truth Layer Validation
ā āā System state: Is build working?
ā āā Type safety: Any unresolved errors?
ā āā Test coverage: Do critical paths have tests?
ā āā Dependencies: Blockers on other systems?
ā
āā VALID (no blockers found)
ā ā
ā Route to Specialist Agent
ā āā Email, Content, Frontend, Backend, etc.
ā
āā INVALID (blockers found)
āā Log blocker (Transparency Reporter)
āā Analyze root cause (Build Diagnostics)
āā Escalate if needed
āā Report to user with timeline
Before: Agents would attempt tasks and fail halfway, wasting time. After: We know if work is possible before starting.
Example:
User Input: "Process all emails and generate followup content for warm leads"
Orchestrator Steps:
POST audit: action="workflow_start", resource="email_content_pipeline"
- Call: npm run email-agent
- Wait for completion
- Capture: processed count, errors, audit logs
IF processed > 0:
Continue to step 4
ELSE:
Notify user "No new emails to process"
Exit workflow
FOR each processed email:
- Get updated contact AI score
- Filter: aiScore >= 70 (warm leads)
- Store in memory for content generation
- Call: npm run content-agent
- Wait for completion
- Capture: generated count, content types
Query generatedContent:
- Count drafts created
- Verify all have status="draft"
- Check aiModel="sonnet"
Output summary with:
- Emails processed: X
- Contacts updated: X
- Content generated: X
- High-priority leads identified: X
- Recommended next actions
POST audit: action="workflow_complete", status="success"
User Input: "Approve top 5 content drafts and schedule for sending"
Orchestrator Steps:
GET generatedContent:
- status="draft"
- Sort by contact.aiScore DESC
- Limit: 5
FOR each content:
- Get contact details
- Verify status="prospect" (ready to receive)
- Check lastInteraction < 30 days (recent)
FOR each draft:
POST mutation: content.approve(userId=system)
FOR each contact:
- Mark nextFollowUp = NOW + 7 days
- Update lastInteraction = NOW
FOR each action:
POST audit event with full details
Output:
- Total approved: 5
- Scheduled send time: [user preference]
- Expected delivery: [time range]
- Tracking enabled: yes/no
User Input: "Run system audit"
Orchestrator Steps:
Verify:
- All organizations active
- All users have valid roles
- All contacts have valid status
- All emails properly linked
Query auditLogs (last 24h):
- Total actions: X
- Errors: X
- Error rate: X%
- Failed agents: [list]
Check:
- All indexes working
- No orphaned records
- Data consistency
- Storage usage
FOR each agent:
- Last run: [timestamp]
- Success rate: X%
- Avg processing time: Xms
- Last error: [if any]
Output:
ā
System Status: [HEALTHY|WARNING|CRITICAL]
Data Integrity: ā
- Organizations: X (active)
- Users: X
- Contacts: X
- Emails: X
Recent Performance (24h):
- Actions processed: X
- Success rate: X%
- Errors: X
Agent Status:
- email-agent: ā
(last run: Xh ago)
- content-agent: ā
(last run: Xh ago)
- orchestrator: ā
(self-check)
Recommendations:
1. [Action 1]
2. [Action 2]
The Orchestrator uses persistent memory to track state across runs:
Memory keys stored in aiMemory table:
orchestrator:workflow_state
- Current workflow ID
- Status (running, completed, error)
- Started at timestamp
- Expected duration
orchestrator:last_email_run
- Timestamp of last email agent run
- Emails processed count
- Errors encountered
orchestrator:last_content_run
- Timestamp of last content agent run
- Content generated count
- Content types distribution
orchestrator:pipeline_cache
- Contact scores after email run
- High-priority contacts identified
- Contacts needing followup
Level 1: Recoverable
Action: Log error, skip item, continue
Level 2: Significant
Action: Log error, retry with reduced batch, alert user
Level 3: Critical
Action: Log error, halt workflow, alert immediately
FOR each error:
POST audit mutation:
- action: "[agent]_error"
- status: "error"
- details: { error_message, stack_trace, context }
- errorMessage: [human readable]
User: "Run full workflow: process emails and generate content"
Orchestrator:
1. Execute email-agent
2. Wait for completion
3. Evaluate results
4. Execute content-agent
5. Generate report
6. Log completion
User: "What's the status of pending content?"
Orchestrator:
1. Query generatedContent (status="draft")
2. Count by contentType
3. List by contact aiScore
4. Report summary
User: "Run system audit"
Orchestrator:
1. Check all tables
2. Verify data integrity
3. Query recent audit logs
4. Check agent health
5. Generate report
User: "Approve all content for John and Lisa"
Orchestrator:
1. Find content for specified contacts
2. Validate readiness
3. Approve each draft
4. Update contact records
5. Generate audit trail
ā
Pipeline Execution Complete
Timeline:
- Start: [timestamp]
- Email processing: [duration]
- Content generation: [duration]
- Total runtime: [duration]
Results:
- Emails processed: X
- New contacts created: X
- Contacts updated: X
- Content generated: X
- Errors: X
By type:
- Followup emails: X
- Proposals: X
- Case studies: X
High-Priority Leads (>80 score):
1. John Smith (TechStartup) - proposal generated
2. Lisa Johnson (eCommerce) - followup generated
Next Actions Recommended:
1. Review and approve X pending content drafts
2. Schedule sends for X contacts
3. Track performance metrics for X campaigns
System Health: ā
All systems nominal
The Orchestrator coordinates with: