Skip to content

Commit 3f04819

Browse files
committed
feat(docs-site): split Benchmarks into its own sidebar category with per-domain pages
User feedback: one long page with 10 boards was too much. Now a top-level Benchmarks category (collapsed) with an Overview index page plus five domain pages (coding 6 boards, frontend/terminal/security/intelligence 1 each) x en/ko/zh-cn = 18 pages. FrontierBoards.astro gains boards/intro props; the guides/benchmarks single pages are removed. Domain mapping follows PR #144's frontier-domains.ts. Verified: astro build (73 pages), headless Chrome render of ko overview (sidebar category + domain links) and ko coding page (6 charts, honesty notes, best-value badge), curl 200 + hreflang for en/ko/zh-cn.
1 parent 62befa0 commit 3f04819

21 files changed

Lines changed: 174 additions & 13 deletions

File tree

devlog/_plan/260720_frontier_docs_site/000_plan.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ PR #144(GUI Frontier 페이지, +5,421줄)를 GUI에 머지하는 대신, 정적
2222
산점도 외(cost stack/score/efficiency/reasoning), 도메인/필터 UI.
2323
- 데이터 출처: PR #144 (Wibias) — 이식 사실을 #144에 코멘트로 남긴다.
2424

25+
## Amendment 1 (2026-07-20): 단일 페이지 → 별도 카테고리 분할
26+
27+
사용자 피드백: 한 페이지에 10개 보드를 다 넣지 말고 별도 카테고리로 분리.
28+
29+
- 사이드바에 top-level **Benchmarks** 카테고리(collapsed), Guides 아래 단일
30+
항목은 제거.
31+
- 구조: Overview(`benchmarks/`) + 도메인별 페이지 5개(coding/frontend/terminal/
32+
security/intelligence) × 3 로캘. 도메인 매핑은 PR의 frontier-domains.ts 그대로
33+
(coding 6보드, 나머지 1보드씩).
34+
- FrontierBoards.astro에 `boards`(보드 id 필터) + `intro`(서브타이틀 표시 여부)
35+
prop 추가. Overview는 차트 없이 도메인 링크 인덱스만.
36+
2537
## 검증
2638

2739
- `bun run build` (docs-site) 성공.

docs-site/astro.config.mjs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,19 @@ export default defineConfig({
121121
{ label: "Sidecars: Web Search & Vision", translations: { ko: "사이드카: 웹 검색 & 비전", "zh-CN": "边车:网络搜索与视觉" }, slug: "guides/sidecars" },
122122
{ label: "Web Dashboard", translations: { ko: "웹 대시보드", "zh-CN": "网页控制台" }, slug: "guides/web-dashboard" },
123123
{ label: "Sub-agent Surface", translations: { ko: "서브에이전트 서피스", "zh-CN": "子代理界面" }, slug: "guides/sub-agent-surface" },
124-
{ label: "Benchmarks", translations: { ko: "벤치마크", "zh-CN": "基准测试" }, slug: "guides/benchmarks" },
124+
],
125+
},
126+
{
127+
label: "Benchmarks",
128+
translations: { ko: "벤치마크", "zh-CN": "基准测试" },
129+
collapsed: true,
130+
items: [
131+
{ label: "Overview", translations: { ko: "개요", "zh-CN": "概览" }, slug: "benchmarks" },
132+
{ label: "Coding", translations: { ko: "코딩", "zh-CN": "编程" }, slug: "benchmarks/coding" },
133+
{ label: "Frontend", translations: { ko: "프론트엔드", "zh-CN": "前端" }, slug: "benchmarks/frontend" },
134+
{ label: "Terminal", translations: { ko: "터미널", "zh-CN": "终端" }, slug: "benchmarks/terminal" },
135+
{ label: "Security", translations: { ko: "보안", "zh-CN": "安全" }, slug: "benchmarks/security" },
136+
{ label: "Intelligence", translations: { ko: "인텔리전스", "zh-CN": "智能" }, slug: "benchmarks/intelligence" },
125137
],
126138
},
127139
{

docs-site/src/components/FrontierBoards.astro

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,14 @@ import { FRONTIER_STRINGS } from "../data/frontier-i18n";
1111
1212
interface Props {
1313
locale?: "en" | "ko" | "zh-cn";
14+
/** Comma-separated board ids to render; omit for all boards. */
15+
boards?: string;
16+
/** Show the page-level subtitle (overview pages only). */
17+
intro?: boolean;
1418
}
1519
16-
const { locale = "en" } = Astro.props;
20+
const { locale = "en", boards: boardsProp, intro = false } = Astro.props;
21+
const include = boardsProp ? new Set(boardsProp.split(",").map(s => s.trim()).filter(Boolean)) : null;
1722
const strings = FRONTIER_STRINGS[locale] as Record<string, string>;
1823
const fallback = FRONTIER_STRINGS.en as Record<string, string>;
1924
const t = (key: string): string => strings[key] ?? fallback[key] ?? key;
@@ -25,7 +30,7 @@ const SCORE_HEADER: Record<string, string> = { en: "Score", ko: "점수", "zh-cn
2530
/** Dataset tags are kebab-case; i18n keys are camelCase (cheap-subagent → cheapSubagent). */
2631
const tagKey = (tag: string): string => tag.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
2732
28-
const boards = data.benchmarks.map(board => {
33+
const boards = data.benchmarks.filter(board => !include || include.has(board.id)).map(board => {
2934
const allMeasured = board.rows.every(row => row.costKind === "measured");
3035
const bestValue = allMeasured
3136
? board.rows.reduce((best, row) => (row.score / row.avgCostUsd > best.score / best.avgCostUsd ? row : best), board.rows[0])
@@ -49,7 +54,7 @@ const boards = data.benchmarks.map(board => {
4954
---
5055

5156
<div class="frontier-root">
52-
<p class="frontier-subtitle">{t("frontier.subtitle")}</p>
57+
{intro && <p class="frontier-subtitle">{t("frontier.subtitle")}</p>}
5358
{
5459
boards.map(board => (
5560
<section class="frontier-board" aria-label={t(`frontier.board.${board.id}.title`)}>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: Coding benchmarks
3+
description: Coding-agent benchmark snapshots — DeepSWE, AA Coding Agent, FrontierCode, FrontierSWE, Program Bench, SWE Marathon.
4+
---
5+
6+
import FrontierBoards from "../../../components/FrontierBoards.astro";
7+
8+
<FrontierBoards locale="en" boards="deepswe,aa-coding-agent,frontiercode,frontierswe,program-bench,swe-marathon" />
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: Frontend benchmarks
3+
description: Frontend coding benchmark snapshot — Frontend Code Arena.
4+
---
5+
6+
import FrontierBoards from "../../../components/FrontierBoards.astro";
7+
8+
<FrontierBoards locale="en" boards="frontend-code-arena" />

docs-site/src/content/docs/guides/benchmarks.mdx renamed to docs-site/src/content/docs/benchmarks/index.mdx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,15 @@ title: Benchmarks
33
description: Public coding-agent benchmark snapshots — capability vs cost per task, with per-board provenance.
44
---
55

6-
import FrontierBoards from "../../../components/FrontierBoards.astro";
7-
86
These are **static snapshots** of public leaderboards, refreshed manually — not live
97
OpenCodex metering. Each board lists its source, capture date, and license note.
108
Score-per-dollar rankings only appear on boards where every row carries a
119
source-measured cost per task.
1210

13-
<FrontierBoards locale="en" />
11+
Boards are grouped by task domain:
12+
13+
- [Coding](./coding/) — DeepSWE, AA Coding Agent, FrontierCode, FrontierSWE, Program Bench, SWE Marathon
14+
- [Frontend](./frontend/) — Frontend Code Arena
15+
- [Terminal](./terminal/) — Terminal Bench 2.1
16+
- [Security](./security/) — Cybench
17+
- [Intelligence](./intelligence/) — AA Intelligence Index
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: Intelligence benchmarks
3+
description: General intelligence index snapshot — AA Intelligence Index.
4+
---
5+
6+
import FrontierBoards from "../../../components/FrontierBoards.astro";
7+
8+
<FrontierBoards locale="en" boards="aa-intelligence-index" />
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: Security benchmarks
3+
description: Security-task benchmark snapshot — Cybench.
4+
---
5+
6+
import FrontierBoards from "../../../components/FrontierBoards.astro";
7+
8+
<FrontierBoards locale="en" boards="cybench" />
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: Terminal benchmarks
3+
description: Terminal-use benchmark snapshot — Terminal Bench 2.1.
4+
---
5+
6+
import FrontierBoards from "../../../components/FrontierBoards.astro";
7+
8+
<FrontierBoards locale="en" boards="terminal-bench-2.1" />
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
title: 코딩 벤치마크
3+
description: 코딩 에이전트 벤치마크 스냅샷 — DeepSWE, AA Coding Agent, FrontierCode, FrontierSWE, Program Bench, SWE Marathon.
4+
---
5+
6+
import FrontierBoards from "../../../../components/FrontierBoards.astro";
7+
8+
<FrontierBoards locale="ko" boards="deepswe,aa-coding-agent,frontiercode,frontierswe,program-bench,swe-marathon" />

0 commit comments

Comments
 (0)