The infrastructure forlong-horizon vertical agents.

Give every customer an agent co-worker that learns on the job and stays on it for weeks at a time. You own the recipe; we run everything else.

M

Hey there, Roland

Here's a quick look at your managed agents.

Conversations
284
Tokens
428.5k
Deployments
2
Active experimentsView all
Document chase v2lending-agent
50%
Baselinemain
72%pass rate31%P(best)
PR #84tighter-follow-ups
81%pass rate69%P(best)
RuntimesView all
lending-agent
42 conversations today · 1 running · 2% failed

Every vertical will have its Harvey.We build the infrastructure that creates them.

The model is interchangeable. Your definition of good is not.

Agent recipes

The open format for vertical agents, built on Pi: agents, skills, policies, and evals in plain source you own in Git, on any runtime.

Customer runtimes

A governed agent for each customer: isolated sandboxes, scoped identities, credentials injected at the edge.

Improvement loops

Production evidence reveals what to improve. Your AI FDE agent diagnoses the right layer and ships focused changes as PRs you review.

An agent recipe is a directory.

An agent is only as good as the standard you hold it to. A recipe keeps that standard in the directory that does the work, in plain source you and your agents can both edit, so it sharpens every time you learn something.

Go to Recipes

From rate quote to application submitted: guide borrowers through the application, chase missing documents, verify income, and hand off to an underwriter with a complete file.

Royalties are self-reported, and most statements are never checked. Ingest statements, recompute every line against the contract, tie out to payments, and draft the claim letter.

From inbound referral to verified result: call the clinic, wait on hold, chase the prior authorization, collect the records, and close the loop with patient and provider.

Consumer Lending

From rate quote to application submitted: guide borrowers through the application, chase missing documents, verify income, and hand off to an underwriter with a complete file.

.introspection
lending-agent.yaml
.pi
mcp.local.example.json
agents
agent.yamlM
document-chase.yaml
income-verify.yaml
underwriter-handoff.yaml
skills
borrower-onboarding
adverse-action-policy
judges
rate_sheet_compliance.yaml
handoff_completeness.yaml
evals
self-employed-borrower.yaml
stalled-documents.yaml
SYSTEM.md
package.json
1name: agent
2description: Lending co-worker, rate quote to submitted application.
3model:
4 name: anthropic/claude-sonnet-4-6
5 thinking_level: medium
6tools:
7 - read
8 - bash
9mcp:
10 encompass:
11 include: ["*"]
12 plaid:
13 include: ["*"]
14 twilio:
15 include: ["*"]
16 docusign:
17 include: ["*"]
18subagents:
19 - document-chase
20 - income-verify
21 - underwriter-handoff
22skills:
23 - borrower-onboarding
24 - adverse-action-policy
25system_instructions:
26 mode: append
27 content: |
28 # Role: Loan application co-worker
29 Quote the rate, open the application, chase
30 missing documents over SMS and email for as
31 long as it takes, and hand off to an
32 underwriter with a complete file. Never quote
33 terms outside the rate sheet.
Royalty Audit

Royalties are self-reported, and most statements are never checked. Ingest statements, recompute every line against the contract, tie out to payments, and draft the claim letter.

.introspection
royalty-audit-agent.yaml
.pi
mcp.local.example.json
agents
agent.yamlM
statement-parser.yaml
contract-terms.yaml
claim-drafter.yaml
skills
royalty-recalculation
audit-workpapers
judges
underpayment_precision.yaml
workpaper_tieout.yaml
evals
underreported-streams.yaml
clean-statement.yaml
SYSTEM.md
package.json
1name: agent
2description: Royalty audit co-worker, statements in, claims out.
3model:
4 name: anthropic/claude-opus-4-8
5 thinking_level: high
6tools:
7 - read
8 - bash
9 - write
10mcp:
11 sharepoint:
12 include: ["*"]
13 contracts:
14 include: ["*"]
15 netsuite:
16 include: ["*"]
17subagents:
18 - statement-parser
19 - contract-terms
20 - claim-drafter
21skills:
22 - royalty-recalculation
23 - audit-workpapers
24system_instructions:
25 mode: append
26 content: |
27 # Role: Royalty auditor
28 Parse each self-reported statement, recompute
29 every line against the executed contract, tie
30 out to payments received, and draft claims
31 only where the workpapers prove the shortfall.
Care Coordination

From inbound referral to verified result: call the clinic, wait on hold, chase the prior authorization, collect the records, and close the loop with patient and provider.

.introspection
care-coordination-agent.yaml
.pi
mcp.local.example.json
agents
agent.yamlM
prior-auth.yaml
records-chase.yaml
patient-updates.yaml
extensions
voice-bridge.ts
skills
payer-playbooks
phi-handling
judges
phi_redaction.yaml
loop_closure.yaml
evals
expired-authorization.yaml
unreachable-clinic.yaml
SYSTEM.md
package.json
1name: agent
2description: Care coordination co-worker, referrals to verified results.
3model:
4 name: openai/gpt-5.5
5 thinking_level: medium
6tools:
7 - bash
8 - update_plan
9mcp:
10 voice:
11 include: ["*"]
12 availity:
13 include: ["*"]
14 epic:
15 include: ["*"]
16 twilio:
17 include: ["*"]
18subagents:
19 - prior-auth
20 - records-chase
21 - patient-updates
22skills:
23 - payer-playbooks
24 - phi-handling
25system_instructions:
26 mode: append
27 content: |
28 # Role: Care coordinator
29 Work each referral to a verified result: call
30 the clinic, hold as long as it takes, confirm
31 the prior authorization, and keep patient and
32 provider informed until the loop is closed.

One recipe. A runtime for every customer.

Customers create agent identities in your product the way they invite teammates: as users and groups, one or many, each with its own connections, conversations, files, and memory.

application.tsx
1import { IntrospectionApiClient } from "@introspection-sdk/introspection-browser/api";
3// Your backend brokers an identity-bound session for this customer.
4const { token, runtime, dpUrl } = await fetch("/api/agent-session").then(r => r.json());
5const pi = new IntrospectionApiClient({
6 dpUrl,
7 auth: { kind: "access_token", runtime, getToken: () => token },
8});
9await pi.connect();
11// Start the agent and render its live event stream.
12const run = await pi.tasks.start({ prompt: "Where’s my appraisal?" });
13for await (const event of run.stream()) render(event);
15// Read durable state scoped to the same customer identity.
16const files = await pi.files.list();
17const conversations = await pi.conversations.list();
Customer identity

Let agents act for the signed-in customer, with conversations, files, and tools scoped to that identity.

Customer-connected tools

Let customers connect their own systems while credentials remain outside the agent sandbox.

Durable execution

Start long-running work, disconnect, and reconnect without losing progress or state.

Conversation state

Fetch and render complete customer conversations inside your product.

Files & memory

Persist customer-scoped files and memory across tasks and sessions.

Share & fork

Share conversations through revocable grants, then fork their full history into new tasks.

Run the AI FDE loop.

Introspection is agent-native. Our CLI and plugin turn Codex and Claude Code into AI FDE agents that work alongside your domain experts—building judges and evals, learning from production, and shipping improvements as PRs you review.

judges/rate_sheet_compliance.yaml
1judge: rate_sheet_compliance
2description: >
3 Over the whole conversation, did the agent
4 quote only terms from the published
5 rate sheet?
6model:
7 name: "anthropic/claude-sonnet-4-6"
8 temperature: 0
9instructions: |
10 Read the full trajectory. Every rate, fee,
11 or term the agent quoted must match the
12 rate sheet in effect at quote time. Fail on
13 any invented or stale number, even when the
14 borrower pushed for one. Skip when no terms
15 were quoted.
baseline@a1b2c3
candidate@e7f8a9
candidate@d4e5f6▲ +9.2pt
Conversations reveal patterns

Recurring behavior surfaces from real conversations, ranked by how often it costs you.

Patterns become judges

Turn approved quality boundaries into judges that measure every release.

Experiments prove changes

Compare candidate recipes on representative and production evidence.

Improvements compound

Better recipes, judges, and regression coverage: your definition of good, becoming the moat.

Meet every deployment requirement.
Operate from one platform.

Deploy in our cloud, your cloud, or your customer's enterprise environment with the same identity, security, and operational controls.

Flexible data planes

Run on our managed cloud or use a dedicated data plane in your own cloud when residency, isolation, or control requirements demand it.

Isolated execution

Every task executes in a hardened, disposable sandbox with controlled network and tool access, then preserves only its durable state and artifacts.

Secrets are never exposed

Agents reach only the hosts you allow, and credentials are injected at the edge, so your keys never enter the sandbox.

Scoped access & roles

Tie every agent, key, and action to your identity provider, gated by scoped role-based access.

Built-in observability

Every run is traced end-to-end (turns, tool calls, tokens, and cost), streamed to your own stack and pinned to the exact commit that ran.

Managed models or BYOK

Start on managed keys, or bring your own provider accounts: your spend, under your own data agreements.

Own your agent intelligence.
Compound it in production.