TribAPI Lab · Benchmarks RL environments and evals · Brazilian tax reform (LC 214/2025) · by TribAPI · Português
Results · sample pack

Benchmark results on Brazil's tax reform environments

As of Oct 23, 2026, one model has been run on the sample pack: Claude Opus 5.5, effort high, with a fisco index of 88.6% (the mean of its pass rates on the 8 families in the index). No other model has been run yet; the rows under it are reference anchors, not models. R1, N1, N2 and N3 have not been run by any model yet and are not in the index.

Fisco index · Claude Opus 5.588.6%96.7% mean score
Models run1
Model answers graded364
Ground truthAI-verified
Leaderboard

Fisco index

One row per model configuration that was actually run. The reference anchors under it are not models: they bracket the scale, from the answer key to doing nothing, with a simple script that uses no AI in between.

#RunIndex (pass rate)Index (mean score)FamiliesAnswersMedian latencyTokens in / outDates
1Claude Opus 5.5, effort high
with tools on F1T and F4T
88.6%96.7%8 / 831914.4 s1.48M / 837.8kOct 14, 2026 – Oct 23, 2026
—Claude Opus 5.5, effort high
no tools: F1T and F4T only (ablation)
—
no index: did not run every family
—2 / 8
F1T, F4T
4521.5 s30.3k / 115.1kOct 15, 2026 – Oct 22, 2026
Reference anchors (not ranked)
—Expected answers
the answer key, replayed: the ceiling
100%100%8 / 8199——Oct 20, 2026 – Oct 23, 2026
—Simple heuristic
a script, no AI: full taxation for most families (see Methodology)
15.8%38.1%8 / 8199——Oct 20, 2026 – Oct 23, 2026
—Abstain or do nothing
abstains, returns the input or reports nothing: the floor
2.5%2.5%8 / 8199——Oct 20, 2026 – Oct 23, 2026

Index = mean of the pass rates on the 8 families in the index (F1, F2, F3, F4, F1T, F4T, S1, I1), each family weighted equally; the mean-score index is the same mean over partial credit. Only a run that ran all of those families gets an index and a rank. R1, N1, N2 and N3 have not been run by any model yet and are not in the index. When a model runs one of them it joins the index, and from then on only runs that include it are ranked. Input tokens include cache reads and writes.

Breakdown

Pass rate by family

Bars are pass rates (every graded field right); whiskers are 95% intervals; the triangle marks what a simple script with no AI gets (for most families, assuming full taxation for everything). With samples this small the intervals are wide, so read differences of a few points as noise.

Claude Opus 5.5, effort high — with tools on F1T and F4TClaude Opus 5.5, effort high — no tools: F1T and F4T only (ablation)95% intervalSimple heuristic (no AI)
RunF1
Decision
F2
Invoice repair
F3
Batch audit
F4
NCM audit
F1T
Decision, with tools
F4T
NF-e audit, with tools
S1
EFD audit
I1
ICMS on goods
Claude Opus 5.5, effort high
with tools on F1T and F4T
90.0%
96.5% mean
95% CI 74–97%
n = 30
100%
100% mean
95% CI 72–100%
n = 10
90.0%
99.5% mean
95% CI 60–98%
n = 10
73.0%
89.6% mean
95% CI 61–85%
n = 100 answers
50 tasks × 2 runs
96.7%
96.7% mean
95% CI 83–99%
n = 30
93.3%
99.5% mean
95% CI 70–99%
n = 15
91.7%
98.5% mean
95% CI 74–98%
n = 24
74.0%
93.6% mean
95% CI 65–82%
n = 100
Claude Opus 5.5, effort high
no tools: F1T and F4T only (ablation)
————73.3%
82.2% mean
95% CI 56–86%
n = 30
46.7%
90.3% mean
95% CI 25–70%
n = 15
——
Reference anchors
Expected answers
the answer key, replayed: the ceiling
100%
100% mean
n = 30
100%
100% mean
n = 10
100%
100% mean
n = 10
100%
100% mean
n = 50
100%
100% mean
n = 30
100%
100% mean
n = 15
100%
100% mean
n = 24
100%
100% mean
n = 30
Simple heuristic
a script, no AI: full taxation for most families (see Methodology)
46.7%
57.3% mean
n = 30
30.0%
52.9% mean
n = 10
0%
40.1% mean
n = 10
0%
18.0% mean
n = 50
43.3%
54.7% mean
n = 30
0%
25.1% mean
n = 15
0%
23.7% mean
n = 24
6.7%
32.9% mean
n = 30
Abstain or do nothing
abstains, returns the input or reports nothing: the floor
6.7%
6.7% mean
n = 30
0%
0% mean
n = 10
0%
0% mean
n = 10
0%
0% mean
n = 50
3.3%
3.3% mean
n = 30
0%
0% mean
n = 15
0%
0% mean
n = 24
10.0%
10.0% mean
n = 30
Coming next

