- Add TEST_MODEL env var support to index.ts for single-model testing
- Configure code-qa.yml with matrix strategy for 3 AI models
- Each model runs in parallel in its own isolated VSCode instance
- This eliminates race conditions from shared API state
- Local development still tests all models sequentially
- Add getModelsToTest() function to check TEST_MODEL env var
- When TEST_MODEL is set, run tests for only that model (CI matrix)
- When TEST_MODEL is not set, run all models sequentially (local dev)
- Enables future concurrent E2E test execution via workflow matrix
- Add retry logic (this.retries(2)) for AI output format variability
- Collect all messages (not just non-partial) for complete content
- Make primary assertion: check content presence across all messages
- Make format checks optional (logs but doesn't fail)
- Allow flexible matching for 'Main item' variations
The tests were failing on google/gemini-3-pro-preview because they
required specific markdown formatting rather than validating content
presence. AI models have different formatting preferences.
Changes:
- Test 1 (unordered lists): Check for Apple, Banana, Orange presence
- Test 2 (nested lists): Check for main item and sub-items presence
- Both tests: Log format used but don't require specific syntax
Validated: All 4 tests now pass on all 3 models (openai/gpt-5.2,
anthropic/claude-sonnet-4.5, google/gemini-3-pro-preview)
- Add retry logic (this.retries(2)) for AI non-determinism
- Reset file content before test to ensure clean state
- Improve file system synchronization with setImmediate + sleep
- Make primary assertion: file remains unchanged (outcome)
- Make tool attempt check optional (logs but doesn't fail)
- Add detailed debugging with message history dump on failure
- Fix TypeScript linting errors (remove 'any' types)
The test was failing intermittently because it required specific AI
behavior (must attempt tool) rather than validating functionality
(file unchanged). AI models are non-deterministic and may skip tools
they know will fail.
Validated: Test now passes on all 3 models (openai/gpt-5.2,
anthropic/claude-sonnet-4.5, google/gemini-3-pro-preview)
* feat(web-evals): remember last Roo model selection
* fix(web-evals): reset model selections on provider switch and fix lint warning
- Add useEffect to reset model selections when switching between providers
This prevents OpenRouter model IDs from persisting when switching to Roo,
which was causing Roo's stored selection to be overwritten with wrong IDs
- Remove unused 'executionMethod' from onSubmit dependency array to fix
react-hooks/exhaustive-deps warning
* fix(web-evals): add missing executionMethod to test cases
* fix(web-evals): harden localStorage + keep provider selections
* Removes Pro, restructures pricing page
* Solves provider/credits
* Update apps/web-roo-code/src/app/pricing/page.tsx
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
* Updates agent landing pages to not mention a trial that doesn't exist
* Updates agent-specific landing pages to reflect new home and trial
* Indicate the agent landing page the user came from
* Clean up the carousel
---------
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Roo Code <roomote@roocode.com>