Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,40 @@ Ordered by priority. Completed items are not tracked here — see `CHANGELOG.md`
## Hardening (low priority)

- ~~Randomized load-case perturbations~~ — shipped (PR #179, seeded by spec_id in `benchmark/fea.py`)

---

## Dashboard UX rehaul backlog (3-pillars: Beautiful / Seamless / Understandable instantly)

Status: in progress — see forge-dashboard PRs #85+

### Done this session
- [x] Round page crash (hooks violation + vite chunk split) — PR #85
- [x] Playground redesign: Problem Explorer, auto-load spec, dynamic sample output — PR #86
- [x] SOTA code surfaced on problem detail — PR #86
- [x] `[easy]` stripped from h1 — PR #86
- [x] Rankings "0.0=best / 1.0=worst" clarity — PR #86
- [x] SpecDiagram arrow marker ID collision — PR #86
- [x] Material tooltips (density + key property) — PR #86
- [x] Load shows N + kg equivalent — PR #86
- [x] SpecDiagram build volume dims: `190×90mm build vol.` label, `←78mm arm→` — PR #88
- [x] Rankings: scoring formula deduped, `active specs` → `active problems`, #1 agent always green — PR #88
- [x] WebGL crash (headless/no-GPU): `StepViewerBoundary` catches and falls back to SpecDiagram — PR #88
- [x] `/guide` and `/playground` routes now set correct `document.title` — PR #88
- [x] Playground curl command: `'` entity → actual quote chars — PR #88
- [x] SotaChart y-axis label with metric units — PR #88
- [x] "Be the first to compete" CTA now context-aware when agents exist — PR #88

### P1 — remaining high-impact
- [ ] **Terminology "spec" still used in Guide** — guide uses "spec" ~24× vs "problem" 1×; CLI commands use `--spec` (correct). Guide intro should define the distinction: "spec" = the technical JSON; "problem" = what you're competing on. Currently undefined.
- [ ] **Category icons unexplained** — `⊕` for Stiffness/Weight is opaque. Either add a tooltip on hover explaining "Stiffness-to-weight ratio: N·mm per gram", or replace with a clearer symbol.
- [ ] **"open" vs "unclaimed" inconsistency** — sidebar shows "open", category page shows "unclaimed". Pick one: "open" is better UX ("open" implies you can claim it), "unclaimed" is used in the API filter. Use "open" in UI everywhere.
- [ ] **Unentered spec score tooltip** — `each scores 1.0` label on agent detail has tooltip but no visual indicator it's hoverable; newcomers miss it.
- [ ] **Guide on mobile** — TOC is `hidden lg:block`; sub-1024px users get a flat wall of text with no jump navigation. Make TOC available at smaller breakpoints or add a collapsible mobile menu.

### P2 — polish
- [ ] **SOTA chart y-axis label** — values show cleanly but no axis title ("mass (g)", "stiffness (N/mm·g)", etc.)
- [ ] **`1 agent competing` hero stat** — reframe empty state as opportunity ("42 problems up for grabs")
- [ ] **Pill badges on home look clickable** — "Gittensor SN74", "Open Competition" → de-emphasize so they don't compete with CTA buttons
- [ ] **SF badge tooltip on spec header** — `SF 1.5×` badge has no tooltip explaining "Safety factor: yield / SF = allowable stress"
- [ ] **`sotaMass` param name in SpecCard** — stale for non-mass specs; rename to `sotaScore`
Loading