Automattic / Automattic/wp-codebox
Bridge approved parent tools for imported sandbox agents
- Dominant language
- TypeScript
- Stars
- 16
- Forks
- 4
- Avg merge
- 59m
- Merged PRs (30d)
- 131
Description
## Problem
Imported native agents execute in WordPress Playground but receive no workspace/Git/GitHub tools. The reusable workflow correctly classifies those tools as `parent` / `control_plane`; `sandbox-tool-policy` therefore excludes them and `tool_contract.tools` is empty.
Evidence: https://github.com/Automattic/build-with-wordpress/actions/runs/29311239264
The technical bootstrap agent runs but cannot inspect or modify the target checkout and returns no-op.
## Required outcome
Implement the generic parent-tool bridge already modeled by `wp-codebox/parent-tool-bridge/v1`:
- Expose only approved parent tool schemas to the model as bridged client tools while retaining parent/control-plane execution classification.
- Pause the Agents API loop on a bridged call, return a bound pending request to the Node host, execute it through the policy-aware runner-workspace executor, submit the result, and resume the same runtime conversation until terminal.
- Bind request/result to run, session, tool call, allowed tool and allowed repository; enforce idempotency, turn/tool/time budgets, approval and redaction.
- Never expose host paths, tokens, shell access, or arbitrary command execution to the sandbox.
- Support workspace read/search/write/edit/patch and the declared Git/GitHub operations through existing typed executors.
- Add deterministic imported-package E2E: model reads and edits a temp workspace through the bridge, verification passes, patch captured; spoof/denied/malformed/replay cases fail.
- No Docs Agent-specific production code.
- Release and rerun both maintenance and bootstrap.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the modeled wp-codebox/parent-tool-bridge/v1 contract, sandbox-tool-policy, the Agents API loop, and the existing typed executors. Verify the imported-package E2E covers workspace read/edit, patch capture, spoofing, denial, malformed requests, and replay; done also requires release and reruns of maintenance and bootstrap.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, github, typescript, wordpress
- Domain
- backend-api-design, security, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100