{
  "schemaVersion": 2,
  "runtimeAdapterVersion": 2,
  "source": {
    "repository": "https://github.com/Rosetears520/aili-workflows.git",
    "commit": "a69f3149d8f1db81726128c2819a3ccc954b9ccc"
  },
  "bundledSelectors": [
    "aili.agent-evaluator",
    "aili.ai-regression-scout",
    "aili.browser-qa-runner",
    "aili.code-reviewer",
    "aili.code-scout",
    "aili.convergence-reviewer",
    "aili.doc-researcher",
    "aili.e2e-artifact-runner",
    "aili.implementer",
    "aili.opensource-sanitizer",
    "aili.plan-auditor",
    "aili.pr-test-analyzer",
    "aili.solution-architect",
    "aili.security-auditor",
    "aili.silent-failure-reviewer",
    "aili.spec-miner",
    "aili.test-coverage-reviewer",
    "aili.test-engineer",
    "aili.web-performance-auditor",
    "aili.web-researcher",
    "general"
  ],
  "outputContract": [
    "status",
    "summary",
    "evidence",
    "changedFiles",
    "verification",
    "blockers",
    "risks",
    "confidence"
  ],
  "turnAuditFields": [
    "selector",
    "profileHash",
    "sourceHash",
    "profileVersion",
    "runtimeAdapterVersion",
    "effectiveTools",
    "provider",
    "model",
    "thinking"
  ],
  "records": [
    {
      "name": "agent-evaluator",
      "selector": "aili.agent-evaluator",
      "description": "Read-only evaluator for Worker output task fit, evidence quality, claim hygiene, missed constraints, and handoff usability.",
      "profilePath": "roles/agent-evaluator.md",
      "profileHash": "15002a7bc5970cdddfb5947da778c61c26b72e40d3412da1c5b74d1339b9338e",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/agent-evaluator.md",
      "sourceHash": "af853065889ef50def8b319e2f256403340aa5d652e017dc778be255e8eaf40f",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "ai-regression-scout",
      "selector": "aili.ai-regression-scout",
      "description": "Read-only scout for prompt, agent, skill, routing, and generated-output regression scenarios.",
      "profilePath": "roles/ai-regression-scout.md",
      "profileHash": "c37fe0dae8da57da4943a6c3e2bc3a96bb652289227d2245b64ac863e52d2a27",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/ai-regression-scout.md",
      "sourceHash": "ab6720d5b0d3675523e9967e6b0f0fcaab17a807205c9c6a7502de4708c0338e",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "browser-qa-runner",
      "selector": "aili.browser-qa-runner",
      "description": "Browser QA test runner for bounded local UI verification.",
      "profilePath": "roles/browser-qa-runner.md",
      "profileHash": "85270e2c709794b7928eb9c83739fe875a0edf278aa27679330ca67a6e2b3536",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/browser-qa-runner.md",
      "sourceHash": "c257ad44f885e1f8f5a8e285d118ff532569aa92d18d40d4677cff12b0f314f1",
      "tools": [
        "read",
        "write",
        "edit"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read",
        "repo.write",
        "browser.qa"
      ],
      "spawns": [],
      "blocking": false,
      "status": "optional",
      "compatibilityReason": "Optional capabilities are required: browser.qa.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "code-reviewer",
      "selector": "aili.code-reviewer",
      "description": "Senior read-only code reviewer for correctness, readability, architecture, security, and performance risks.",
      "profilePath": "roles/code-reviewer.md",
      "profileHash": "325b40f8317992e1a8cc8ecb93e17c3d992c649e5f769f64530fba770dbba006",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/code-reviewer.md",
      "sourceHash": "a783ae2d552463c0cf90478052e8f1c07dfa0c861e6ec779378658c0f41f2c23",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "code-scout",
      "selector": "aili.code-scout",
      "description": "Read-only code scouting Worker for files, symbols, tests, callers, configuration, patterns, and constraints.",
      "profilePath": "roles/code-scout.md",
      "profileHash": "929c1107aae249718c1c04429e433be5373e09b16d8a7a41dfb495b15403420e",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/code-scout.md",
      "sourceHash": "cef17fa2a8ac87cc36b16aac7fba4d67cdb2915090252ff9c3cd472244cb2143",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "convergence-reviewer",
      "selector": "aili.convergence-reviewer",
      "description": "Read-only reviewer for formal artifact, task, implementation, and evidence consistency.",
      "profilePath": "roles/convergence-reviewer.md",
      "profileHash": "3c8e88e5237c2f670828a57225a03ec64a6976ec93baa3b8a72fad07057d7884",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/convergence-reviewer.md",
      "sourceHash": "512a7383cee8fdcd87517973de9abee40affdf18c436d2b2145868d5a41231d9",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "doc-researcher",
      "selector": "aili.doc-researcher",
      "description": "Read-only local documentation researcher for project rules, specifications, decisions, and documentation.",
      "profilePath": "roles/doc-researcher.md",
      "profileHash": "b6805cc2acd2bb414eb9f87af786558742f974a1abdbcd895cdb6ab01347fbe7",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/doc-researcher.md",
      "sourceHash": "6a3df09e29d7163be3518fec296d0a9760fad03e51cc7467e24c1488de501927",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "e2e-artifact-runner",
      "selector": "aili.e2e-artifact-runner",
      "description": "E2E artifact runner for controlled traces, videos, screenshots, reports, and failure bundles.",
      "profilePath": "roles/e2e-artifact-runner.md",
      "profileHash": "fcefb6a0f873ba777e7de26df08591b75362028c1bf2174bde2ac7e2f905e5f7",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/e2e-artifact-runner.md",
      "sourceHash": "9e87931d74c2b3e46b71b6c273910540016487e6dbb61a809a0b9901b194e61a",
      "tools": [
        "read",
        "write",
        "edit"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read",
        "repo.write",
        "browser.qa",
        "artifact.store"
      ],
      "spawns": [],
      "blocking": false,
      "status": "optional",
      "compatibilityReason": "Optional capabilities are required: browser.qa, artifact.store.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "implementer",
      "selector": "aili.implementer",
      "description": "One bounded persistent implementation Worker for a scoped code-change package.",
      "profilePath": "roles/implementer.md",
      "profileHash": "6cb90d6ae8e1ee2332b9cd281748833ee33ea5ae419b097bb691d26ae99b3507",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/implementer.md",
      "sourceHash": "4584693f4b5bdca5785eb9219d435541ce03ac2e29bd439e03e25d36d97c251d",
      "tools": [
        "read",
        "write",
        "edit"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read",
        "repo.write"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source edit semantics are mapped to Pi write/edit under parent, role, mode, canonical-root, explicit task-boundary, credential, and headless fail-closed guards; source bash semantics are not granted.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "opensource-sanitizer",
      "selector": "aili.opensource-sanitizer",
      "description": "Read-only open-source release sanitizer for public, npm, and package exposure risks.",
      "profilePath": "roles/opensource-sanitizer.md",
      "profileHash": "1622aa5e15fcd5fe6720b4eec2de46b120cf5ae81a2c2b219505da547b0be30f",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/opensource-sanitizer.md",
      "sourceHash": "8259b5f2dea13e5ef1372bf6a25cec035102ba09650f6253634fd98a95694630",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "plan-auditor",
      "selector": "aili.plan-auditor",
      "description": "Read-only plan auditor for specifications, plans, tasks, acceptance criteria, and verification gaps.",
      "profilePath": "roles/plan-auditor.md",
      "profileHash": "f655d674cef6acb8c9f1802865878661ff77bc41749c85e24591836f6adb85f2",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/plan-auditor.md",
      "sourceHash": "2208491edb327df64ec52293cc06788986ddb8cc64c003dc7a4b897485b0d9e0",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "pr-test-analyzer",
      "selector": "aili.pr-test-analyzer",
      "description": "Read-only PR testing analyst for diff-level test impact, changed-test quality, and provided CI evidence.",
      "profilePath": "roles/pr-test-analyzer.md",
      "profileHash": "ec282c4bee25cce0d704acfedc0dcd672db64828ad77401881a7a8a44d3bd222",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/pr-test-analyzer.md",
      "sourceHash": "1e1a350383d6068cb8c8d11ac1658cf726aa64d5015d8a8535d04f3b0706cd84",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "solution-architect",
      "selector": "aili.solution-architect",
      "description": "Repository-grounded solution-design Worker for bounded technical options, interfaces, impact analysis, and implementation-package candidates.",
      "profilePath": "roles/solution-architect.md",
      "profileHash": "f908b9644d602340d176539d8f730d13725183e3272d3dfb1a9715c8e5449acb",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/solution-architect.md",
      "sourceHash": "7d63b2ba8c6da7cc73db11cfd3858d575aaa28e909bcaf4901f29de6953344fb",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "security-auditor",
      "selector": "aili.security-auditor",
      "description": "Read-only security reviewer for a scoped local trust-boundary or vulnerability question.",
      "profilePath": "roles/security-auditor.md",
      "profileHash": "a47a9d22bbd27c1604d771cff37aeaf4f78350e0c674802c0dec624143df4b46",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/security-auditor.md",
      "sourceHash": "fd26a582c481deb55afc4700507721413a049c0e8c75c60c8d748b0f70f3978a",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "silent-failure-reviewer",
      "selector": "aili.silent-failure-reviewer",
      "description": "Read-only reviewer for false-success paths, skipped work, swallowed errors, lost evidence, and weakened gates.",
      "profilePath": "roles/silent-failure-reviewer.md",
      "profileHash": "5ea1547493d3590b59d65f55deb107661fb2f32ed9deb318570002398c860a2d",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/silent-failure-reviewer.md",
      "sourceHash": "ece106f683b2bb3f3156f4d56f0cf2c72b00dbb4ed0023d733ff2eee9f7dbaf3",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "spec-miner",
      "selector": "aili.spec-miner",
      "description": "Read-only miner for candidate requirements and scenarios from current code, tests, docs, and OpenSpec artifacts.",
      "profilePath": "roles/spec-miner.md",
      "profileHash": "1bd4bdec0ec7d774fc41cc6258a16e58e954fdeacef590618c741660b1b61189",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/spec-miner.md",
      "sourceHash": "0d3d9914f83efef47ca3327fc9541e5eb92b264e592bcb7ab121658e973744b1",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "test-coverage-reviewer",
      "selector": "aili.test-coverage-reviewer",
      "description": "Read-only reviewer for test coverage adequacy and verification sufficiency.",
      "profilePath": "roles/test-coverage-reviewer.md",
      "profileHash": "48211411dac68615e3256b8b79af4b7cc153e4740fd79648597edf5dba55934d",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/test-coverage-reviewer.md",
      "sourceHash": "10148f347c7f7aeb824f067b82828e69ed2a77b4d403dc64d25087b71ad47fdd",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source role is safely narrowed to Pi read-only tools with application-level credential/path guards.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "test-engineer",
      "selector": "aili.test-engineer",
      "description": "QA Worker for focused test design, writing, execution, CLI/browser verification, and coverage analysis.",
      "profilePath": "roles/test-engineer.md",
      "profileHash": "0933f96a5451d0df82cdccffbc476d2fa8b52612727a4c3189ff10120e68e79e",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/test-engineer.md",
      "sourceHash": "946e2e646f43fda2c7ee7d384086bf07e17226f8117e2837366389df91ecf18f",
      "tools": [
        "read",
        "write",
        "edit"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read",
        "repo.write"
      ],
      "spawns": [],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "Source edit semantics are mapped to Pi write/edit under parent, role, mode, canonical-root, explicit task-boundary, credential, and headless fail-closed guards; source bash semantics are not granted.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "web-performance-auditor",
      "selector": "aili.web-performance-auditor",
      "description": "Read-only reviewer for measurable web performance risks and relevant user-facing metrics.",
      "profilePath": "roles/web-performance-auditor.md",
      "profileHash": "7f293e6f69d1ce5f0058371cc3876303ddeec2aedc638eb860196963839096ee",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/web-performance-auditor.md",
      "sourceHash": "0c9ad2e3c77ee08a4b5d963609d51b54f890e32200c963621e34f7a1d57d1d2f",
      "tools": [
        "read",
        "grep",
        "find",
        "ls"
      ],
      "toolPolicy": "static",
      "capabilities": [
        "repo.read",
        "browser.qa"
      ],
      "spawns": [],
      "blocking": false,
      "status": "optional",
      "compatibilityReason": "Optional capabilities are required: browser.qa.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "web-researcher",
      "selector": "aili.web-researcher",
      "description": "Read-only public web researcher for explicitly scoped official documentation, releases, and package evidence.",
      "profilePath": "roles/web-researcher.md",
      "profileHash": "104246c68026af2b97558358c55e1801b0d0d44904f55beaeb2db5ca3f9c4a2e",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "canonical-adapter",
      "sourcePath": "agents/web-researcher.md",
      "sourceHash": "877e42e4f8f26a303a9175652e4152422ba96860308e3e5a590d5362202a86d8",
      "tools": [],
      "toolPolicy": "static",
      "capabilities": [
        "web.fetch"
      ],
      "spawns": [],
      "blocking": false,
      "status": "optional",
      "compatibilityReason": "Optional capabilities are required: web.fetch.",
      "sourceFrontmatterDisposition": {
        "mode": "translated into a parent-scoped persistent official Pi Agent session",
        "hidden": "not interpreted by Pi",
        "permission": "translated into the explicit Pi tool/capability ceiling; source YAML is never executed"
      }
    },
    {
      "name": "general",
      "selector": "general",
      "description": "General persistent Agent for focused delegated work using the parent's current active tool ceiling and explicit spawn policy.",
      "profilePath": "roles/general.md",
      "profileHash": "a849177455c21c39d839b8634d0dce3602516575ba51629ea49be8007c7370ac",
      "profileVersion": 2,
      "runtimeAdapterVersion": 2,
      "sourceKind": "aili-owned",
      "sourcePath": null,
      "sourceHash": "a849177455c21c39d839b8634d0dce3602516575ba51629ea49be8007c7370ac",
      "tools": [],
      "toolPolicy": "inherit-parent",
      "capabilities": [
        "parent.active"
      ],
      "spawns": [
        "aili.agent-evaluator",
        "aili.ai-regression-scout",
        "aili.browser-qa-runner",
        "aili.code-reviewer",
        "aili.code-scout",
        "aili.convergence-reviewer",
        "aili.doc-researcher",
        "aili.e2e-artifact-runner",
        "aili.implementer",
        "aili.opensource-sanitizer",
        "aili.plan-auditor",
        "aili.pr-test-analyzer",
        "aili.solution-architect",
        "aili.security-auditor",
        "aili.silent-failure-reviewer",
        "aili.spec-miner",
        "aili.test-coverage-reviewer",
        "aili.test-engineer",
        "aili.web-performance-auditor",
        "aili.web-researcher"
      ],
      "blocking": false,
      "status": "adapted",
      "compatibilityReason": "AILI-owned OMP-inspired general worker; effective tools inherit and can only narrow the parent active ceiling.",
      "sourceFrontmatterDisposition": {
        "mode": "AILI-owned persistent Agent profile",
        "hidden": "not applicable",
        "permission": "runtime parent-active/capability/policy intersection"
      }
    }
  ]
}
