10 free hours of engineering. · 1-hour scoping call up front — we'll start this week.Claim hours →
The agent loop

Think → tool → think. Streamed.

The executor runs a tight, observable loop. Tokens stream to the UI over SSE the moment they're produced. Every tool call is logged. The user sees the work as it happens.

01 · prompt
Skill Assembly
System + user + module skills
rolestenant ctxmemory
02 · model
Provider Call
Claude primary, failover ladder
streamingJSON tool schema
03 · tool
Tool Dispatch
@platform_tool or bridge
RBACaudit
04 · think
Reflect
Re-enter the loop
max-iterbudget
05 · stream
SSE to UI
Tokens + tool events
resumable
Provider failover

One ladder, four providers, zero scrambling.

Claude Sonnet is primary because it follows tool schemas the most reliably. When it 429s, slows, or returns an unparsable response, the next provider takes over — transparently, mid-conversation.

ProviderRoleStrengthUsed when
claude-sonnet-4.5PrimaryTool-use, long context, judgmentAlways, first.
gpt-5FailoverWide knowledge, structured outputClaude unavailable / rate-limited.
gemini-2.5-proFailoverMultimodal, long doc summarizationImage / PDF tasks.
grok-4FailoverCode-heavy reasoningLast resort.
Skills & memory

Modules teach the agent.

Skills are reusable prompts

A skill is a named bundle of system instructions, few-shot examples, and a tool whitelist. Modules register skills; the executor pulls them in when relevant.

# agent.yaml in your module
skills:
  - name: pm.health_briefing
    description: Daily PC fleet health summary
    tools: [pm.machines.list, pm.alerts.recent]
    prompt_file: skills/health_briefing.md

Memory is pgvector + a summarizer

Per-tenant, per-session, per-user. A background summarizer compacts old turns; embeddings sit in the tenant DB. Recall is scoped — an agent never sees memory from another tenant.

await ctx.memory.write("user.preferences", { "shift": "nights" })
prefs = await ctx.memory.recall("shift schedules", k=3)
# tenant-scoped. session-scoped. user-scoped.
Live in the admin console

One registry. Every agent in the tenant.

Every agent in the platform — CRM, Project, PC Control, Browser, 3D Viewer — lives in one registry. Open one to inspect its config, prompt, tools, skills, tenants, and history. Every change is audited.

admin.datavisions.ai · Agents / Agent Registry
DataVisions Agent Registry showing five active agents with the PC Control Agent drawer open on the Skills tab
Tool Registry
Tool Registry
119 tools · 13 groups
Model Registry
Model Registry
15 models · 5 providers
Skill Registry
Skill Registry
SKILL.md packages · every module