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 None. The run followed every rule that was checked.
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 96 28 $0.0000 1 read_file, get_guidelines 138 44 $0.0000 2 list_components, list_tokens 4,594 40 $0.0000 3
Output cap The provider's default 4 import {
5 Badge,
6 Card,
7 CardHeader,
8 CardTitle,
9 EmptyState,
10 FormatDate,
11 FormatNumber,
12 Heading,
13 LocaleProvider,
14 Pagination,
15 SegmentGroup,
16 Stack,
17 Table,
18 TableBody,
19 TableCell,
20 TableHead,
21 TableHeader,
22 TableRow,
23 Text,
24 } from "@vektos/ds";
25 import data from "./fixture.json";
26
27 const transactions = data.transactions
28 .map((t) => ({
29 id: t.id,
30 date: t.date,
31 description: t.description,
32 amount: t.amount,
33 status: t.status,
34 }))
35 .toSorted((a, b) => {
36 if (a.date !== b.date) return a.date < b.date ? 1 : -1;
37 return a.id < b.id ? 1 : -1;
38 });
39
40 const pageSize = data.pageSize ?? 10;
41 const currency = data.account.currency;
42
43 export default function TransactionsPage() {
44 const [view, setView] = useState("all");
45 const [page, setPage] = useState(1);
46
47 const filtered = useMemo(() => {
48 if (view === "in") return transactions.filter((t) => t.amount > 0);
49 if (view === "out") return transactions.filter((t) => t.amount < 0);
50 return transactions;
51 }, [view]);
52
53 const totalPages = Math.max(1, Math.ceil(filtered.length / pageSize));
54 const safePage = Math.min(page, totalPages);
55 const start = (safePage - 1) * pageSize;
56 const pageItems = filtered.slice(start, start + pageSize);
57
58 const handleViewChange = (value: string) => {
59 setView(value);
60 setPage(1);
61 };
62
63 const handlePageChange = (nextPage: number) => {
64 setPage(nextPage);
65 };
66
67 return (
68 <LocaleProvider locale="it-IT">
69 <Stack gap="6">
70 <Stack gap="1">
71 <Heading level={1}>{data.account.name}</Heading>
72 <Text tone="muted" size="sm">
73 {data.account.holder}
74 </Text>
75 </Stack>
76 <SegmentGroup
77 aria-label="Transaction view"
78 value={view}
79 onValueChange={handleViewChange}
80 options={[
81 { label: "All", value: "all" },
82 { label: "Money in", value: "in" },
83 { label: "Money out", value: "out" },
84 ]}
85 />
86 <Card>
87 <CardHeader>
88 <CardTitle>Transactions</CardTitle>
89 </CardHeader>
90 {pageItems.length === 0 ? (
91 <EmptyState
92 title="No transactions"
93 description="Nothing to show for this view."
94 />
95 ) : (
96 <Table aria-label="Transactions">
97 <TableHead>
98 <TableRow>
99 <TableHeader>Date</TableHeader>
100 <TableHeader>Description</TableHeader>
101 <TableHeader>Status</TableHeader>
102 <TableHeader numeric>Amount ({currency})</TableHeader>
103 </TableRow>
104 </TableHead>
105 <TableBody>
106 {pageItems.map((tx) => (
107 <TableRow key={tx.id}>
108 <TableCell>
109 <FormatDate value={tx.date} dateStyle="medium" />
110 </TableCell>
111 <TableCell>{tx.description}</TableCell>
112 <TableCell>
113 <Badge
114 tone={tx.status === "pending" ? "warning" : "neutral"}
115 >
116 {tx.status === "pending" ? "Pending" : "Booked"}
117 </Badge>
118 </TableCell>
119 <TableCell numeric>
120 <FormatNumber
121 value={tx.amount}
122 format="currency"
123 currency={currency}
124 signDisplay="exceptZero"
125 />
126 </TableCell>
127 </TableRow>
128 ))}
129 </TableBody>
130 </Table>
131 )}
132 </Card>
133 {totalPages > 1 && (
134 <Pagination
135 page={safePage}
136 count={totalPages}
137 onPageChange={handlePageChange}
138 />
139 )}
140 </Stack>
141 </LocaleProvider>
142 );
143 }
144
get_component, get_component, get_component, get_component, get_component, get_component, get_component
4 list_files 6,002 50 $0.0000
5 get_component, get_component, get_component, get_component, get_component 114 133 $0.0000
6 write_file 18,521 4,245 $0.0000
7 check_code 4,294 921 $0.0000
8 write_file 1,004 1,275 $0.0000
9 check_code 1,343 966 $0.0000
10 write_file 1,093 1,144 $0.0000
11 check_code 1,173 950 $0.0000
12 write_file 1,010 982 $0.0000
13 check_code 1,056 918 $0.0000