Commit Graph

117 Commits

Author SHA1 Message Date
kdletters 0850195d1d 继续收敛活动回合读取错误
保留 Direct 活动回合快照 IPC 失败正文

补充窗口标题栏显示和回归测试
2026-10-05 21:24:12 +08:00
kdletters 7d73f225b5 继续收敛联网搜索上游错误
保留 AGC 受控搜索非 2xx 的状态码和脱敏正文

补充工具错误回归测试与诊断文档
2026-10-05 21:16:18 +08:00
kdletters 0a249dff3a 继续收敛前端 IPC 错误正文
保留模板权限、Direct 订阅和剪贴板失败详情

补充前端回归测试与错误处理文档
2026-10-05 21:09:20 +08:00
kdletters 8c4486f9f1 继续收敛模板与订阅 IPC 错误
保留模板权限失败正文并显示 Direct 订阅链 IPC 详情

补充前端回归测试与错误处理文档
2026-10-05 20:36:49 +08:00
kdletters 7bc724d8e2 继续收敛外围 HTTP 错误正文
统一画板、模板、图片分离和素材下载的状态码与安全正文

保留资源编辑、生成恢复、项目快照和错误报告的上游详情

补充精确脱敏测试与错误处理文档
2026-10-05 20:20:30 +08:00
kdletters 6f7ccc2832 继续收敛遗留错误正文
外部 MCP HTTP 错误返回状态、错误码和中文正文

认证、素材上传和发行发布保留上游 401/403/5xx 详情

精确脱敏 Direct 错误并标记旧历史缺失正文

补充回归测试、诊断文档和真实客户端启动验证
2026-10-05 20:03:04 +08:00
kdletters 88507e08b0 保留交付执行底层错误
传播交付 worker 产物读取和执行器 OS 原因

通过 Direct 执行定向测试
2026-10-05 19:14:47 +08:00
kdletters 9d450eca7c 保留项目上下文读取错误
保留文件打开读取和验证指纹 OS 正文

补充工具桥与证据错误收口约定
2026-10-05 19:11:37 +08:00
kdletters f2946aaeca 保留工具桥和验证证据错误
保留图片证据读取和哈希底层原因

补充 Direct 工具错误展示约定
2026-10-05 19:08:01 +08:00
kdletters 8ea1f018fe 保留前端结构化错误正文
避免对象错误退化为 object Object

补充前端错误出口回归测试
2026-10-05 18:54:29 +08:00
kdletters 28ce0c0b23 补全浏览器健康检查错误正文
保留浏览器发现配置 DevTools 和清理原因

通过浏览器健康定向测试
2026-10-05 18:52:06 +08:00
kdletters 6ecad74efe 保留 Provider proxy 底层错误
传播请求体改写和上游发送失败正文

补充 Provider proxy 错误收口约定
2026-10-05 18:48:04 +08:00
kdletters d5ce9efbe5 继续保留 CLI Runner 和本地读取错误
保留 Codex CLI stderr 与 Agent Runner 协议错误

补充本地素材字体和域名解析底层原因

校准 Runner 脱敏回归测试
2026-10-05 18:43:34 +08:00
kdletters cecc26d024 传播插件 IPC 和媒体解析错误
插件 stdout 读取错误送达挂起 RPC

保留 UTF-8 图片和账本 JSON 解析原因

同步错误传播约定文档
2026-10-05 18:35:52 +08:00
kdletters 777ad7ebf5 继续收敛上传与 MCP 错误正文
保留素材资源模型目录和资源编辑底层错误

保留 Direct MCP stdio 写入读取与超时原因

补充错误展示验收与未通过夹具记录
2026-10-05 18:24:34 +08:00
kdletters fd5d11eb0b 保留未知 app-server 错误正文
保留非对象和未知形状错误的脱敏内容

补充错误投影回归测试与验收证据
2026-10-05 18:07:30 +08:00
kdletters 997f6bb910 保留 app-server 嵌套错误正文
保留 codexErrorInfo 的有界脱敏结构化值

补充真实 400/401 机器字段错误回归测试

更新 AGC 错误展示决策与验收证据
2026-10-05 18:03:21 +08:00
kdletters f3fbf51a17 保留环境预检和 Web 构建错误正文
保留 Node npm stdout stderr 退出状态和超时原因

