8 capabilities (output/quality/safety/scope/tools) + 12 manifests + 5 roles. Consistent classification per W9-A rules. Deprecated-alias stubs (tools::cargo-only-bash, tools::read-only) skipped — no [gate]/[verify] sections. facet-query results: kingdom=capability → 11 hits (was 3) kingdom=capability gate → 6 hits (was 2) kingdom=manifest → 12 hits (was 0) Roles tagged but not reachable by current facet_query (walker scans _capabilities + _manifests). Forward-compat for walker extension. cargo test -p kei-atom-discovery: 16/16 preserved. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
39 lines
1.1 KiB
TOML
39 lines
1.1 KiB
TOML
[role]
|
|
name = "read-only"
|
|
display-name = "explorer (read-only analyst)"
|
|
description = "Read-only agent: inspects code, emits structured report with severity grades. No shell, no edits, no git."
|
|
spawnable = true
|
|
# Read-only + severity-grade default maps to critic; architect-flavoured tasks
|
|
# should override this per task via claude-subagent-type in task.toml.
|
|
claude-subagent-type = "critic"
|
|
|
|
[capabilities]
|
|
# Ordered list — text.md fragments concatenated in this order.
|
|
# v0.17 rename: `tools::read-only` → `tools::deny-tools` (alias still honored).
|
|
required = [
|
|
"tools::deny-tools",
|
|
"output::report-format",
|
|
"output::severity-grade",
|
|
]
|
|
|
|
[tools]
|
|
# Tool allowlist — anything not in this list is denied
|
|
allowed = ["Read", "Glob", "Grep", "WebFetch"]
|
|
# No Bash → no bash-patterns-allowed
|
|
bash-patterns-allowed = []
|
|
|
|
[escalation]
|
|
policy = "ask-via-return"
|
|
|
|
[taxonomy]
|
|
kingdom = "role"
|
|
mechanism = "compose"
|
|
domain = "agent"
|
|
layer = "agent-substrate"
|
|
stage = "design-time"
|
|
stability = "stable"
|
|
language = "toml"
|
|
|
|
[lineage]
|
|
creator = "ag-orchestrator-human"
|
|
created = "2026-04-23"
|