← Back to Benchmark Results

Error Handling & Safety

TryFunction, ErrorInfo, SecretText, permissions, and security attributes

Report generated: February 14, 2026 at 8:13 PM

Benchmark data: Feb 8, 2026 – Feb 13, 2026

12
Models
4
Tasks
66.7%
Pass Rate

Model Rankings

pass@1 pass@3 (additional)
Kimi K2.5 (t0.1)
75%
75.0%
Glm 5 (t0.1)
67%
8%
75.0%
Deepseek V3.2 (t0.1)
58%
17%
75.0%
Minimax M2.5 (t0.1)
42%
8%
50.0%

Model Performance

openrouter/moonshotai/kimi-k2.5

Runs:3
pass@1:75.0%
pass@3:75.0%
Consistency:100.0%
1st: 42nd: 5Failed: 13/4 passed
Temperature:0.1
Thinking:-
Tokens/run:18,937
Cost/run:$0.17

Known Shortcomings (3)

  • event-subscriber-parameter-syntax 1x
  • page-extension-cardpageid-override 1x
  • parse-failure 1x
View details ›

anthropic/claude-opus-4-6

Runs:3
pass@1:75.0%
pass@3:75.0%
Consistency:100.0%
1st: 9Failed: 13/4 passed
Temperature:0.1
Thinking:-
Tokens/run:5,431
Cost/run:$0.07

Known Shortcomings (6)

  • reserved-keyword-as-parameter-name 1x
  • cross-join-dataitem-link 1x
  • incomplete-procedure-body 1x
  • flowfield-calcfields-requirement 1x
  • parse-failure 1x
+1 more View all 6
View details ›

anthropic/claude-sonnet-4-5-20250929

Runs:3
pass@1:75.0%
pass@3:75.0%
Consistency:100.0%
1st: 62nd: 3Failed: 13/4 passed
Temperature:0.1
Thinking:-
Tokens/run:5,791
Cost/run:$0.04

Known Shortcomings (8)

  • multiline-string-literals 1x
  • query-filter-element-syntax 1x
  • jsonobject-get-method-signature 1x
  • cross-join-dataitem-link-constraints 1x
  • reserved-keyword-as-variable-name 1x
+3 more View all 8
View details ›

anthropic/claude-opus-4-5-20251101@thinking=50000

Runs:3
pass@1:75.0%
pass@3:75.0%
Consistency:100.0%
1st: 9Failed: 13/4 passed
Temperature:0.1
Thinking:50,000
Tokens/run:5,504
Cost/run:$0.08

Known Shortcomings (8)

  • page-extension-with-table-extension 1x
  • reserved-keyword-as-parameter-name 1x
  • dictionary-iteration-syntax 1x
  • empty-or-malformed-code-generation 1x
  • temporary-table-parameter-handling 1x
+3 more View all 8
View details ›

openai/gpt-5.2-2025-12-11@thinking=high

Runs:3
pass@1:75.0%
pass@3:75.0%
Consistency:100.0%
1st: 62nd: 3Failed: 13/4 passed
Temperature:0.1
Thinking:high
Tokens/run:4,766
Cost/run:$0.03

Known Shortcomings (10)

  • interface-definition-syntax 2x
  • table-field-caption-property 1x
  • query-object-syntax 1x
  • query-crossjoin-syntax 1x
  • parse-failure 1x
+5 more View all 10
View details ›

openrouter/z-ai/glm-5

Runs:3
pass@1:66.7%
pass@3:75.0%
Consistency:75.0%
1st: 32nd: 5Failed: 13/4 passed
Temperature:0.1
Thinking:-
Tokens/run:18,472
Cost/run:$0.13

Known Shortcomings (17)

  • list-dictionary-of-interface-clear-method 1x
  • event-subscriber-event-name 1x
  • al-string-literal-escaping 1x
  • query-object-syntax 1x
  • fluent-api-return-self-codeunit 1x
+12 more View all 17
View details ›

openrouter/x-ai/grok-code-fast-1

Runs:3
pass@1:66.7%
pass@3:75.0%
Consistency:75.0%
1st: 22nd: 6Failed: 13/4 passed
Temperature:0.1
Thinking:-
Tokens/run:15,925
Cost/run:$0.11

Known Shortcomings (12)

  • query-object-syntax 2x
  • multiline-string-literals 1x
  • page-extension-cardpageid-override 1x
  • json-api-methods 1x
  • recordref-fieldref-dynamic-manipulation 1x
+7 more View all 12
View details ›

openrouter/deepseek/deepseek-v3.2

Runs:3
pass@1:58.3%
pass@3:75.0%
Consistency:50.0%
1st: 42nd: 3Failed: 13/4 passed
Temperature:0.1
Thinking:-
Tokens/run:6,205
Cost/run:$0.04

Known Shortcomings (18)

  • dictionary-clear-method 1x
  • application-area-in-page-extension-field 1x
  • multiline-string-literals 1x
  • page-extension-cardpageid-override 1x
  • errorinfo-custom-dimensions-api 1x
+13 more View all 18
View details ›

openrouter/qwen/qwen3-max-thinking

Runs:3
pass@1:50.0%
pass@3:50.0%
Consistency:100.0%
1st: 32nd: 3Failed: 22/4 passed
Temperature:0.1
Thinking:-
Tokens/run:6,666
Cost/run:$0.04

Known Shortcomings (12)

  • option-field-optionmembers-required 2x
  • enum-frominteger-syntax 1x
  • list-iteration-pattern 1x
  • variant-type-argument-and-interface-definition 1x
  • json-object-api-methods 1x
+7 more View all 12
View details ›

openrouter/qwen/qwen3-coder-next

Runs:3
pass@1:50.0%
pass@3:50.0%
Consistency:100.0%
2nd: 6Failed: 22/4 passed
Temperature:0.1
Thinking:-
Tokens/run:8,200
Cost/run:$0.05

Known Shortcomings (19)

  • codeunit-generation-empty-output 5x
  • interface-definition-syntax 3x
  • query-object-syntax 2x
  • initvalue-vs-defaultvalue 1x
  • text-trim-method-unavailable 1x
+14 more View all 19
View details ›

gemini/gemini-3-pro-preview

Runs:3
pass@1:50.0%
pass@3:50.0%
Consistency:100.0%
1st: 52nd: 1Failed: 22/4 passed
Temperature:0.1
Thinking:-
Tokens/run:41,263
Cost/run:$0.05

Known Shortcomings (9)

  • multiline-string-literals 1x
  • inherent-permissions-syntax 1x
  • query-crossjoin-column-datasource 1x
  • complete-codeunit-generation 1x
  • yaml-parsing-string-manipulation 1x
+4 more View all 9
View details ›

openrouter/minimax/minimax-m2.5

Runs:3
pass@1:41.7%
pass@3:50.0%
Consistency:75.0%
1st: 22nd: 3Failed: 22/4 passed
Temperature:0.1
Thinking:-
Tokens/run:11,057
Cost/run:$0.08

Known Shortcomings (18)

  • interface-definition-syntax 2x
  • text-char-conversion-copystr 1x
  • page-object-definition 1x
  • event-subscriber-attribute-syntax 1x
  • page-extension-and-table-extension-generation 1x
+13 more View all 18
View details ›

Task Results Matrix

N/M = passed N of M runs (hover for details)

TaskDescriptionKimi K2.5Claude Opus 4.6Claude Sonnet 4.5Claude Opus 4.5 (50K)GPT-5.2Glm 5Grok Code Fast 1Deepseek V3.2Qwen3 Max ThinkingQwen3 Coder NextGemini 3 ProMinimax M2.5
CG-AL-H007Create a codeunit that demonstrates modern AL error handling with ErrorInfo.3/33/33/33/33/32/33/32/30/30/33/32/3
CG-AL-H008Create a codeunit demonstrating TryFunction pattern for safe execution.3/33/33/33/33/33/33/33/33/33/33/33/3
CG-AL-H016Create an AL codeunit named "CG Secure Storage" with ID 70016 that demonstrates SecretText handling:0/30/30/30/30/30/30/30/30/30/30/30/3
CG-AL-H019Create an AL codeunit named "CG Internal Service" with ID 70019 demonstrating security attributes:3/33/33/33/33/33/32/32/33/33/30/30/3