预检回执同时返回机器码与脱敏诊断

补充环境失败正文回归测试
2026-10-05 17:42:26 +08:00
kdletters 520dfc443c 保留浏览器与模型目录进程错误正文
保留浏览器 stderr、退出状态和 DevTools 握手原因

保留 Codex model-catalog 子进程 stderr 与解析错误

补充浏览器错误诊断回归验证
2026-10-05 17:15:22 +08:00
kdletters 0956ab0213 继续收敛非回合错误具体文本
保留策划、External Editor、账户和发布错误正文

补充模型目录、工具桥、素材上传与错误报告网络因链

修复客户端登录和 UI 保存的具体错误丢失

更新错误展示口径与回归测试
2026-10-05 16:44:39 +08:00
kdletters a56859ff98 收敛 CLI 协议错误具体文本
保留 Claude sidecar 的解析、失败终态和退出状态

保留 Codex CLI 的失败事件与结构化输出 detail

补回 cc 超时和空回执的统一错误正文

补充脱敏协议错误回归测试与错误处理文档
2026-10-05 16:14:08 +08:00
kdletters 00af3d9c88 保留 CLI 协议解析错误正文
补齐 Codex CLI 与 Claude sidecar 失败终态和无效 JSON 细节

添加脱敏协议错误回归
2026-10-05 11:13:18 +08:00
kdletters 21b42b3b8f 收敛剩余 AGC 面板错误
统一资产导入、邀请码、策划工作区和发布面板的错误脱敏

保留状态码与正文并同步错误处理文档
2026-10-05 10:50:23 +08:00
kdletters 9740c39fe4 统一应用壳客户端错误正文
让运行配置、认证、插件、预览和策划错误复用统一脱敏出口

保留 typed 认证分流并补充长期错误处理口径
2026-10-05 10:39:20 +08:00
kdletters 715b74824f 收敛资源工作台错误正文
统一资源编辑、上传、预览和恢复队列的诊断脱敏

保留错误状态与正文并补充当前错误处理文档
2026-10-05 10:17:09 +08:00
kdletters 7369956762 收敛 Direct 控制器错误正文
统一取消、上传、历史读取和前置异常的精确脱敏展示

保留 IPC 与操作系统错误并补充回归和文档
2026-10-05 10:10:32 +08:00
kdletters 315d734b39 补充宿主提前结束错误详情
让 panic hook 与宿主 Drop 失败事件携带脱敏观测正文

兼容旧 hostDropped 载荷并补齐前后端回归与文档
2026-10-05 09:54:44 +08:00
kdletters 3b246fabd1 收敛 AGC 与 CC 错误详情处理
统一上游、IPC、侧车和宿主失败的脱敏正文展示

修正 CC 回合预算和非支付 409 分类

保留 stderr 与日志中的可行动错误并补定向回归
2026-10-04 23:39:46 +08:00
k88936 08020e664b 文档:同步客户端 IP 只信 X-Real-IP
- ADR:身份与去重键节写明 IP 取 nginx 覆盖的 X-Real-IP、XFF 只取末段,并追加 2026-10-04 修订记录
- 玩法链路:去重与限流节标注 IP 来源
- decision-log:2026-10-04 条目补安全修正说明与标题
2026-10-04 11:39:00 +08:00
k88936 c0148dda7e 文档:同步游玩计数关停不强制 flush 与失败丢弃口径
- ADR:修订「正常关停必须 force flush」为关停不做强制 flush,并补充 flush 任一分片失败即丢弃剩余分片;追加修订记录
- 玩法链路:缓冲与延迟改为崩溃/被杀/正常关停都允许丢一个窗口;限流节补充先做内存预检;写入语义补充失败丢弃口径
- decision-log:顶部新增 2026-10-04 修订条目,并给 2026-10-03 条目标注失效项
- docs/README:ADR 摘要去掉「关停 flush」
2026-10-04 11:13:55 +08:00
k88936 7f5ddf8f47 文档:新增游戏游玩次数计数 ADR
- 新增 docs/adr/【ADR】游戏游玩次数计数-2026-10-03.md:点开始游戏触发、api-server 纯内存 5s flush、30min 去重、IP+game 限流、批量 procedure 自增 play_count、不 bump updated_at、失败少计优于双计
- docs/README.md:登记该 ADR 到当前产品与平台
2026-10-03 17:55:36 +08:00
k88936 d7d09f310c 合并:把 origin/master 并入回合错误重构分支并保留双方行为
- 解决 direct_runtime/mod.rs 冲突:保留本分支 typed 回合错误重构(TurnError/EnqueueError 与 record_direct_codex_failure_facts 拆分),接入 master 的诊断 v3 口径(persist_agent_runtime_error 新签名 + typed error 字段)、prompt 反馈改截断不脱敏、项目写锁改名
- 解决 thread_manager/dispatch.rs 冲突:保留本分支 TurnError/TurnCompletion 换代与 finish_turn_failure 分类层,接住 master 的 tt= 日志改名与 cc 执行器整轮成功后补写 completed 终态
- 解决 direct_tools_mcp.rs 冲突:采用 master 版(本分支唯一改动是 external MCP 容量测试读 body,master 已有等价实现)
- 处理 direct_turn_failure.rs 删除/修改冲突:维持本分支删除,把 completed() 语义迁进 TurnCompletion::Completed 并补回对应测试
- 处理 runtime_driver/entrypoints.rs 修改/删除冲突:接受 master 退役自建 Agent Runtime 的删除(本分支只在该文件做 direct_now_ms 改名)
- 合并 decision-log.md:双方条目都保留
- 修复 auto-merge 漏掉的语义冲突:claude_code_cli.rs 的 direct_now_ms() 改名 now_ms();诊断测试改为断言 AGENT_RUNTIME_ERROR_SCHEMA_VERSION、detail 字段改 message;record_direct_codex_failure_facts 新增 typed_error 入参(TurnError 不序列化,落盘用 classify 投影出的 TurnFailure)
2026-10-03 13:12:10 +08:00
k88936 3aef44c54a 文档:同步错误投影点改名与逐 delta 脱敏退役现状
- ADR 与 decision-log 里的 TurnError::terminal_failure 改成 TurnError::classify
- pitfalls 的「逐 delta 脱敏吃掉段尾换行」补一条现状:Rust 逐 delta 脱敏已退役,脱敏搬到前端 directThreadSanitize
2026-10-03 12:07:42 +08:00
k88936 0ae94caf16 修复:更早历史的世代号在渲染期推进,切换项目的守卫不等 effect
- 换项目时 historyLoadTokenRef 与 projectPathRef 同一处推进,复位 effect 不再推进
- 旧读取在「切换提交完成、复位 effect 未跑」的窗口落地时立刻失效,不再合并条目或写游标
- ADR 第 1 条与决策记录说明推进时机与其安全性依据(该窗口内不会新起带旧游标的读取)

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 22:27:33 +08:00
k88936 2b01476891 修复:动画期间内容变高时把回到底部动画重新对准新底部
- 程序化平滑滚动期间布局补偿不再直接跳过:内容变高时以新的 scrollHeight 重发平滑滚动
- 避免动画停在旧目标后 programmaticScrollRef 等不到贴底事件、跟随与补偿整段挂起
- hook 用例断言动画目标从 [1200] 变为 [1200,1500] 且仍能交还控制权
- ADR 第 3 条补一条口径,决策记录补齐本条与错误行结构两条

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 22:25:47 +08:00
k88936 8f91227d17 修复:历史加载错误行的重试按钮移出断言式 live region
- 内联错误行由 <p role=alert> 改为普通容器,role=alert 只包住错误文案本身
- 重试按钮留在 live region 之外,避免被卷进 assertive + atomic 的整体播报
- 组件用例断言 alert 不包含重试按钮,重试仍是可点击的唯一手动出路
- ADR 同步错误行的无障碍结构

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 22:24:21 +08:00
k88936 9a75ea57f0 修复两处过期用例并补记 Direct 失败载荷改名与透传口径
- 修复 direct_tools_mcp 容量用例:handler 已改为返回 Response,改为取出 body 后再断言 JSON-RPC id
- 修复 direct_runtime 命令边界诊断用例:改为断言结构化 sidecar(schemaVersion/source/stage/code/clientTurnId/detail),不再断言早已不落盘的 direct-codex-failure:v2 文案
- AGC 命令错误 ADR 补记 TurnFailure 两个字符串债臂的命名与“terminal_failure 是唯一投影点、不许重包”口径
- 决策记录新增 2026-10-02 条目:两臂改名(SuperErrorFromStringPlusStage / Unclassified)与 typed 失败原样下发
- 排查记录补充:cargo test 过滤是子串匹配,会连带命中 export_bindings 并重写生成目录,用 --skip export_bindings 避开
2026-10-02 22:19:36 +08:00
k88936 9f7c2e318c 文档:前插锚点改用稳定块身份
锚点契约从「回合 key + 块序号 + 偏移」改为「回合 key + 块身份(data-block-key)+ 偏移」,写明 running→finished 收口后块序号整体后移、序号锚点会解析到隔壁块的原因。

补记锚点块没有布局盒(被折进收起的 details)时读锚点跳过、还原判失败并放弃这次补偿的规则。

备选方案补记被否掉的「锚点存块序号」与「改找同回合其它可见块」,验收清单补「长回合收口时视口不跳」。

决策记录同步同一条决策与测试口径。

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 20:12:35 +08:00
k88936 a589dad003 文档:同步 review 修正后的会话滚动契约
- ADR 第 1 条补「一次加载与它所属的世代绑定」,第 2 条补块集合缓存与失效信号
- 决策记录追加两处内部缺陷的症状、修正与验证口径

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 19:59:34 +08:00
k88936 97e8f1b652 Merge remote-tracking branch 'origin/master' into feat/smoother-dialog-history
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m50s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 4m30s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 4m51s
Project CI / Backend tests (pull_request) Successful in 4m53s
Project CI / Frontend tests (pull_request) Successful in 2m33s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m27s
Project CI / Native shell tests (pull_request) Successful in 5m47s
Project CI / Repository checks (pull_request) Successful in 3m4s
2026-10-02 19:20:53 +08:00
k88936 95a32a316f 文档:换会话时复位 DirectProject 滚动所有权
- ADR 新增第 6 条:会话身份作为显式信号复位跟随最新/锚点/胶囊状态,并记录「key 重建列表」的取舍
- 决策记录追加换会话复位的症状、决策与验证口径

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 19:08:54 +08:00
k88936 e82070098c 文档:修订 DirectProject 对话滚动契约
- 补充程序化平滑滚动独占滚动位置的规则:动画期间滚动事件与布局补偿都不得写 scrollTop
- 补充折叠展开「刚好露出新展开正文」的最小位移规则,并明确收起不额外滚动
- 决策记录追加两个真机缺陷的根因、修正与 Chromium 复验结论

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 18:18:20 +08:00
k88936 c18c73fa2f 文档:记录 DirectProject 回合错误命名化、wire 拆分与终态判别联合
- AGC 命令错误 ADR:三条错误表补 DirectProject 现有命名(TurnError / TurnFailure / EnqueueError),并写明"回合终态 TurnCompletion 是宿主内部判别联合,不导出、不进 wire"
- 决策记录新增 2026-10-02 条目:命名去冗余前缀、wire.rs 按职责拆分、宿主终态改判别联合与 TurnCompletion 的落点
2026-10-02 18:10:54 +08:00
k88936 5092412d89 文档:同步 DirectProject 对话滚动契约与旧口径
- ADR 修正样式删除口径:.message-history-more 因策划对话仍在用而保留,后续项一并说明
- 历史技术方案去掉「必须显示显示更早的对话按钮」的过期要求,改为引用新 ADR 的入口形态
- 决策记录新增本次滚动契约、边界与验证口径

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 17:54:15 +08:00
k88936 c68531b0aa 文档:新增 DirectProject 对话滚动与历史自动加载 ADR
新增 ADR,记录更早历史自动加载、内联加载/错误行、回合 key 锚点前插、回到底部胶囊与折叠展开的滚动契约。

在旧「对话历史单一事实源」ADR 的分页条目上补充指向新 ADR 的引用,保留原分页锚点口径。

docs/README.md 登记新 ADR。

Co-authored-by: Junie <junie@jetbrains.com>
2026-10-02 17:27:49 +08:00
k88936 4246052bff 合并 origin/master 到 feat/typed-tool-error
- 取 master 退役 DirectProject 工具调用与回合流账本(#560):删除 direct_tool_calls / direct_turn_stream,direct_events 的回合更新收敛为状态与活动,不再广播 game-creator-direct-turn-update
- 取 master 修复 AGC 文件列举被无关临时锁删除打断(#552)与素材导入 / 资源提交项目锁争用(#581)
- 保留本分支 typed 工具错误口径:逐工具错误枚举、派发边界携带原始 error、工具返回不再软失败
- 保留本分支退役 AGC 独立 Agent Runtime / CLI 执行面的删除,继续删掉 master 侧 runtime_actions 等测试与入口
- 补齐 master 新增的 with_conversation_write_contention 测试助手,项目写锁调用统一为 acquire_project_write_lock_with_wait
- 账户素材分页 offset 上限 500 的 schema、预检与行为对齐,越界 offset 返回 typed 错误并适配相关用例
- 错误事件结构体 message 保留调用方原文,脱敏只发生在落盘与应用日志边界
2026-10-02 16:18:50 +08:00
k88936 839051f532 退役AGC独立Agent Runtime与CLI执行面
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 1m50s
Project CI / Backend tests (pull_request) Failing after 24s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m47s
Project CI / Repository checks (pull_request) Failing after 21s
Project CI / Frontend tests (pull_request) Successful in 2m38s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 3m41s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m23s
Project CI / Native shell tests (pull_request) Successful in 6m20s
- 删除 agent/runtime_driver、runtime_protocol、runtime_tools、runtime_actions、runtime_state、runtime_adapter、context_compaction、collaboration、delegation、goal 等自建 Runtime 执行面及专属测试与 fixture
- CliCommand 收敛为 LlmStatus | EnvironmentCheck | PreviewServe,删除 --agent-run / --agent-task / --agent-goal-* / --agent-resume / --agent-context-compact 等 CLI 与 Tauri 命令白名单条目
- 外部 Runner 收缩为编辑器桥 RPC 与 runner.attach_gui_owner + GUI owner 参与锁 / watchdog,保留 --agent-runner
- 前端删除 AgentRuntime* / AgentGoal* 状态与命令调用链,移除 agent-runtime real-e2e / steer / smoke / llm-transient-fault 脚本与对应 CI job
- 内置工具错误收口为 typed error,抽取 agent/tool/error.rs 共享错误供各工具复用
- 新增 agent/redaction.rs、runtime_models.rs、json_sidecar.rs、task_lock.rs、process_identity.rs、art_manifest.rs、design_session.rs、direct_events.rs
- 同步更新 ADR、decision-log、Runtime V1.1、App 实施计划、本地开发运维、pitfalls 与 CI 脚本
2026-10-02 15:23:12 +08:00
k88936 836f8a7348 手机号登录401归phoneCodeLoginRejected
- auth_session:/api/auth/phone/login 的 401(只来自「用户不存在」)改判为 phoneCodeLoginRejected{serverMessage},不再冒充「验证码错误或过期」
- auth_error:退役顶层变体 smsCodeRejected(唯一产生点就是这个错配的 401 分支)
- 前端三个 catch 删掉 smsCodeRejected 分支;phoneCodeLoginRejected 文案统一为「验证码登录失败:<服务端原文>」,冒号改全角
- ts-rs 重新生成 ClientAuthError 联合;carrier 用例同步删掉 smsCodeRejected
- 文档:ADR + decision-log 记录 401 归属与 smsCodeRejected 退役
2026-10-02 13:35:40 +08:00
k88936 d518bb2ceb 文档:系统类失败载荷保留原始错误
- 命令错误结构化 ADR:本机 IO / 网络客户端构建失败的原始 detail 留在载荷(调用方分流与报告诊断用),界面只用固定文案,路径交给报告侧 sanitize
- 认证失败 JS 侧载体 ADR:带 detail 的本机失败是例外,不把原始错误文本贴到界面上
- 决策记录:追加 2026-10-02 口径,取代上一轮"本机 IO 失败不进载荷"
2026-10-02 12:06:03 +08:00
k88936 8edbab9f3e 文档:本机IO失败去掉detail载荷
- 命令错误结构化 ADR:本机凭据/运行时会话 IO 失败不再把原始错误文本放进载荷,原始 error 只写本地日志
- 认证失败 JS 侧载体 ADR 与决策记录同步去掉 detail 口径,并追加 2026-10-02 的变体改无字段决定
2026-10-02 11:51:43 +08:00