Agents
Eight agents work this module — mapping, drafting, checking, tagging and reviewing. Every figure they quote must already exist in the engine's output, and the numeric guardrail below is the mechanism that enforces it.
The roster and its boundaries
What each agent does, what it cannot do, and the code that makes that true
| Agent | Does | Never does | Bounded by | Calls |
|---|---|---|---|---|
claude-sonnet-5 (replayed) | Proposes the financial statement line each trial balance account belongs on, with a confidence, an alternative and the framework reasoning for the choice. | Applies a mapping. Until a named preparer confirms every account, the engine refuses to compose a statement at all. | engine-inputs.ts — buildEngineInputs() throws while any mapping is unconfirmed | 1 0 ms |
claude-sonnet-5 | Drafts note narrative around engine-consolidated schedules and flags where the source data is insufficient. | Alters a figure in a note table. The table is passed through untouched and every number in the prose is matched against the figure registry. | engine/notes.ts computes the table; agents/registry.ts checks the prose | 0 0 ms |
claude-sonnet-5 | Executes the SFRS(I), Companies Act and ACRA checklist and writes the finding for each item. | Marks a tie-out item passed without an engine computation id backing it. | engine/notes.ts tie-outs supply every tie_out result | 0 0 ms |
claude-sonnet-5 | Writes the reviewer-facing narrative for each finding and triages severity against materiality. | Suppresses a difference. Findings arrive as its input, not its output. | engine/validate.ts computes every difference before the agent is called | 0 0 ms |
claude-haiku-4-5 | Proposes an ACRA taxonomy element per statement line with a confidence and a rationale. | Finalises or files a tag. Only confirmed elements reach the exported manifest. | api/xbrl-manifest exports the confirmed set only | 0 0 ms |
claude-sonnet-5 | Drafts management commentary from engine-computed year-on-year deltas. | Invents a driver the data does not support, or quotes a figure the engine did not produce. | agents/registry.ts — an unmatched figure blocks the reviewer gate | 0 0 ms |
claude-opus-5 | Reviews the derived statement of cash flows and states plainly what the unpresented residual consists of. | Derives or reclassifies a cash flow. The statement is an identity over trial balance movements before the agent sees it. | engine/cashflow.ts — the residual is computed, and disclosed on its own line | 0 0 ms |
claude-sonnet-5 | Checks that every current year line carries a comparative on the same basis and calls out presentation changes that need restating. | Restates a comparative. It reports what the two trial balances support. | engine/compose.ts composes both years through one confirmed mapping | 0 0 ms |
Workhorse
The default. Structured proposals with a rationale.
claude-sonnet-5High-volume classification
Repetitive, low-judgement classification at volume.
claude-haiku-4-5Deep reasoning
Judgement-heavy work where the cost of a wrong call is high.
claude-opus-5Numeric guardrail
Available once the presentation mapping gate has cleared
The registry is built from the engine’s output, and the engine will not compose a statement while a presentation mapping is still pending review. Confirm the outstanding mappings at the gate and the guardrail evidence appears here.
What each agent did this run
Newest last, straight from the audit trail
- #15A1 Presentation Mapping Agent9:35:52 amProposed a presentation line for 30 trial balance accounts
claude-sonnet-5 (replayed)0 ms