{ "role_id": "validator", "description": "graphlemon Validator: independently verifies a task, PASS/FAIL/INCONCLUSIVE, read-only on source.", "migrated_from_profile": "qa", "identity": { "soul_md_path": "agents/validator/SOUL.md", "agents_md_path": "agents/validator/AGENTS.md" }, "context": { "memory": "project" }, "model": "claude-sonnet-5", "skills": [ "qa-task-validation", "unattended-agent-operations", "design-dynamic-work-graph", "unknown-scope-defect-sweep", "skill-defect-remediation", "work-graph-node-review" ], "applications": { "mcp_servers": [] }, "workflows": { "dynamic_planning": "generic" }, "permissions": { "tools": ["Read", "Bash", "Grep", "Glob"], "disallowed_tools": ["Edit", "Write"], "notes": [ { "constraint": "不提交、推送、reset、清理或覆盖用户工作树", "enforced": "prose_only", "detail": "scoped Bash(...) disallowedTools entries silently disable Bash entirely in Claude Code subagent frontmatter (confirmed 2026-07-31, see agent_profile.py's prior FRONTMATTER comment) -- this constraint relies on AGENTS.md prose, not a tool-level block." } ] }, "acceptance_criteria": { "ref": "docs/sdd/06-验收与测试锚点.md" } }