Runs / transactions Batch Runs from different design-system versions should not be compared.
The page A screenshot in each theme, as the benchmark took it.
page.tsx As the agent left it; marked lines broke a rule.
Violations 2 counted, under 2 rules. “Not counted” marks a compiler error that restates a design-system violation, “Ignored” one the agent silenced with a comment.
Steps One row per model call, with the tools it asked for. An agent that reads the guidelines before writing shows it here; what a checker or submit_view answered is under its call.
Step Tools Tokens in Tokens out Cost 0 get_guidelines, list_components, list_files 138 78 $0.0000 1 read_file 5,000 33 $0.0000 2 get_component, get_component, get_component, get_component, get_component, get_component, get_component, get_component, get_component, get_component 2,075 218 $0.0000
Output cap The provider's default 4 import data from "./fixture.json";
5 import {
6 Badge,
7 FormatDate,
8 FormatNumber,
9 Heading,
10 LocaleProvider,
11 Pagination,
12 SegmentGroup,
13 Stack,
14 Table,
15 TableBody,
16 TableCell,
17 TableHead,
18 TableHeader,
19 TableRow,
20 Text,
21 } from "@vektos/ds";
22
23 type View = "all" | "in" | "out";
24
25 const VIEW_OPTIONS = [
26 { label: "All", value: "all" },
27 { label: "Money in", value: "in" },
28 { label: "Money out", value: "out" },
29 ];
30
31 export default function Page() {
32 const [view, setView] = useState<View>("all");
33 const [page, setPage] = useState(1);
34
35 const transactions = useMemo(() => {
36 const sorted = [...data.transactions].sort((a, b) =>
37 a.date < b.date ? 1 : a.date > b.date ? -1 : 0,
38 );
39 if (view === "in") return sorted.filter((tx) => tx.amount > 0);
40 if (view === "out") return sorted.filter((tx) => tx.amount < 0);
41 return sorted;
42 }, [view]);
43
44 const pageSize = data.pageSize;
45 const pageCount = Math.max(1, Math.ceil(transactions.length / pageSize));
46 const currentPage = Math.min(page, pageCount);
47 const pageItems = transactions.slice(
48 (currentPage - 1) * pageSize,
49 currentPage * pageSize,
50 );
51
52 return (
53 <LocaleProvider locale="it-IT">
54 <Stack gap="6">
55 <Stack gap="1">
56 <Heading level={1}>Transactions</Heading>
57 <Text tone="muted" size="sm">
58 {data.account.name} · {data.account.holder}
59 </Text>
60 </Stack>
61
62 <SegmentGroup
63 aria-label="Transaction view"
64 value={view}
65 onValueChange={(value) => {
66 setView(value as View);
67 setPage(1);
68 }}
69 options={VIEW_OPTIONS}
70 />
71
72 <Table aria-label="Transactions">
73 <TableHead>
74 <TableRow>
75 <TableHeader>Date</TableHeader>
76 <TableHeader>Description</TableHeader>
77 <TableHeader numeric>Amount</TableHeader>
78 <TableHeader>Status</TableHeader>
79 </TableRow>
80 </TableHead>
81 <TableBody>
82 {pageItems.map((tx) => (
83 <TableRow key={tx.id}>
84 <TableCell>
85 <FormatDate value={tx.date} dateStyle="medium" />
86 </TableCell>
87 <TableCell>{tx.description}</TableCell>
88 <TableCell numeric>
89 <FormatNumber
90 value={tx.amount}
91 format="currency"
92 currency={data.account.currency}
93 signDisplay="exceptZero"
94 />
95 </TableCell>
96 <TableCell>
97 {tx.status === "pending" ? (
98 <Badge tone="warning">Pending</Badge>
99 ) : (
100 <Badge tone="neutral">Booked</Badge>
101 )}
102 </TableCell>
103 </TableRow>
104 ))}
105 </TableBody>
106 </Table>
107
108 <Pagination
109 page={currentPage}
110 count={pageCount}
111 onPageChange={setPage}
112 />
113 </Stack>
114 </LocaleProvider>
115 );
116 }
117
3 list_tokens, list_tokens 9,009 89 $0.0000
4 write_file 1,318 2,602 $0.0000
5 check_code 2,664 748 $0.0000