Families awaiting a model run

These families are in the sample pack, with their graders and reference anchors, but no model has been run on them yet. They are not in the index; when a model runs one of them, it joins the index and the leaderboard above.

FamilySample tasksExpected answersSimple heuristicAbstain or do nothingModels
R1 Federal withholding30100%
100% mean · n = 30
33.3%
68.8% mean · n = 30
0%
2.8% mean · n = 30
none yet
N1 Service decision30100%
100% mean · n = 30
36.7%
56.3% mean · n = 30
3.3%
3.3% mean · n = 30
none yet
N2 NFS-e repair10100%
100% mean · n = 10
50.0%
57.0% mean · n = 10
0%
0% mean · n = 10
none yet
N3 NFS-e batch audit10100%
100% mean · n = 10
0%
39.4% mean · n = 10
0%
0% mean · n = 10
none yet
Tool use

What the lookup tools are worth

F1T and F4T leave out of the prompt what the agent has to look up: the annex passages, the NCM descriptions and the cClassTrib table. The same tasks were run with the five offline lookup tools and without them.

FamilyWith toolsWithout toolsLiftCalls / taskn
F1T Decision, with tools
Claude Opus 5.5, effort high
96.7%
96.7% mean · 83–99%
73.3%
82.2% mean · 56–86%
+23.3 pts2.5 (max 4)30
F4T NF-e audit, with tools
Claude Opus 5.5, effort high
93.3%
99.5% mean · 70–99%
46.7%
90.3% mean · 25–70%
+46.7 pts11.2 (max 18)15
Run-to-run variance

How much a rerun moves

Where a family was run more than once on the same tasks, every run is shown and the leaderboard uses the pooled figure, with an interval that treats each task, not each answer, as the unit. A single run of a few dozen tasks can move by several points from one day to the next with nothing changed.

RunDateFamilyAnswersPass rateMean score
run-2026-10-14b-f4/Oct 14, 2026F4 · Claude Opus 5.55068.0%86.4%
run-2026-10-20-f4/Oct 20, 2026F4 · Claude Opus 5.55078.0%92.9%
PooledF4 · Claude Opus 5.510073.0%89.6%
spread across runs: 68.0% – 78.0% · 95% CI clustered by task: 61–85%
Where the misses are

Misses, checked against the law

Every miss of every model run is checked by hand against the law text and the official tables. The model's misses are mostly annex calls: água sanitária coded as sodium hypochlorite instead of the 3808.94.19 that Annex VIII names, refined soybean oil or yogurt placed in the wrong annex, suture needles given Annex III's health-services code instead of Annex IV's medical-devices code, chicken cuts given a neighbouring subheading. In the EFD audits it missed a line count and a code outside a field's list of valid values, and read ICMS CST 200 as a reduced-base CST on three correct lines. On ICMS (I1), CFOPs, rates and abstentions are right almost everywhere; the misses are the DIFAL base in some destination states. For Minas Gerais the answer key follows the state tax authority's own published worked examples. Without the tools, the misses are annex exceptions and conditions it does not recall.

