修复 AGC 运行时测试回归与 Provider 错误分类问题 #198

Merged
kdletters merged 2 commits from codex/fix-agc-runtime-test-regressions into master 2026-08-26 15:29:28 +08:00
Member

背景

本 PR 修复了最新 master 基线上发现的 AGC 测试失败,包括 Direct Runtime Skill 契约、敏感信息脱敏、外部生成 5xx 结果未知、Provider transport 错误分类,以及本地 mock 请求体读取问题。主要集中在:

  • Direct Runtime 提示词和 Skill 索引契约未同步;
  • 浏览器诊断、委派回执和 Runtime 失败投影的敏感信息脱敏回归;
  • macOS 临时目录路径被误判为不安全链接祖先;
  • 流式和画布 mock 服务只读取请求头,导致请求体断言失败;
  • 本机 HTTP 代理将 loopback 连接关闭改写为 HTTP 502,导致 transport 错误分类错误;
  • 平台图片生成收到 5xx 时,无法正确区分确定拒绝和结果未知。

本 PR 不包含资源管理滚轮分页相关前端改动。

修复内容

Direct Runtime 与 Skill 契约

  • 补齐审核 Skill 索引及 manifest 指纹。
  • 恢复 Direct Runtime 提示词相关测试。
  • 保持系统提示词长度、审核索引范围和敏感信息边界不变。

敏感信息投影

  • 浏览器诊断在进入同线程修复前统一脱敏。
  • 委派回执严格隔离敏感上下文。
  • Runtime 失败投影不再泄漏命令行密码参数或旧计划明细。

外部生成与 Provider 错误分类

  • 平台图片生成提交收到 5xx 时统一返回“结果未知”。
  • 保留本地恢复账本,禁止将 5xx 当作确定拒绝。
  • platform-llmlocalhost、IPv4/IPv6 loopback 地址禁用环境代理,避免代理伪造 502,恢复真实 transport/stream 错误分类。

测试与 macOS 边界

  • 流式 LLM、External Canvas mock 服务改为读取完整 HTTP 请求体。
  • 允许 macOS /var/private/var 的系统临时目录祖先链接。
  • 继续拒绝用户项目中的链接祖先。
  • macOS 下跳过不满足平台前提的大小写敏感路径和非 UTF-8 文件名测试。

影响范围

  • AGC Direct Runtime
  • Provider Runtime
  • External Canvas 生成恢复
  • platform-llm loopback HTTP 客户端
  • 相关 Rust 测试基础设施

不改变公网 API、SpacetimeDB schema、资源管理滚轮分页行为或外部生产 Provider 的代理策略。

验证结果

  • AGC Rust 完整测试:2303 passed, 0 failed, 14 ignored
  • platform-llm 测试:132 passed, 0 failed
  • npm run check:encoding:通过
  • git diff --check:通过

分支与提交

  • 分支:codex/fix-agc-runtime-test-regressions
  • 基线:origin/master
  • 最新提交:94c5443a2 修复AGC运行时测试与本地请求回归
## 背景 本 PR 修复了最新 master 基线上发现的 AGC 测试失败,包括 Direct Runtime Skill 契约、敏感信息脱敏、外部生成 5xx 结果未知、Provider transport 错误分类,以及本地 mock 请求体读取问题。主要集中在: - Direct Runtime 提示词和 Skill 索引契约未同步; - 浏览器诊断、委派回执和 Runtime 失败投影的敏感信息脱敏回归; - macOS 临时目录路径被误判为不安全链接祖先; - 流式和画布 mock 服务只读取请求头,导致请求体断言失败; - 本机 HTTP 代理将 loopback 连接关闭改写为 HTTP 502,导致 transport 错误分类错误; - 平台图片生成收到 5xx 时,无法正确区分确定拒绝和结果未知。 本 PR 不包含资源管理滚轮分页相关前端改动。 ## 修复内容 ### Direct Runtime 与 Skill 契约 - 补齐审核 Skill 索引及 manifest 指纹。 - 恢复 Direct Runtime 提示词相关测试。 - 保持系统提示词长度、审核索引范围和敏感信息边界不变。 ### 敏感信息投影 - 浏览器诊断在进入同线程修复前统一脱敏。 - 委派回执严格隔离敏感上下文。 - Runtime 失败投影不再泄漏命令行密码参数或旧计划明细。 ### 外部生成与 Provider 错误分类 - 平台图片生成提交收到 5xx 时统一返回“结果未知”。 - 保留本地恢复账本,禁止将 5xx 当作确定拒绝。 - `platform-llm` 对 `localhost`、IPv4/IPv6 loopback 地址禁用环境代理,避免代理伪造 502,恢复真实 transport/stream 错误分类。 ### 测试与 macOS 边界 - 流式 LLM、External Canvas mock 服务改为读取完整 HTTP 请求体。 - 允许 macOS `/var` 到 `/private/var` 的系统临时目录祖先链接。 - 继续拒绝用户项目中的链接祖先。 - macOS 下跳过不满足平台前提的大小写敏感路径和非 UTF-8 文件名测试。 ## 影响范围 - AGC Direct Runtime - Provider Runtime - External Canvas 生成恢复 - `platform-llm` loopback HTTP 客户端 - 相关 Rust 测试基础设施 不改变公网 API、SpacetimeDB schema、资源管理滚轮分页行为或外部生产 Provider 的代理策略。 ## 验证结果 - AGC Rust 完整测试:`2303 passed, 0 failed, 14 ignored` - `platform-llm` 测试:`132 passed, 0 failed` - `npm run check:encoding`:通过 - `git diff --check`:通过 ## 分支与提交 - 分支:`codex/fix-agc-runtime-test-regressions` - 基线:`origin/master` - 最新提交:`94c5443a2 修复AGC运行时测试与本地请求回归`
suzmii added 2 commits 2026-08-26 14:01:30 +08:00
恢复 Direct Runtime 审核 Skill 索引注入并校正内置 Skill 内容指纹。

修复浏览器诊断、委派回执和 Runtime 失败投影的敏感信息脱敏边界。

收窄浏览器脱敏测试断言,避免将安全占位符误判为原始密钥。
修复AGC运行时测试与本地请求回归
Project CI / Repository checks (pull_request) Successful in 4m22s
Project CI / Frontend tests (pull_request) Successful in 4m44s
Project CI / Backend tests (pull_request) Successful in 5m7s
Project CI / Native shell tests (pull_request) Successful in 14m3s
94c5443a26
将平台生成 5xx 提交统一归类为结果未知,保留对账账本

本地 loopback Provider 请求绕过 HTTP 代理,恢复 transport 错误分类

修正流式与画布 mock 服务读取完整请求体

放宽 macOS 系统临时目录路径测试前提并保留项目链接安全校验
kdletters merged commit 92425dfea2 into master 2026-08-26 15:29:28 +08:00
kdletters deleted branch codex/fix-agc-runtime-test-regressions 2026-08-26 15:29:28 +08:00
Sign in to join this conversation.