Each tier holds a posture toward the work. Strategic agents think and forecast. Revenue agents win. Delivery agents build. Operations agents keep the lights on. People & Capital agents move resources. Meta agents make all of it observable, accountable, and improvable. Tap any card to open its full mandate.
The eighteen workforce agents only know how to act on canonical events on the Kafka bus. The Sensory Tier sits above the workforce as the firm's nervous system — ten ingestion agents subscribed to every external channel that matters, normalising raw noise into clean schemas the workforce already understands. Below: every agent that listens, every source they listen to, and the consent envelope that governs the lot.
Sixty-plus external sources organised by normaliser. Each row maps source → capture mechanism → normalised topic emitted to the bus.
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| Gmail / Outlook | OAuth + Graph / Gmail webhooks | comms.email.received | |
| Slack | Events API subscription | comms.message.received | |
| Microsoft Teams | Graph change notifications | comms.message.received | |
| WhatsApp Business | WhatsApp Cloud API | comms.message.received | |
| SMS / iMessage | Twilio / Apple Business Chat | comms.message.received | |
| LinkedIn DMs | LinkedIn API / browser ext | comms.message.received | |
| Phone calls | Twilio / Dialpad / RingCentral | comms.call.completed | |
| Voicemail | Carrier transcription + parse | comms.voicemail.received |
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| SharePoint / OneDrive | Graph webhook subscriptions | doc.edited / doc.created | |
| Google Drive | Drive Activity API + push | doc.edited / doc.shared | |
| Notion / Confluence | API webhooks | wiki.updated | |
| Dropbox / Box | Webhooks | doc.edited / doc.shared | |
| DocuSign / PandaDoc | e-signature event hooks | contract.redlined / signed | |
| Doc comments & @-mentions | Platform native events | doc.commented |
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| Google / Outlook Calendar | Calendar API delta sync | meeting.scheduled | |
| Free-busy across team | Calendar free-busy queries | freebusy.gap.detected | |
| Zoom / Meet / Teams joins | Platform participant logs | meeting.started / ended | |
| Meeting transcripts | Otter / Fireflies / Granola | meeting.transcript.available | |
| No-shows | Calendar + participant cross-check | noshow.detected |
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| AWS Partner Network portal | APN APIs + email parse | aws.partner.update | |
| ACE lead pipeline | ACE API + CRM sync | aws.partner.lead | |
| AWS Marketplace | Marketplace metering API | aws.marketplace.activity | |
| Trusted Advisor (client accts) | Cross-account role + API | aws.findings.published | |
| Service Health Dashboard | SHD RSS / EventBridge | aws.health.event | |
| Security Hub / GuardDuty | EventBridge findings | aws.security.finding | |
| Cost Explorer / CUR | CUR S3 + Athena queries | aws.cost.anomaly | |
| Certification registry | Skill Builder API + parse | aws.cert.passed / expiring |
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| GitHub / GitLab / Bitbucket | Repo webhooks | code.commit / pr.opened | |
| CI/CD pipelines | GH Actions / GitLab CI / CodeBuild | build.completed | |
| Jira / Linear / Asana | Issue webhooks | issue.created / updated | |
| IaC drift (CFN / Terraform) | Scheduled drift detection | drift.detected | |
| Deployments | Deploy tooling webhooks | deploy.executed | |
| PR review requests | Repo webhook subset | pr.review.requested |
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| Stripe / payment processor | Stripe webhooks | payment.processed | |
| Banking | Plaid / direct bank webhooks | bank.transaction | |
| Bill.com / Ramp invoicing | Native webhooks | invoice.event | |
| Corporate cards (Brex / Ramp) | Transaction webhooks | card.transaction | |
| Expense submissions | Expensify / Ramp / Brex API | expense.submitted | |
| FX rates | OpenExchange / ECB feeds | fx.shift |
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| Website form submissions | Form webhook / serverless fn | web.form.submitted | |
| Google Analytics 4 | GA4 → BigQuery → poller | web.anomaly.detected | |
| Ad platform pacing | Google Ads / LinkedIn Ads API | ad.pacing.alert | |
| G2 / Capterra / Clutch | Platform APIs + scraping | review.received | |
| Glassdoor | Scraping / Glassdoor API | review.received | |
| Brand mention services | Mention.com / Brand24 / scraping | mention.detected | |
| Social platforms | X / LinkedIn / YouTube APIs | social.engagement |
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| News feeds | RSS / NewsAPI / GDELT | news.relevant | |
| SEC EDGAR filings | EDGAR RSS + parser | filing.material | |
| Job postings (watchlist accts) | LinkedIn / Indeed scraping | jobpost.intent | |
| Analyst reports | Gartner / Forrester subs | analyst.published | |
| M&A announcements | Crunchbase / PitchBook feeds | ma.announced | |
| Patent filings | USPTO + global patent feeds | patent.filed |
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| Phone GPS | On-device app + push | location.update | |
| Ambient audio | On-device capture + diarisation | audio.capture.indexed | |
| Voice memos | App dictation + transcription | voicememo.captured | |
| Browser / research activity | Browser extension (opt-in) | research.signal | |
| Wearable health (HR / HRV / sleep) | Apple Health / Garmin / Whoop API | health.metric | |
| Screen time / app usage | Screen Time API / RescueTime | focus.state |
| Source | Capture Method | Normalised Topic | Consent |
|---|---|---|---|
| Weather | NOAA / OpenWeather APIs | weather.alert | |
| Traffic & flights | Google Maps / FlightAware | travel.disruption | |
| SSO / IdP logs | Okta / Entra system log API | auth.event | |
| VPN sessions | VPN provider syslog | auth.event | |
| MDM device compliance | Jamf / Intune APIs | device.noncompliant | |
| Office badge events | Physical access system webhook | physical.access |
Four sensitivity tiers. The same agent treats a data point completely differently depending on which tier it sits in. Aegis enforces every boundary, every time.
Every meaningful thing that happens at DFX5 becomes an event on Kafka. Agents publish what they observe and subscribe to what they need to act on. The schema below shows the canonical streams, grouped by domain. Nothing is point-to-point; everything is broadcast.
| Topic | Payload Shape | Publisher | Subscribers |
|---|---|---|---|
| lead.captured | account, contact, source, intent_score, fit_score | Hermes | AugurMnemosyneAegis |
| lead.qualified | lead_id, qualification_notes, projected_value, recommended_owner | Hermes | ScribeAtlasLiaison |
| proposal.drafted | opportunity_id, sow_uri, architecture_refs, estimate, risk_flags | Scribe | VitruviusSentinelAurumLiaison |
| proposal.approved | opportunity_id, approver_id, terms, expected_close | Liaison | ScribeCadenceAnima |
| contract.signed | contract_id, value, term, start_date, billing_terms | Scribe | AurumCadenceAtlasStrategos |
| opportunity.lost | opportunity_id, reason_code, competitor, lessons | Atlas | AugurStrategosMnemosyne |
| account.health | account_id, score, trend, signals, recommended_actions | Atlas | ConcordiaStrategosLiaison |
| Topic | Payload Shape | Publisher | Subscribers |
|---|---|---|---|
| design.draft | opportunity_id, architecture_diagram, decisions, alternatives | Vitruvius | SentinelScribeLiaison |
| design.approved | design_id, approver, baseline, deviations | Sentinel | CadenceMnemosyne |
| project.initiated | project_id, contract_ref, team, milestones, budget | Cadence | AnimaAurumAtlas |
| milestone.completed | project_id, milestone_id, deliverables, evidence_uri | Cadence | SentinelAurumAtlas |
| project.risk.raised | project_id, risk_type, severity, owner, mitigation | Cadence | ConcordiaLiaisonStrategos |
| qa.review.completed | review_id, project_ref, pillar_scores, findings | Sentinel | MnemosyneAtlasAnima |
| deliverable.shipped | deliverable_id, project_ref, client_ack, billing_trigger | Cadence | AurumAtlas |
| Topic | Payload Shape | Publisher | Subscribers |
|---|---|---|---|
| ticket.opened | ticket_id, account, severity, category, summary | Lighthouse | AtlasMnemosyneCadence |
| ticket.resolved | ticket_id, resolution_path, time_to_resolve, ai_share | Lighthouse | SentinelAtlasStrategos |
| escalation.triggered | ticket_id, reason, urgency, recommended_humans | Lighthouse | LiaisonConcordia |
| csat.recorded | account, ticket_id, score, verbatim | Lighthouse | AtlasStrategosMnemosyne |
| nps.recorded | account, score, driver_tags, verbatim | Atlas | StrategosSentinelHermes |
| Topic | Payload Shape | Publisher | Subscribers |
|---|---|---|---|
| capacity.gap.detected | role, skills, urgency, projected_engagements | Cadence | AnimaStrategosAurum |
| candidate.applied | candidate_id, role, source, screening_score | Anima | LiaisonAegis |
| offer.extended | candidate_id, role, compensation, start_date | Anima | AurumLiaison |
| employee.onboarded | employee_id, role, manager, agent_pairings | Anima | AegisLedgerMnemosyne |
| skill.certified | employee_id, certification, issuer, expires | Anima | CadenceHermesStrategos |
| employee.exit | employee_id, last_day, knowledge_handoff_plan | Anima | AegisMnemosyneLedger |
| Topic | Payload Shape | Publisher | Subscribers |
|---|---|---|---|
| invoice.issued | invoice_id, account, amount, due_date, terms | Aurum | AtlasStrategos |
| payment.received | invoice_id, amount, method, days_outstanding | Aurum | AtlasStrategosMnemosyne |
| payment.overdue | invoice_id, days_late, dunning_step | Aurum | AtlasLiaison |
| margin.alert | project_id, planned_margin, actual_margin, delta | Aurum | CadenceStrategosLiaison |
| forecast.updated | period, revenue, cost, runway, confidence | Aurum | StrategosAnimaVendor |
| Topic | Payload Shape | Publisher | Subscribers |
|---|---|---|---|
| asset.provisioned | asset_id, type, owner, cost_center | Ledger | AegisAurum |
| license.expiring | license_id, vendor, expiry, renewal_recommendation | Ledger | VendorAurumLiaison |
| aws.cost.anomaly | account, service, baseline, observed, root_cause | Forge | AurumSentinelCadence |
| procurement.request | requester, item, justification, budget | Vendor | AurumLiaison |
| po.approved | po_id, vendor, amount, terms | Vendor | AurumLedger |
| security.incident | severity, scope, indicators, containment_status | Aegis | LiaisonConcordiaForge |
| Topic | Payload Shape | Publisher | Subscribers |
|---|---|---|---|
| market.signal.detected | signal_type, source, confidence, implication | Augur | StrategosHermesScribe |
| aws.release.observed | service, change_type, summary, opportunity_score | Augur | VitruviusHermesAnima |
| okr.progress.updated | okr_id, target, current, trajectory, owner | Strategos | ConcordiaLiaison |
| strategy.checkpoint | period, kpi_snapshot, recommended_pivots | Strategos | LiaisonConcordiaAurum |
| Topic | Payload Shape | Publisher | Subscribers |
|---|---|---|---|
| audit.event | actor_id, action, target, outcome, hash | Aegis | Mnemosyne |
| access.granted | actor_id, scope, granted_by, expires | Aegis | MnemosyneConcordia |
| knowledge.indexed | doc_uri, type, source_agent, embeddings_ref | Mnemosyne | all agents (read) |
| memory.queried | asker_id, query, returned_docs, latency | Mnemosyne | Aegis |
| human.review.requested | context_pack, requester, urgency, channel | Liaison | humans (Slack/email/mobile) |
| human.decided | request_id, decision, reasoning, decider | Liaison | original requester + Mnemosyne |
| conflict.detected | agents_in_conflict, contested_resource, options | Concordia | Liaison |
| agent.spawned | agent_id, mandate, parent, sunset_condition | Aegis | ConcordiaMnemosyne |
No agent calls another directly. They publish onto a domain stream; subscribers react. Concordia routes when intents conflict, Liaison reaches out when humans are needed, and Aegis records everything. This is what the network looks like when you flatten it.
Here is one complete revenue motion. Seven steps, every event published, every actor named. This is what the workforce sounds like when it plays in time.
An agent workforce is not just an automation layer; it is a learning organism. These four loops are where execution converts into compounding advantage. Each loop has a cadence, an owner agent, and a measurable signal.
Every opportunity outcome flows back to Augur and Strategos. The ICP, qualification rubric, proposal language, and pricing posture all rebase on each new data point. Hermes runs the next outbound with a sharper edge.
Sentinel's quality reviews surface specific competency gaps. Anima routes those into targeted training, certifications, or pairing assignments. The next engagement starts a notch better staffed than the last.
Every project's actual vs planned margin is decomposed into root causes — scope, staffing, AWS spend, scope creep. Scribe's estimating model rebases. Tomorrow's SOW is more honest, today's mid-flight project gets steered.
Every CSAT score and NPS verbatim is tagged to a driver — speed, expertise, communication, value. Strategos reads aggregate drift; service offerings, pricing, and delivery rituals evolve. Atlas spots expansion signal early.
An agent workforce does not replace humans; it replaces process overhead so humans can do the things only humans should. These four anchor points are where Damian and the team plug into the symphony.
Sets vision, owns the firm's bets, calls the pivots. Reads Strategos's weekly digest. Approves any sunset or expansion of an agent mandate.
Final approver on proposals, architectures, and staffing for active engagements. Liaison routes the decision packs here with full context.
Carries the human side of every client account. Atlas surfaces signals, but the trust-building, executive conversations, and recovery work stays human.
The actual AWS architects and consultants. Vitruvius and Cadence handle scaffolding and coordination so the humans focus on the difficult, novel parts.