feat: smart testing mode — skip Playwright for API/backend features#174
Open
maswa wants to merge 1 commit intoAutoForgeAI:masterfrom
Open
feat: smart testing mode — skip Playwright for API/backend features#174maswa wants to merge 1 commit intoAutoForgeAI:masterfrom
maswa wants to merge 1 commit intoAutoForgeAI:masterfrom
Conversation
Add a "Browser Testing" setting with two modes: - Full: Always use Playwright browser for all features (default) - Smart: Skip Playwright for API/backend features, use only for UI This reduces memory overhead by ~100-300MB per agent when testing API features that don't need browser automation. Changes: - Add testing_mode to settings schema and API endpoints - Add should_use_playwright() with category-based logic - Add UI toggle in Settings modal (Full/Smart buttons) - Pass testing_mode through orchestrator to agent subprocesses Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Adds a "Browser Testing" setting with two modes:
This saves ~100-300MB of memory per agent when testing features that don't need a browser, which adds up quickly in parallel mode.
How it works
A new
should_use_playwright()function inclient.pychecks the feature's category against a list of backend keywords (api,backend,database,db,server,endpoint,service). If the category matches, Playwright MCP server and tools are excluded from that agent session.The setting flows through the full stack:
Changes
Backend (8 files):
client.py—should_use_playwright()function, conditional Playwright inclusionagent.py— Feature category lookup from DB when in smart modeautonomous_agent_demo.py—--testing-modeCLI flagparallel_orchestrator.py— Pass testing_mode to subprocess commandsserver/routers/agent.py— Read testing_mode from settings, pass to managerserver/routers/settings.py— Persist testing_mode settingserver/schemas.py— Validation, request/response schemasserver/services/process_manager.py— Store and forward testing_modeFrontend (3 files):
SettingsModal.tsx— Full/Smart toggle buttons (disabled when YOLO is on)useProjects.ts— Default settingtypes.ts— TypeScript typesTest plan