# Agents

The five Datapace agents (FinOps, Performance, Quality, Migration, Documentation), what each proposes on the graph, what a proposal contains, who approves.

## Five agents, one graph

Datapace's agents work on the confirmed [graph](/docs/concepts/the-graph). Each one owns a workstream, reads the evidence the graph holds for it, and drafts proposals. None of them executes anything.

| Agent | What it proposes | The evidence it reads |
| --- | --- | --- |
| **FinOps** | Right-sizing, idle databases, storage growth, upgrades priced as risk | Instance class, cost, usage, freshness |
| **Performance** | Index and rewrite work for slow queries, overdue engine upgrades, regressions tied to the change that caused them | Workload signals, plan shapes, engine versions |
| **Quality** | Checks on the confirmed definitions, drift between the schema and the graph | Semantics, constraints, sample structures |
| **Migration** | Field-level mappings from a source system into a target model, with findings before load | The source graph, the target model, lineage |
| **Documentation** | Updates to the confirmed graph as the estate changes | New objects, changed workloads, re-flagged columns |

## What a proposal contains

A proposal is a change with its case attached. Whoever reviews it should not need to open another tool. An illustrative proposal from the FinOps agent:

```yaml
proposal: PR-0418
agent: FinOps
change: resize analytics-replica from db.r6g.2xlarge to db.r6g.xlarge
affects:
  - database: analytics-replica      # Postgres, reporting
evidence:
  - cpu p95 over 30 days: 11%
  - connections p95: 14 of 400
  - largest query, monthly close, runs on the primary
  - last schema change: 2024-11
risk: low                            # a replica; reversible in one step
status: awaiting approval
approver: platform team
```

The values are illustrative. The shape is the rule: what changes, what it affects, the evidence, the risk as the agent reads it, and where the proposal is in the approval flow.

## Agents propose, people approve

A proposal waits for a person. Your team reviews it, approves it, rejects it, or asks for more. Approval is recorded with who gave it, and the outcome is recorded when the change lands. See [policy, approval, and audit](/docs/concepts/policy-approval-audit) and [reviewing a proposal](/docs/guides/reviewing-a-proposal).

The same rule holds for the Documentation agent: an update to the confirmed graph is a proposal like any other, and it enters the graph only once an expert accepts it.

## Your model, our context

Datapace is the graph and the gate, never the model. The agents run on the language model your team chooses; the graph is what makes their proposals specific to your estate rather than generic advice. Bringing a different model changes nothing about the graph, the evidence, or the approval flow.
