{
	"version": "2.0.0",
	"tasks": [
		{
			"label": "E2E stable",
			"type": "shell",
			"command": "npm",
			"args": [
				"run",
				"test:e2e"
			],
			"options": {
				"cwd": "${workspaceFolder}/frontend"
			},
			"group": "test",
			"problemMatcher": []
		},
		{
			"label": "E2E stable + merged video",
			"type": "shell",
			"command": "npm",
			"args": [
				"run",
				"test:e2e:with-video"
			],
			"options": {
				"cwd": "${workspaceFolder}/frontend"
			},
			"group": "test",
			"problemMatcher": []
		},
		{
			"label": "E2E all browsers",
			"type": "shell",
			"command": "npm",
			"args": [
				"run",
				"test:e2e:all"
			],
			"options": {
				"cwd": "${workspaceFolder}/frontend"
			},
			"group": "test",
			"problemMatcher": []
		},
		{
			"label": "E2E all browsers + merged video",
			"type": "shell",
			"command": "npm",
			"args": [
				"run",
				"test:e2e:all:with-video"
			],
			"options": {
				"cwd": "${workspaceFolder}/frontend"
			},
			"group": "test",
			"problemMatcher": []
		},
		{
			"label": "E2E stable non-interactive",
			"type": "shell",
			"command": "cd frontend && PLAYWRIGHT_HTML_OPEN=never PLAYWRIGHT_WORKERS=1 npm run test:e2e -- --workers=1",
			"isBackground": false,
			"group": "test"
		},
		{
			"label": "Targeted frontend vitest",
			"type": "shell",
			"command": "cd frontend && npm test -- --run src/test/context/AppContext.test.tsx src/test/utils/schedule.test.ts",
			"isBackground": false,
			"group": "test"
		},
		{
			"label": "Focused frontend shared schedule test",
			"type": "shell",
			"command": "cd frontend && npm run test:run -- --maxWorkers=1 src/test/components/SharedSchedule.test.tsx",
			"isBackground": false,
			"group": "test"
		},
		{
			"label": "PR3 targeted validation",
			"type": "shell",
			"command": "git --no-pager diff --check -- .github/agents/release-manager.agent.md .github/agents/testing-manager.agent.md .gitignore .vscode/tasks.json && node -e \"JSON.parse(require('fs').readFileSync('.vscode/tasks.json','utf8')); console.log('tasks.json valid')\"",
			"isBackground": false
		}
	]
}