AGC 列举 assets 先扫描全项目,临时 project.lock 消失会使无关目录读取失败 #552
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题与证据
对固定目录的只读列举先递归全项目,对枚举项读取元数据发生在 scope/私有路径过滤之前。临时锁在 read_dir 与 metadata 之间被正常删除,就使整个工具失败。
情绪花灵安抚记-r17的tool-calls.jsonl:12,2026-09-30 03:07:40 UTC,仅请求:实际返回「读取文件元数据失败:$PROJECT_ROOT.agent\project.lock:系统找不到指定的文件(os error 2)」。对应
.agent/runtime/errors/error-1790737660580405900-2.json:4。请求范围是 assets,失败项却是无关控制面锁。后续项目继续推进,本项是可恢复竞态,不宣称永久卡死。当前代码
agent/direct_tool_bridge.rs:1291:先list_local_project_files_at(root),随后才按 scope 过滤。project/filesystem.rs:43至第 60 行:每项先symlink_metadata,失败用?终止,再计算相对路径、过滤私有目录。预期与验收
.agent/project.lock的正常创建/删除失败。此项是只读扫描竞态,与写入竞争的等待策略分别跟踪。
核查范围
2026-09-30 对九份项目导出做只读审计,代码基线
3540c5660fd294b70e054810b5384a2855908df5。本 Issue 仅登记问题,尚未实施修复。未重放项目付费操作,不提交原始会话、凭据或本地私密绝对路径。已排除 #529、#525、#518;偶发 Provider/网络错误不作为新增缺陷。