feat(btw): constrain computer use by loop runtime - #142
Merged
Merged
Conversation
5 tasks
8 tasks
This was referenced Sep 10, 2026
YUZHEthefool
added this pull request to stack #149
September 10, 2026 16:54
6 tasks
BegoniaHe
force-pushed
the
split/btw-loop-runtime
branch
from
September 10, 2026 18:59
6b3f5fd to
c38991f
Compare
BegoniaHe
force-pushed
the
split/btw-loop-runtime
branch
from
September 10, 2026 19:21
c38991f to
4d5392f
Compare
Extract Computer Use boundaries from the original PR #28 prototype and apply them through the current request tool catalog. Keep conversation requests and handoffs free of computer tools, and let work select the inherited, local, sandbox, or disabled runtime without changing authority. Fixes #129 AI-Generated: true Generated-At: 2026-09-10T15:38:41Z
BegoniaHe
force-pushed
the
split/btw-loop-runtime
branch
from
September 10, 2026 19:25
4d5392f to
0e6b1b5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Keep Computer Use out of conversation and resolve work runtime as inherit, none, local, or sandbox. Apply the same boundary to main-agent catalog assembly, handoffs, and explicitly supplied computer tools.
Related issue
Related: #129
Parent: #122
Design: #28
Stack
split/btw-loop-models. Depends on PR #141.Behavior
Keep Computer Use unavailable to conversation and let work inherit or explicitly select none/local/sandbox. Apply restrictions through current request/tool assembly and the existing authorization service.
Non-goals
Authorization redesign, automatic elevation, new sandbox backends, and legacy configuration support are outside scope.
Implementation notes
Base branch:
split/btw-loop-models. Depends on PR #141. This PR shows only this feature's changes relative to that dependency. The original prototype at33ee103a62937db3e930c89ba47a648b75cc7772is provenance; integration follows current master's owners and authorization contracts. The parent issue records review/integration order.No new HTTP contract or dependency changes. Feature settings and behavior are documented in both languages.
Validation
Combined backend validation: 551 passed, 3 skipped across 18 modules covering both loops, commands/status, detached delivery, providers, capability catalogs, Skills, authorization, metadata conversion, and import boundaries. All five feature heads passed 8 metadata tests. Frozen-lockfile Dashboard checks passed: 3 selector tests, i18n, tsc, vue-tsc, and production build; MDI generation has no tracked asset delta. The VitePress /help/ build and targeted Pyright passed. The final rebase only incorporates six corrected Chinese strings from B3; metadata and i18n checks were repeated after that correction.
Combined checks were run on the integrated capability worktree at
660ebedfb3bb508865a5f2797d00cc50bec63d46. The final branch retains that implementation with the inherited translation correction noted above. Run backend commands from the worktree root, Dashboard commands fromdashboard/, and documentation commands fromdocs/:Python checks used the existing Python 3.14.1 environment with
python -m pytestand task-local--basetempdirectories. Local Node was 24.11.1; CI must validate the pinned toolchain. Relevant scoped formatting and Markdown checks were run. The root tracker records the final combined validation. No live model evaluation is implied by deterministic tests or documentation checks.Compatibility and risk
Preserves current master authorization, including configuration-scoped IM instance-tool roles. Runtime selection does not grant privileges. Existing future imports are retained; the incompatible pyupgrade hook is skipped while Ruff remains active.
Checklist
Repository references: AGENTS.md, GOVERNANCE.md, AI_POLICY.md, and the feat PR template.
Agent note
Codex prepared this PR at the user's request to split the original #28 implementation into reviewable features, with only classifier experiments marked as drafts. AI assisted extraction, current-path adaptation, tests, and English descriptions. The validation above was performed locally; remaining limitations are stated explicitly. This note is not a maintainer approval. No PR has been merged.