Files
zeekay 76cbcbc34e The Decision Suite leads /kai and /benchmarks, and every Kai figure there is read from the research API when the page opens
Sixteen tasks fixed on 2026-10-15, Kai beside Jev on each: the eleven
harness suites Kai leads, choices of 16 and 77 options, the same request
three times, false alarms on real benign prompts, and cost and deployment.
Each row names the research runs it reads by id, its public dataset, and the
hanzoai/benchmarks folder that re-runs it; one line under the board links
decision/SUITE.md. A row whose runs are not yet public prints "pending" and
holds the count back, so "16 of 16" is stated only once every row holds
both figures. Under the title, the owner's note: the frozen 12-suite
harness, including the row Jev leads, is below, and that board now prints
all twelve suites.

lib/api/research reads GET /v1/research/runs?org=hanzo through lib/api/read;
useKai derives the boards from it and every section draws reading, the
figures, or unreachable, with no snapshot standing in. The cost row is
GET /v1/models. /kai leads under its hero with the suite's own rows as
headlines. The gates serve the runs and an invented model list, read the
pending, loading and unreachable states, and hold the export to carrying no
Kai figure.
2026-10-15 11:35:45 -07:00

44 lines
1.7 KiB
TypeScript

'use client'
import { Text, YStack } from '@hanzo/ui'
import { Grid } from '@hanzo/ui/grid'
import { Band, Card } from '@/components/marketing/band'
import { Ready } from '@/components/api/state'
import { headlines } from '@/lib/kai'
import { useSuite } from '@/hooks/useSuite'
/**
* What /kai leads with, under the hero: the Decision Suite's own rows said as
* headlines (lib/kai `headlines`), each linking the board below. Read when the
* page opens, like the board: a line shows only while the rows hold it, the
* strip says so while they are read, and says the API is unreachable if they
* cannot be.
*/
export function Lead() {
return (
<Band id="lead" measure={1024}>
<Ready reading={useSuite()} what="the Decision Suite's research runs">
{(t) => {
const lines = headlines(t)
return (
<Grid columns={1} $sm={{ gridTemplateColumns: 'repeat(2, minmax(0, 1fr))' }} $lg={{ gridTemplateColumns: `repeat(${lines.length}, minmax(0, 1fr))` }} gap={12}>
{lines.map((c) => (
<YStack key={c.label} render={<a href={`#${c.board}`} />} data-lead="">
<Card height="100%">
<Text render="p" display="block" mb={6} fontFamily="$mono" fontSize="$7" lineHeight="$7" color="$ink" $platform-web={{ fontVariantNumeric: 'tabular-nums' }}>
{c.figure}
</Text>
<Text render="p" display="block" fontSize="$2" lineHeight="$2" color="var(--muted-foreground)">
{c.label}
</Text>
</Card>
</YStack>
))}
</Grid>
)
}}
</Ready>
</Band>
)
}