feat(operator): portable CAPABILITIES.md as the single Layer-1 prompt (P4)

The operator's capabilities contract was Claude-only — delivered via the
hh-operator skill, which non-Claude runners cannot load. Extract it into a
portable CAPABILITIES.md and make compose_directive runner-aware: the claude
runner still loads its skill, every other runner gets the capabilities prompt
inlined. Same contract, no skill machinery required.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
leetcrypt
2026-06-28 23:15:56 -07:00
parent 09cea40494
commit 2091bcefed
4 changed files with 99 additions and 7 deletions
+2 -1
View File
@@ -612,7 +612,8 @@ class OperatorBridge(Client):
return {"ok": False, "error": str(e)}
stop = req.get("stop") or None
directive = boot.compose_directive(objective, room, child_budget, stop=stop)
directive = boot.compose_directive(objective, room, child_budget,
stop=stop, runner=runner)
argv = boot.build_run_argv(directive, skip_permissions=skip_perms,
config_dir=config_dir, runner=runner)
creds = boot.plan_creds(config_dir or "~", allow=allow_creds, runner=runner)