Skip to content

Conversation

@mp-roocode
Copy link
Collaborator

Work in progress on eval-evolution features including:

  • Updated methodology content
  • Workers UI improvements
  • Comparison chart enhancements
  • New workers-v2 pages
  • Eval outcomes utilities

roomote and others added 10 commits February 11, 2026 15:46
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
- Add 5 engineer roles: Junior, Senior, Staff, Architecture Reviewer, Autonomous Agent
- Build role selection landing page with hiring metaphor at /evals/workers
- Build candidate rankings page with tiered recommendations at /evals/workers/[roleId]
- Build candidate comparison page with Recharts charts at /evals/workers/[roleId]/compare
- Build "How We Interview" methodology page at /evals/methodology
- Add mock data with real eval scores from 27 model runs
- Implement "Hire This Engineer" CTA linking to Roo Code Cloud
- Implement "Configure Extension" CTA with clipboard copy
- Per-language score breakdowns (Go, Java, JS, Python, Rust)
- Daily salary pricing (80 tasks/agent/day estimate)
- framer-motion animations, glass-morphism design, role color themes
- Tone-of-voice compliance (no em dashes, no hype, workflow-first copy)
- vscode:// deep link design doc at plans/vscode-deep-link-design.md
…e themes

- Atmospheric header with role-colored blur gradients
- Glass-morphism containers for chart, filters, and export
- Styled language toggle pills with role color accents
- Themed provider checkboxes and success rate slider
- Custom chart tooltip with backdrop blur
- Export buttons with press feedback
- framer-motion scroll-triggered animations
- Bottom navigation with pill-style links
- Role themes: reviewer (violet) and autonomous (cyan) added to candidates page
…line)

- Add "Value Map: Salary vs Interview Score" scatter to comparison page
  - Dots colored by tier, sized by success rate
  - Sweet Spot quadrant highlight (upper-left)
  - Respects existing provider/success-rate filters
- Add "AI Coding Capability Over Time" scatter to landing page
  - 10 models from Jun 2025 to Feb 2026
  - Dots colored by provider, sized by cost efficiency
  - Dashed trend line showing upward trajectory
- Add MODEL_TIMELINE data to mock-recommendations.ts
@roomote
Copy link
Contributor

roomote bot commented Feb 12, 2026

Rooviewer Clock   See task

Reviewed 268b183 (objective deep-dive pages, route restructuring under roles/, font layout). Both --font-display fixes hold via shared layout. Three open items remain.

  • --font-display CSS variable is undefined on the baseline /evals/workers path -- fixed by lifting font setup to shared evals/layout.tsx
  • Aggregate stat totalEvalRuns is still inflated -- totalExercises/totalModels are now unused but totalEvalRuns still sums identical per-role counts across all 5 roles (135 instead of 27)
  • --font-display CSS variable is undefined on the /evals/methodology path -- fixed by lifting font setup to shared evals/layout.tsx
  • recommendations/layout.tsx redundantly imports Fraunces/IBM Plex Sans and wraps content with font variables already provided by the shared evals/layout.tsx
  • copyPrompt in objective-content.tsx lacks visual feedback -- the existing clipboard pattern (copy-settings-button.tsx, comparison-chart.tsx) tracks copied state and shows a confirmation; the new callback fires without any UI response
Previous reviews

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

@mp-roocode mp-roocode self-assigned this Feb 12, 2026

{/* Heading */}
<motion.h1
className="mt-6 text-5xl font-semibold tracking-tight md:text-6xl lg:text-7xl [font-family:var(--font-display)]"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[font-family:var(--font-display)] is used here and at line 1024, but --font-display is only defined by the V2 page wrapper (workers-v2/page.tsx sets it via Fraunces font). When this component is rendered through the baseline path (/evals/workers), --font-display is undefined and these headings silently fall back to the inherited font instead of the intended display typeface. Either gate this class behind enableOutcomeLayer, or have the baseline workers/page.tsx also provide the font variable.

