{
"meta": {
"agent": "planner",
"task_id": "225",
"title": "CI: Run tier1 E2E tests on PRs instead of full test:e2e",
"created_at": "2026-04-01T12:00:00Z"
},
"inputs": [
{
"name": "issue-225",
"type": "context",
"ref": "https://github.com/AgentSDE/agent-core/issues/225",
"notes": "CI E2E tiering — run tier1 on PRs, full suite nightly/manual"
},
{
"name": "ci.yml",
"type": "file",
"ref": ".github/workflows/ci.yml",
"notes": "Current e2e job runs full test:e2e on every PR (lines 55-86)"
}
],
"outputs": [
{
"name": "plan",
"type": "plan",
"format": "md",
"content": "plan.md"
}
],
"files": [
{
"path": ".github/workflows/ci.yml",
"action": "modify",
"reason": "Change e2e job to run test:e2e:tier1 by default with label override for full suite"
},
{
"path": ".github/workflows/e2e-full.yml",
"action": "create",
"reason": "Nightly cron + workflow_dispatch for full test:e2e suite"
}
],
"steps": [
{
"id": "S1",
"summary": "Modify e2e job in ci.yml to run test:e2e:tier1 by default with e2e-full label override",
"acceptance": [
"PR without e2e-full label runs test:e2e:tier1",
"PR with e2e-full label runs test:e2e",
"Single-retry logic preserved for both variants",
"Brief comment explains tier1 rationale and links to e2e-full.yml"
],
"depends_on": []
},
{
"id": "S2",
"summary": "Create e2e-full.yml workflow for nightly cron and manual dispatch of full E2E suite",
"acceptance": [
"Workflow triggers on schedule (nightly cron) and workflow_dispatch",
"workflow_dispatch accepts optional ref input",
"Runs npm run test:e2e on self-hosted runner with correct env vars",
"Nightly failures do not block PR merges"
],
"depends_on": []
}
],
"risks": [
{
"risk": "Label detection only works on pull_request events",
"mitigation": "e2e job already gates on github.event_name == 'pull_request'"
},
{
"risk": "Nightly cron flakes",
"mitigation": "Nightly is independent of PR status checks — failures don't block merges"
}
],
"assumptions": [
"test:e2e:tier1 script already exists in agent-core-e2e package.json",
"self-hosted runner is available for nightly cron runs"
],
"open_questions": []
}