mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
feat(grok): close the Claude-parity divergences (reasoning, subagents, web, bash-guard)
Bring the grok CLI to parity with the Claude path on the four deliberate
differences:
- Reasoning: drop the per-role `--effort low` default — Claude sets no per-role
thinking budget, so grok now uses the model default for every role. The
fleet-wide ROBOCO_GROK_REASONING_EFFORT override stays as a cost lever. (This
also un-caps intake-draft quality, the one that actually mattered.)
- Subagents: the intake interviewer may now fan out to subagents (parity with the
Claude intake's `Task` allowance); every other role still has `Agent` removed.
- Web: `--disable-web-search` for every role — no agent gets direct web (Claude's
tool set has none either); the roles that get web reach it through the gated
roboco-search MCP, unaffected.
- Bash command filtering: full parity, split by deny semantics. Verified live that
a grok PreToolUse hook deny CANCELS the run, while native `--deny` denies
GRACEFULLY (the agent gets a permission error and recovers). So:
* git network/branch/history ops -> native `--deny` (operational reflex; the
agent must recover, not drop the task). Expanded to the full bash-guard set.
* credential-exfil / identity-forgery / internal-API / env-dump patterns ->
the SAME bash-guard the Claude path runs, wired as a grok PreToolUse hook
(ROBOCO_GUARD_SKIP_GIT=1 so it leaves git to `--deny`). A hard cancel is the
right response there — no legitimate agent reads ~/.netrc or forges an
X-Agent-ID. One tolerance line (accept grok's camelCase `toolInput`) makes
the one tested script guard both runtimes; +5 grok cases (50/50 green).
Also cleaned stale internal task-number / smoke labels out of bash-guard-hook.sh.
This commit is contained in:
+9
-6
@@ -101,13 +101,16 @@ ROBOCO_DEFAULT_EMBEDDING_MODEL=qwen3-embedding:0.6b
|
||||
# ROBOCO_GROK_AGENT_IMAGE=roboco-agent-grok:latest
|
||||
# ROBOCO_GROK_CLI_MODEL=grok-build
|
||||
|
||||
# Per-role tool permissions are computed as native grok flags (subagents off;
|
||||
# edit/shell removed for non-coding roles; raw git mutation + rm -rf denied for
|
||||
# coding roles) — there is nothing to set here.
|
||||
# Per-role tool permissions are computed as native grok flags (subagents off
|
||||
# except intake; edit/shell removed for non-coding roles; git network/branch/
|
||||
# history mutation + rm -rf denied for coding roles; web search off for all —
|
||||
# gated web is via the roboco-search MCP). Credential-exfil / identity-forgery /
|
||||
# internal-API shell patterns are blocked by the same bash-guard the Claude path
|
||||
# runs, wired as a grok PreToolUse hook. Nothing to set here.
|
||||
|
||||
# Force one reasoning effort for ALL Grok agents: low | medium | high | xhigh |
|
||||
# max (or empty for the per-role default — coordination/docs/board roles request
|
||||
# "low" to cut reasoning cost, code roles keep full reasoning).
|
||||
# Reasoning effort for ALL Grok agents: low | medium | high | xhigh | max. Empty
|
||||
# keeps grok's model default for every role (parity with Claude — no per-role
|
||||
# cut); set this to trade quality for cost across the whole fleet.
|
||||
# ROBOCO_GROK_REASONING_EFFORT=
|
||||
|
||||
# Hard ceiling on agentic turns per run (loop guard).
|
||||
|
||||
Reference in New Issue
Block a user