Pass rate by task kind
FamilyTask kindClaude Opus 5.5 · with toolsClaude Opus 5.5 · no tools
F1annex80.0% (n = 10)—
F1annex_precedence83.3% (n = 6)—
F1future_rates100% (n = 2)—
F1pre_2026100% (n = 3)—
F1simples_2026100% (n = 1)—
F1standard100% (n = 2)—
F1standard_near_miss100% (n = 6)—
F2f2_build100% (n = 5)—
F2f2_repair100% (n = 5)—
F3f3_audit90.0% (n = 10)—
F4f4_consistent100% (n = 20)—
F4f4_wrong_ncm_same_treatment64.7% (n = 34)—
F4f4_wrong_ncm_treatment_changes67.4% (n = 46)—
F1Tf1t.v1:annex100% (n = 3)100% (n = 3)
F1Tf1t.v1:annex_condition100% (n = 7)57.1% (n = 7)
F1Tf1t.v1:annex_exception100% (n = 2)0% (n = 2)
F1Tf1t.v1:annex_precedence100% (n = 5)80.0% (n = 5)
F1Tf1t.v1:condition_fails100% (n = 3)66.7% (n = 3)
F1Tf1t.v1:future_rates100% (n = 1)100% (n = 1)
F1Tf1t.v1:simples_2026100% (n = 1)100% (n = 1)
F1Tf1t.v1:standard75.0% (n = 4)100% (n = 4)
F1Tf1t.v1:standard_near_miss100% (n = 4)75.0% (n = 4)
F4Tf4t.v1:batch93.3% (n = 15)46.7% (n = 15)
S1s1_audit86.7% (n = 15)—
S1s1_repair100% (n = 9)—
I1i1.v1:ci_composicao77.8% (n = 9)—
I1i1.v1:contribuinte_consumo100% (n = 2)—
I1i1.v1:destinatario_implicito64.3% (n = 14)—
I1i1.v1:devolucao_compra100% (n = 6)—
I1i1.v1:devolucao_venda_entrada100% (n = 8)—
I1i1.v1:fim_exportacao100% (n = 6)—
I1i1.v1:importado_ci_ausente100% (n = 7)—
I1i1.v1:importado_excecao100% (n = 6)—
I1i1.v1:industria_revenda100% (n = 4)—
I1i1.v1:nao_contribuinte30.8% (n = 13)—
I1i1.v1:nota_multi41.2% (n = 17)—
I1i1.v1:regra_es100% (n = 4)—
I1i1.v1:remessa100% (n = 4)—
Methodology

How the numbers are made

Families and the sample pack

Every run here is on the free sample pack, the same tasks a lab gets to evaluate. Tasks are in Portuguese, on Brazilian documents; parties and invoices are fictitious, products, codes and rules are real, and F4 and F4T lines are real product descriptions and declared codes from public federal-purchase NF-e data.

FamilyWhat it testsWhat the simple heuristic doesSample tasksModel answers graded
F1 DecisionThe IBS/CBS treatment of one sale: CST, cClassTrib, base, rates and amounts, including annex precedence, 2027 sales to abstain on and Simples Nacional.assumes full taxation: no annex, no reduction3030
F2 Invoice repairFill or fix the IBS/CBS group of a 1–3 item NF-e and return the whole XML; anything changed outside the group scores 0.assumes full taxation: no annex, no reduction1010
F3 Batch auditFind every wrong IBS/CBS field across a batch of 5–8 invoices.assumes full taxation: no annex, no reduction1010
F4 NCM auditCheck the product code declared on a real invoice line, give the right one and the cClassTrib each code leads to.trusts every declared product code and assumes full taxation50100
F1T Decision, with toolsF1-style decisions weighted to annex exceptions, precedence and conditions; the agent looks things up with five offline tools under a call budget.assumes full taxation: no annex, no reduction3060
F4T NF-e audit, with toolsBatches of 3–8 real invoice lines audited like F3, with the same tools and a per-line call budget.trusts every declared product code and assumes full taxation1530
S1 EFD auditAudit or repair a synthetic monthly SPED Fiscal file (EFD ICMS/IPI) against a sourced subset of the official validation rules: list every violated line and rule, or return the corrected file.checks only number and date formats, block counts and invoice totals2424
I1 ICMS on goodsThe state VAT on one goods movement: CFOP, interstate rate (including imported goods and their import content), interstate ICMS and the DIFAL owed to the destination state on sales to final consumers, under each state's sourced rules; abstain where a fact is missing.a naive clerk: one CFOP for every sale, the regional rate whatever the goods' origin, never a DIFAL30100
R1 Federal withholdingFederal withholding on a service invoice: whether IRRF, CSRF (PIS/Cofins/CSLL) and INSS apply, with base and amount, including minimums, Simples Nacional on either side and missing facts.the service's standard withholding rates on the gross amount, every fact ignored30—
N1 Service decisionThe IBS/CBS treatment of one service on the national NFS-e: operation indicator, place of incidence, CST and cClassTrib by NBS code (LC 214 Annexes II and III), base and amounts.assumes full taxation: no annex, no reduction30—
N2 NFS-e repairFill or fix the IBS/CBS group of a national NFS-e and return the whole XML, under F2's rules.assumes full taxation: no annex, no reduction10—
N3 NFS-e batch auditFind every wrong IBS/CBS field across a batch of NFS-e, under F3's rules.assumes full taxation: no annex, no reduction10—
Total279364

Grading

Index and intervals

Ground truth

Every task records the level its answer key rests on. In the sample pack, 267 of 279 tasks rest on our readings of the law (the NCM and NBS lists of the LC 214 annexes, the F4 product rules, each state's ICMS rules for I1, the R1 withholding rules and the EFD validation rules), which are machine-checked (level ai_verified): a reproducible check against the official texts and tables passes with zero errors, but sign-off by a Brazilian accountant is still pending. The other 12 rest on the official tables alone (verified).

AI-VERIFIED

Machine-checked, not yet signed by an accountant. Every task records the level it rests on, and packs can be restricted to accountant-verified tasks once the sign-off lands.

Runs and miss analyses

Every figure on this page is generated from the committed run files by the same code that writes the internal baseline report, and a test fails if the page and the run files disagree. Each run folder has a README that goes through every miss against the law; they ship with the sample pack on request. Dates are in Brasília time.

DateConfigurationFamiliesAnswersMiss analysis
Oct 14, 2026Claude Opus 5.5, effort highF450envs-data/baselines/run-2026-10-14b-f4/README.md
Oct 15, 2026Claude Opus 5.5, effort high, with toolsF4T15envs-data/baselines/run-v1-opus/README.md
Oct 15, 2026Claude Opus 5.5, effort high, no toolsF4T15envs-data/baselines/run-v1-opus/README.md
Oct 20, 2026Claude Opus 5.5, effort highF450envs-data/baselines/run-2026-10-20-f4/README.md
Oct 22, 2026Claude Opus 5.5, effort highF1, F2, F350envs-data/baselines/run-2026-10-22-iv-vi/README.md
Oct 22, 2026Claude Opus 5.5, effort high, with toolsF1T30envs-data/baselines/run-2026-10-22-iv-vi/README.md
Oct 22, 2026Claude Opus 5.5, effort high, no toolsF1T30envs-data/baselines/run-2026-10-22-iv-vi/README.md
Oct 22, 2026Claude Opus 5.5, effort highS124envs-data/baselines/s1/README.md
Oct 23, 2026Claude Opus 5.5, effort highI1100envs-data/baselines/run-i1v1-opus/README.md

Only models listed above have been run. Other frontier models are next; to have yours evaluated on the sample pack, write to us.