Fix it with Roo Code or mention @roomote and request a fix.

Comment on lines 65 to 66
const totalEvalRuns = recommendations.reduce((sum, r) => sum + r.totalEvalRuns, 0)
const totalExercises = recommendations.reduce((sum, r) => sum + r.totalExercises, 0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

totalEvalRuns and totalExercises are computed by summing across all 5 roles, but each role reports the same underlying pool of 27 eval runs and 120 exercises. This produces 135 runs / 600 exercises on the landing page instead of the actual 27 / 120. The hero stats bar and footer will show inflated numbers. Consider using the values from a single role (they're identical) or deduplicating before summing. Same issue exists in workers-v2/page.tsx at lines 64-65.

Suggested change
const totalEvalRuns = recommendations.reduce((sum, r) => sum + r.totalEvalRuns, 0)
const totalExercises = recommendations.reduce((sum, r) => sum + r.totalExercises, 0)
const totalEvalRuns = recommendations[0]?.totalEvalRuns ?? 0
const totalExercises = recommendations[0]?.totalExercises ?? 0

Fix it with Roo Code or mention @roomote and request a fix.


<motion.h1
variants={fadeUpVariants}
className="mt-4 text-4xl font-semibold tracking-tight md:text-5xl [font-family:var(--font-display)]">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[font-family:var(--font-display)] is used in 6 headings throughout this file, but methodology/page.tsx does not import Fraunces or provide the --font-display CSS variable, and no parent layout sets it either. This is the same issue that was fixed for workers/page.tsx in this PR (which now wraps content with the Fraunces font variable). The methodology page needs the same treatment -- either wrap <MethodologyContent /> in a div with the font variables, or lift the font setup to a shared evals layout.

Fix it with Roo Code or mention @roomote and request a fix.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@roomote fix with shared layout

Copy link
Contributor

@roomote roomote bot Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixaroo Clock   See task

Lifted Fraunces and IBM Plex Sans font setup to a shared evals/layout.tsx so --font-display and --font-body CSS variables are available to all evals sub-pages (methodology, workers, workers/[roleId], etc.) without duplication.

View commit | Revert commit

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@roomote pull latest changes from main into this branch

Copy link
Contributor

@roomote roomote bot Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixaroo Clock   See task

Pulled latest changes from main into this branch. Merge completed cleanly with no conflicts.

View commit | Revert commit

roomote and others added 3 commits February 13, 2026 03:39
…s layout

Move --font-display and --font-body CSS variable declarations from
workers/page.tsx into a new evals/layout.tsx so all evals sub-pages
(methodology, workers, workers/[roleId], etc.) inherit the font
variables without duplicating the setup.
Comment on lines 18 to 19
const display = Fraunces({ subsets: ["latin"], variable: "--font-display" })
const body = IBM_Plex_Sans({ subsets: ["latin"], weight: ["400", "500", "600"], variable: "--font-body" })
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The shared evals/layout.tsx already imports Fraunces and IBM_Plex_Sans and wraps all evals children with the --font-display / --font-body CSS variables. These two declarations (and the font-variable wrapper div at line 82) duplicate that setup, producing two separate Next.js font optimization entries for the same fonts. workers/page.tsx doesn't do this -- it relies on the shared layout. Removing the imports, these two lines, and the wrapper div would align with the approach used by the other evals pages.

Fix it with Roo Code or mention @roomote and request a fix.

Comment on lines +186 to +189
const copyPrompt = useCallback(async () => {
if (!examplePrompt) return
await navigator.clipboard.writeText(examplePrompt)
}, [examplePrompt])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copyPrompt fires navigator.clipboard.writeText without updating any state or providing visual feedback. The existing pattern in this codebase (copy-settings-button.tsx, comparison-chart.tsx) tracks a copied state, shows a checkmark icon and "Copied!" text, then resets after 2 seconds. Without similar feedback here, users clicking "Copy example prompt" have no confirmation that the copy succeeded (or failed).

Fix it with Roo Code or mention @roomote and request a fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants