Skip to content

fix(web): 同步三档权限合同并补齐任务能力入口 #287

Description

@Qiyuanqiii

用户问题

权限设置已从旧五档收敛为 Ask / Auto / Full,但前端的接口校验、提示和功能入口没有完全跟随后端更新。用户能看到三档选择器,却可能无法读取执行环境,也难以找到已实现的交付、审阅及验证功能。

已确认的问题

  1. internal/application/run_capability_readiness.go 返回 ask/auto/full 三个权限选项,web/src/api/client.ts 的 readiness 校验仍要求旧五档。同一合法 HTTP 200 envelope 经过真实 APIClient:旧五档通过,三档抛出 INVALID_RESPONSE: Run capability readiness option group is incomplete。执行环境和审阅检查面板依赖此接口。现有夹具和部分组件 mock 保留旧五档,导致 CI 漏检。
  2. 执行环境、调试启用说明和网络状态仍有旧权限语义。网络 UI 不应仅根据旧 full_access/debug 值宣称任意公网 HTTPS 已授权,必须保留实际主机范围与独立审批边界。
  3. 批量交付验收/返工/合并、高级 Git 和 GitHub 审阅写回已有受控界面,但主要藏在 Inspector;主任务审阅流程缺少清晰入口。
  4. UI 取证和批量验证受独立启动 capability 控制。前端应明确能力未启用的原因及现有启用方式;不能将单项 capability 缺失误报成整个连接只读。

修复范围与验收

  • 当前三档 readiness 能通过实际 APIClient 解析,执行环境/审阅检查可消费;缺项、重复、未知权限仍被拒绝。
  • 当前测试夹具与后端三档合同同步,增加跨 Go 输出与 TypeScript 解析器的回归证据,避免只 mock 已解析对象。
  • 三档审批偏好、执行环境、调试运行时及精确网络范围在前端说明中分开表达;历史五档记录仍可读取。
  • 在任务审阅中提供批量交付、高级 Git/GitHub 审阅、UI 取证的可发现入口,复用现有受控流程并绑定用户选择的执行记录。
  • 能力关闭时显示准确原因与可行的配置说明,保持按钮禁用和既有后端检查。
  • 相关交互回归、TypeScript 检查、构建及适用 CI 通过。

边界

沿用 ADR 0165 的三档可写权限与 Go 唯一授权模型,不恢复旧五档写入,不新增授权端点,不改变启动 capability 默认值。Full、调试模式、公开网络范围和后台验证不能互相隐式授予;所有审批、确认、执行记录范围和幂等检查继续由原有接口处理。本 issue 补齐已实现能力的前端对接,不声称完成真实外部模型或宿主浏览器的全部验收。

实现与验证

修复见 PR #288。最终提交 bdcccee 的 适用 CI 已通过,包含 175 个前端测试文件 / 1,682 项测试、Go 检查及控制平面门禁。Issue 保持开放,随 PR 合并关闭。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions