From 7066accc255cd4fea1e041f90675019ac3f0af04 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 8 Oct 2026 01:30:50 -0700 Subject: [PATCH] homepage: capability equivalence on the AI cards Every fleet model card (and the #models docs section) now states, in plain family-facing terms, what the model is equivalent to: frank-large ~ Claude Sonnet 5 / OpenAI-Luna, frank-primary ~ Claude Opus 4.8 / OpenAI-Terra (both Summer 2026 frontier), frank-secondary ~ last year (2025) frontier. Rendered as a new details.equiv line (desc-equiv, styled in the head color, bare-mode clean); pinned in homepage_config.bats. --- shared/homepage/app.js | 3 ++- shared/homepage/docs.html | 3 +++ shared/homepage/services.json | 3 +++ shared/homepage/style.css | 3 ++- tests/homepage_config.bats | 17 +++++++++++++++++ 5 files changed, 27 insertions(+), 2 deletions(-) diff --git a/shared/homepage/app.js b/shared/homepage/app.js index cfe54ad..95680fb 100644 --- a/shared/homepage/app.js +++ b/shared/homepage/app.js @@ -35,9 +35,10 @@ function esc(s) { // them (the LLM cards), else the plain description string. function descHTML(svc) { const d = svc.details; - if (d && (d.role || d.spec || d.inputs || d.use)) { + if (d && (d.role || d.spec || d.inputs || d.use || d.equiv)) { const lines = []; if (d.role) lines.push('
' + esc(d.role) + '
'); + if (d.equiv) lines.push('
' + esc(d.equiv) + '
'); if (d.spec) lines.push('
' + esc(d.spec) + '
'); if (d.inputs && d.inputs.length) lines.push('
Inputs: ' + esc(d.inputs.join(' · ')) + '
'); if (d.use) lines.push('
Use: ' + esc(d.use) + '
'); diff --git a/shared/homepage/docs.html b/shared/homepage/docs.html index ab14b3b..e3d093f 100644 --- a/shared/homepage/docs.html +++ b/shared/homepage/docs.html @@ -56,6 +56,7 @@

frank-large — deep reasoning