Finance Agent Reliability Benchmark for Cohere Command A+
A pre-registered design for testing financial correctness, artifact integrity, provenance, reliability, and review burden—before any result is known.
Protocol status: design draft / pre-registration. No benchmark runs, scores, latency measurements, cost measurements, or comparative results are reported in this article.
Why publish the protocol before the result?
A benchmark is most useful when its scoring rules are fixed before anyone sees the outcome. Publishing the protocol first makes it harder to select only favorable tasks, change a validator after a failure, or confuse a product demonstration with a controlled comparison.
This design asks a narrow question: how should a finance agent built with Cohere Command A+ be evaluated when the output is a working spreadsheet or presentation rather than a paragraph of text?
The intended output is a reproducible evaluation package, not a claim that one model or harness is already better.
Claims and non-claims
This protocol defines:
- the target task set;
- the baseline and orchestrated system configurations;
- the artifacts that each run must retain;
- deterministic and review-based checks;
- the failure taxonomy; and
- the reporting template.
This protocol does not claim:
- that the task set has been completed;
- that Command A+ has already been run on these tasks;
- that Krappa improves any score;
- that any model outperforms another product;
- that latency or cost has been measured; or
- that the test set represents every finance workflow.
All result fields remain explicitly marked not run until a reproducible release exists.
Research question
Can an agent complete bounded finance-artifact tasks while preserving financial correctness, document integrity, provenance, and reviewability?
The benchmark is designed to distinguish model capability from harness quality. It therefore compares the same versioned model under two configurations:
- Direct baseline: one model session with the minimum documented tools and prompt required to attempt the task.
- Orchestrated system: the same model endpoint inside a staged workflow with planning, specialized tools, deterministic validation, trace capture, and bounded retries.
The model identifier, API version, prompts, tool schemas, sampling parameters, retry policy, and validator commit must be frozen in the release manifest.
Planned task set
The target is 30 sanitized tasks: large enough to expose recurring failures while still allowing every artifact to be manually reviewed. Thirty is a protocol target, not a completed dataset count.
| Task family | Planned tasks | Example scope |
|---|---|---|
| Spreadsheet inspection | 5 | map sheets, formulas, assumptions, and broken links |
| Formula and schedule work | 7 | debt roll-forward, working capital, and supporting schedules |
| Reconciliation | 5 | connect summaries to schedules and identify mismatches |
| Valuation workflows | 5 | DCF, comparable-company, and sensitivity-table updates |
| Presentation work | 4 | populate a governed template and preserve layout rules |
| Cross-artifact workflows | 4 | carry reviewed analysis from workbook to presentation |
Each task must include:
- a sanitized input artifact;
- a precise objective;
- permitted tools;
- prohibited shortcuts;
- deterministic checks where possible;
- a human-review rubric;
- a maximum execution budget; and
- a disclosure of any synthetic data.
Task inclusion rules
A task may enter the test set only when:
- it can be shared without customer, employer, or personal information;
- a reviewer can determine whether the requested change was completed;
- at least one meaningful failure mode is observable;
- the input does not favor a proprietary internal convention; and
- the expected artifact is not embedded in the prompt.
Tasks used while developing prompts or validators belong to a development set. They cannot later be counted as held-out test tasks.
Evaluation dimensions
Task completion
Did the resulting artifact satisfy every explicit requirement? Partial completion must be recorded separately from a full pass.
Financial correctness
Do accounting identities, roll-forwards, valuation logic, signs, units, and period conventions remain correct?
Artifact integrity
Are formulas, references, named ranges, sheet structures, slide layouts, and editable objects preserved where required?
Provenance
Can each material output be connected to a supplied source, calculation, or tool action?
Reliability
Does the workflow complete consistently across repeated runs under the frozen configuration? The number of repetitions must be declared before execution.
Review burden
How many material issues require human correction, and at what severity? A full pass should not hide costly manual cleanup.
Efficiency
Wall-clock latency, model tokens, tool calls, retries, and estimated API cost should be captured, but they must not be reported until the measurement code and pricing assumptions are released.
Deterministic validators
Deterministic checks should carry the decision whenever correctness is computable. Planned validator families include:
- balance-sheet and cash-flow identities;
- schedule-to-summary reconciliation;
- formula-presence and formula-pattern checks;
- reference and range integrity;
- required sheet, section, or slide existence;
- unit, sign, and period consistency;
- editable-object and template-preservation checks; and
- unexpected-change detection outside the permitted region.
A validator must return a machine-readable result with an identifier, version, severity, observed value, expected condition, and affected artifact location.
Model-based grading may help assess clarity or presentation quality, but it must not override a failed deterministic financial check.
Failure taxonomy
Every failed or partial run should receive one primary category and any applicable secondary categories:
| Category | Definition |
|---|---|
| Planning | The task was decomposed incorrectly or a required dependency was omitted |
| Routing | The wrong tool, skill, or execution path was selected |
| Tool execution | A valid plan produced an invalid or unintended action |
| Financial logic | Accounting, valuation, or modeling logic was incorrect |
| Reconciliation | Related values or artifacts did not agree |
| Artifact integrity | Formula, reference, structure, editability, or layout was damaged |
| Provenance | A material output could not be traced to a source or calculation |
| Recovery | The system failed to detect, retry, escalate, or stop safely |
| Evaluation | A validator or rubric produced an invalid assessment |
The public report should include examples of important failures, not only aggregate pass rates.
Required trace
Every run should retain a sanitized trace with:
run manifest
task id
system configuration
model and API version
prompt and tool-schema hashes
validator commit
execution trace
plan revisions
tool calls and structured outputs
file mutations
retry and stop decisions
evaluation record
deterministic checks
human-review rubric
failure categories
final disposition
Secrets, personal data, and proprietary document content must be removed before publication. A redacted trace should never be represented as complete if the omitted context affects interpretation.
Run procedure
- Freeze the task set and publish its hashes.
- Freeze both system configurations.
- Run a small infrastructure check that cannot enter the scored set.
- Execute the held-out tasks under identical budgets.
- Store artifacts and traces before reviewing aggregate results.
- Run versioned deterministic validators.
- Have a reviewer assess the anonymized outputs using the frozen rubric.
- Assign failure categories without changing the original run record.
- Publish all exclusions, crashes, and missing measurements.
- Release the report only with enough artifacts for another person to reproduce the calculation.
Empty reporting template
The table below is intentionally empty of results.
| Metric | Direct baseline | Orchestrated system |
|---|---|---|
| Tasks attempted | Not run | Not run |
| Full task pass rate | Not run | Not run |
| Deterministic validator pass rate | Not run | Not run |
| Runs requiring material correction | Not run | Not run |
| Median latency | Not measured | Not measured |
| Median estimated cost | Not measured | Not measured |
| Median tool calls | Not measured | Not measured |
| Unrecovered failures | Not run | Not run |
Any future result must include denominators and uncertainty. A percentage without the underlying task and run counts is insufficient.
Reproducibility package
A credible release should include:
- sanitized task inputs;
- task definitions and split manifest;
- prompts and tool schemas;
- system configuration and dependency versions;
- deterministic validator code;
- run-level traces;
- resulting artifacts;
- reviewer rubric and adjudication notes;
- analysis code; and
- a concise model card describing limitations.
If part of the system must remain private, the report should identify that boundary and narrow its claims accordingly.
Known limitations
Thirty tasks cannot establish universal finance capability. Spreadsheet and presentation quality also contain legitimate judgment calls. API behavior, tool implementations, and pricing change over time. Results from one model version or one harness should not be generalized to another.
The benchmark is therefore intended as a transparent engineering case study: a way to expose failure modes, improve reliability, and make future claims inspectable.
Release checklist
- Sanitize and license the task inputs
- Implement and version the validators
- Freeze the direct and orchestrated configurations
- Publish the task manifest before scored runs
- Execute the held-out suite
- Review and categorize every failure
- Release traces, artifacts, and analysis code
- Replace every “Not run” field only with reproducible measurements
Until those items are complete, this page remains a protocol—not a benchmark result.
Published by Rayane Oubelkas