AGC 已有素材目录绑定仍依赖全量素材库读取,重复前置失败阻断生成 #550

Closed
opened 2026-09-30 15:53:40 +08:00 by lhk229 · 0 comments
Member

问题与现场影响

生成只需确认当前项目的素材目录,但即使已有完整 binding,仍读取整个账户素材库再查 library.folders。这把无关账户素材的可用性和响应成本耦合到每次生成准备阶段。

项目 策划项目 ba362aa7-r68 的策划五阶段已经完成;后续素材账本保存 50 个唯一任务,其中 31 个在「读取/解析外部素材库」阶段超时:2026-09-24 共 28 个,2026-09-30 共 3 个。单个任务 started→finished 为 60.102–200.232 秒,包含排队等时间,不能当作单次 HTTP 耗时。

证据:.agent/runtime/asset-generation-tasks/tasks.json:5、19、453、467、649、677、691。既有 .agent/runtime/external-editor-bindings/projects/4fa6741432859b32ed69d323157e89d92a5eccc21884f1129348e0d5ea760d14.json:11-12 已保存项目与目录;partials/ 同名 sidecar 在随后请求仅保存项目而尚未完成目录确认。

边界: 这是跨日重复失败的前置依赖弱点,不把偶发网络故障单独报 bug。不同 taskId 不能证明 Agent 自动重试风暴。没有服务端响应大小和耗时数据,不能断言素材库体积是超时的唯一根因。

当前代码

agent/generation/canvas_generation.rs:1410 的 prepare_external_canvas_generation_context:

  1. 第 1440–1460 行为新请求建立没有目录身份的 partial。
  2. 第 1541–1565 行 GET 完整 /api/external/v1/editor/assets/library,实际只使用 folders 验证绑定。
  3. 第 1629–1630 行成功写 binding 后删除 partial,下一次又进入全库确认。

项目读取已用 ?view=summary;素材库步骤没有对应的有界读取。

预期与验收

  • 已有合法项目/目录绑定时,确认该身份不依赖下载无关的完整素材列表。
  • 无绑定首次创建、目录删除、账号切换和权限失效仍能正确处理,不盲信过期绑定。
  • 用确定性夹具模拟完整库响应迟缓、但所需目录查询正常,证明生成准备可推进。
  • 保持账号隔离、幂等与结果未知保护;不通过换键自动重发生成或加无界重试来处理。
  • 若需要新增/修改公开 API,同步权威 OpenAPI 和契约测试。

核查范围

2026-09-30 对九份项目导出做只读审计,代码基线 3540c5660fd294b70e054810b5384a2855908df5。本 Issue 仅登记问题,尚未实施修复。未重放项目付费操作,不提交原始会话、凭据或本地私密绝对路径。已排除 #529、#525、#518;偶发 Provider/网络错误不作为新增缺陷。

## 问题与现场影响 生成只需确认当前项目的素材目录,但即使已有完整 binding,仍读取整个账户素材库再查 `library.folders`。这把无关账户素材的可用性和响应成本耦合到每次生成准备阶段。 项目 `策划项目 ba362aa7-r68` 的策划五阶段已经完成;后续素材账本保存 50 个唯一任务,其中 31 个在「读取/解析外部素材库」阶段超时:2026-09-24 共 28 个,2026-09-30 共 3 个。单个任务 started→finished 为 60.102–200.232 秒,包含排队等时间,不能当作单次 HTTP 耗时。 证据:`.agent/runtime/asset-generation-tasks/tasks.json:5、19、453、467、649、677、691`。既有 `.agent/runtime/external-editor-bindings/projects/4fa6741432859b32ed69d323157e89d92a5eccc21884f1129348e0d5ea760d14.json:11-12` 已保存项目与目录;`partials/` 同名 sidecar 在随后请求仅保存项目而尚未完成目录确认。 **边界:** 这是跨日重复失败的前置依赖弱点,不把偶发网络故障单独报 bug。不同 taskId 不能证明 Agent 自动重试风暴。没有服务端响应大小和耗时数据,不能断言素材库体积是超时的唯一根因。 ## 当前代码 [`agent/generation/canvas_generation.rs:1410`](https://git.genarrative.world/git/GenarrativeAI/Genarrative/src/commit/3540c5660fd294b70e054810b5384a2855908df5/apps/ai-game-creator-shell/src-tauri/src/agent/generation/canvas_generation.rs#L1410) 的 `prepare_external_canvas_generation_context`: 1. 第 1440–1460 行为新请求建立没有目录身份的 partial。 2. 第 1541–1565 行 GET 完整 `/api/external/v1/editor/assets/library`,实际只使用 folders 验证绑定。 3. 第 1629–1630 行成功写 binding 后删除 partial,下一次又进入全库确认。 项目读取已用 `?view=summary`;素材库步骤没有对应的有界读取。 ## 预期与验收 - [ ] 已有合法项目/目录绑定时,确认该身份不依赖下载无关的完整素材列表。 - [ ] 无绑定首次创建、目录删除、账号切换和权限失效仍能正确处理,不盲信过期绑定。 - [ ] 用确定性夹具模拟完整库响应迟缓、但所需目录查询正常,证明生成准备可推进。 - [ ] 保持账号隔离、幂等与结果未知保护;不通过换键自动重发生成或加无界重试来处理。 - [ ] 若需要新增/修改公开 API,同步权威 OpenAPI 和契约测试。 ## 核查范围 2026-09-30 对九份项目导出做只读审计,代码基线 `3540c5660fd294b70e054810b5384a2855908df5`。本 Issue 仅登记问题,尚未实施修复。未重放项目付费操作,不提交原始会话、凭据或本地私密绝对路径。已排除 #529、#525、#518;偶发 Provider/网络错误不作为新增缺陷。
lhk229 added the Kind/Enhancement
Priority
High
2
labels 2026-09-30 15:53:40 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GenarrativeAI/Genarrative#550