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 list_files 142 30 $0.0000 1 read_file 186 29 $0.0000 2 docs-list 2,249 38 $0.0000 3
Output cap The provider's default 4 import data from "./fixture.json";
5 import {
6 Badge,
7 FormatDate,
8 FormatNumber,
9 Heading,
10 Pagination,
11 SegmentGroup,
12 Stack,
13 Table,
14 TableBody,
15 TableCell,
16 TableHead,
17 TableHeader,
18 TableRow,
19 Text,
20 } from "@vektos/ds";
21
22 type Transaction = (typeof data.transactions)[number];
23
24 const pageSize = data.pageSize ?? 10;
25
26 function newestFirst(list: Transaction[]): Transaction[] {
27 return [...list].sort(
28 (a, b) => b.date.localeCompare(a.date) || b.id.localeCompare(a.id),
29 );
30 }
31
32 export default function Page() {
33 const [view, setView] = useState("all");
34 const [page, setPage] = useState(1);
35
36 const filtered = useMemo(() => {
37 const base = data.transactions as Transaction[];
38 const scoped =
39 view === "in"
40 ? base.filter((t) => t.amount > 0)
41 : view === "out"
42 ? base.filter((t) => t.amount < 0)
43 : base;
44 return newestFirst(scoped);
45 }, [view]);
46
47 const totalPages = Math.max(1, Math.ceil(filtered.length / pageSize));
48 const currentPage = Math.min(page, totalPages);
49 const start = (currentPage - 1) * pageSize;
50 const pageItems = filtered.slice(start, start + pageSize);
51
52 return (
53 <Stack gap="4">
54 <Heading level={1}>{data.account.name}</Heading>
55 <SegmentGroup
56 aria-label="Transaction view"
57 value={view}
58 onValueChange={(value) => {
59 setView(value);
60 setPage(1);
61 }}
62 options={[
63 { label: "All", value: "all" },
64 { label: "Money in", value: "in" },
65 { label: "Money out", value: "out" },
66 ]}
67 />
68 <Table aria-label="Transactions">
69 <TableHead>
70 <TableRow>
71 <TableHeader>Date</TableHeader>
72 <TableHeader>Description</TableHeader>
73 <TableHeader numeric>Amount</TableHeader>
74 <TableHeader>Status</TableHeader>
75 </TableRow>
76 </TableHead>
77 <TableBody>
78 {pageItems.map((tx) => (
79 <TableRow key={tx.id}>
80 <TableCell>
81 <FormatDate value={tx.date} dateStyle="medium" />
82 </TableCell>
83 <TableCell>{tx.description}</TableCell>
84 <TableCell numeric>
85 <FormatNumber
86 value={tx.amount}
87 format="currency"
88 currency={data.account.currency}
89 signDisplay="exceptZero"
90 />
91 </TableCell>
92 <TableCell>
93 {tx.status === "pending" ? (
94 <Badge tone="warning">Pending</Badge>
95 ) : (
96 <Text>Booked</Text>
97 )}
98 </TableCell>
99 </TableRow>
100 ))}
101 </TableBody>
102 </Table>
103 <Pagination
104 page={currentPage}
105 count={totalPages}
106 onPageChange={setPage}
107 aria-label="Transaction pages"
108 />
109 </Stack>
110 );
111 }
112
4 docs-show, docs-show, docs-show 6,478 84 $0.0000
5 docs-show, docs-show 3,547 54 $0.0000
6 list_files 1,752 46 $0.0000
9 write_file 130 2,873 $0.0000