fix: 通过主工作区契约委派 tran
This commit is contained in:
@@ -97,7 +97,9 @@ imageRef:
|
||||
- UniDesk repo 提供 primary source workspace 与 `unidesk-*` skills;
|
||||
- AgentRun repo 提供 `tools/trans`、`tools/tran`、`tools/apply_patch` 等 runner tool shim;
|
||||
- `agent_skills` repo 提供 `dad-dev`、`cli-spec`、`docs-spec`、`git-spec`;
|
||||
- `tools/tran` 只委派 primary UniDesk workspace 的 `scripts/tran`,Windows、host 与 k3s route 解析和 frontend transport 均由 UniDesk 共享实现负责;
|
||||
- runner 通过 `AGENTRUN_WORKSPACE_PATH` 显式传递已物化的 primary workspace;
|
||||
- `tools/tran` 只从该路径委派 primary UniDesk workspace 的 `scripts/tran`,不得根据安装 shim 的 `$0` 反推源码目录;
|
||||
- Windows、host 与 k3s route 解析和 frontend transport 均由 UniDesk 共享实现负责;
|
||||
- runner 物化阶段自动把 GitHub URL 改写到 G14 git mirror,Artificer 规格本身不声明 mirror 开关或 mirror base URL。
|
||||
- primary source workspace 与受控远端 tool target 是不同边界:
|
||||
- Agent 修改的源码仍以 `ResourceBundleRef` 物化出的 primary workspace 为唯一来源;
|
||||
|
||||
@@ -206,10 +206,26 @@ runner 对 managed overlay 的逻辑 `tools/` 做统一装配:
|
||||
- 顶层带 shebang 的脚本会被 `chmod +x`,并通过 `PATH` 暴露;
|
||||
- runtime 配置 `AGENTRUN_RESOURCE_BIN_PATH` 时,只能在该目录写入执行原始 overlay tool 的 shim;
|
||||
- 禁止复制 tool 文件到 bin 目录后改变 `dirname "$0"`、相对 import 或辅助源码解析语义;
|
||||
- runner 必须通过 `AGENTRUN_WORKSPACE_PATH` 向 backend tool 显式传递已物化的 primary workspace;
|
||||
- runtime tool 不得根据安装 shim 的 `$0` 反推 primary workspace;
|
||||
- 非 shebang 文件只作为 bundle 源码、测试或辅助文件,不作为可执行工具发现;
|
||||
- 短命令名称来自 repo 内真实文件,例如 `tools/hwpod`,repo tool 本身承担业务 wrapper 语义。
|
||||
|
||||
AgentRun 自身仓库必须提供 `tools/tran`、`tools/trans` 与 `tools/apply_patch`,用于承接 UniDesk frontend `/ws/ssh` 的 scoped client-token 透传。runner 只通过 `executionPolicy.secretScope.toolCredentials[]` 投影 `UNIDESK_SSH_CLIENT_TOKEN`,并通过调用方 `transientEnv` 或 manager 受控默认值注入非敏感 `UNIDESK_MAIN_SERVER_IP`、`UNIDESK_MAIN_SERVER_HOST` 或 `UNIDESK_FRONTEND_URL`;工具不得读取 provider token、主 server SSH key 或完整 frontend 登录态。`tran --help` 必须输出 JSON,并列出当前支持的最小开发面:host/host workspace `script`、`argv`、普通 ssh-like 命令、host workspace `apply-patch`、`k3s kubectl`、`k3s script`、k3s workload `argv/script` 和 k3s workload `apply-patch`。runner 侧 `apply-patch` 只把 stdin patch 和相邻 `tools/apply_patch` helper 传到目标 route 执行,不接触或回显 Secret 值;`upload`、`download` 和 Windows route 未实现时必须显式 `unsupported-operation`,不能静默改走不受控 shell 拼接或 token fallback。
|
||||
AgentRun 自身仓库必须提供 `tools/tran`、`tools/trans` 与 `tools/apply_patch`:
|
||||
|
||||
- 这些工具用于承接 UniDesk frontend `/ws/ssh` 的 scoped client-token 透传;
|
||||
- runner 只通过 `executionPolicy.secretScope.toolCredentials[]` 投影 `UNIDESK_SSH_CLIENT_TOKEN`;
|
||||
- 非敏感 frontend 地址只由受控入口注入:
|
||||
- 可用字段是 `UNIDESK_MAIN_SERVER_IP`、`UNIDESK_MAIN_SERVER_HOST` 或 `UNIDESK_FRONTEND_URL`;
|
||||
- 注入来源是调用方 `transientEnv` 或 manager 受控默认值;
|
||||
- 工具不得读取 provider token、主 server SSH key 或完整 frontend 登录态;
|
||||
- `tools/tran` 只委派 `AGENTRUN_WORKSPACE_PATH` 指向的 primary UniDesk workspace 中的 `scripts/tran`;
|
||||
- route 与 transport 职责保持单一:
|
||||
- Windows、host 与 k3s route 解析和 frontend transport 均由 UniDesk 共享实现负责;
|
||||
- AgentRun 不维护第二套 parser 或 fallback;
|
||||
- runner 侧 `apply-patch` 保持最小职责:
|
||||
- 只把 stdin patch 和相邻 `tools/apply_patch` helper 传到目标 route 执行;
|
||||
- 不接触或回显 Secret 值。
|
||||
|
||||
#### promptRefs
|
||||
|
||||
|
||||
Reference in New Issue
Block a user