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 |
|
k88936
|
f8c32e6346
|
文档:登录路由429归业务变体
- 命令错误结构化 ADR 补 429 按路由判定的口径:发码是频控、登录是验证码次数耗尽、其余才落未识别拒绝
- 决策记录同步追加 2026-10-02 的 429 归类
|
2026-10-02 11:50:34 +08:00 |
|
k88936
|
62f1a80e87
|
文档:认证失败载体把载荷序列化进message
- 更新 JS 侧载体 ADR:ClientAuthErrorWrapper 构造时把整份载荷 JSON.stringify 进 Error.message,上报事件拿到变体名与载荷,事件指纹按变体区分
- 记录 Tauri 缺陷抛真 Error 时序列化只有 {},但上报链路对真 Error 优先用其自身 message/stack
- 同步决策记录与技术方案的载体口径,不再写 Error.message 留空
|
2026-10-02 11:07:03 +08:00 |
|
k88936
|
f58c71bd68
|
文档:AGC认证失败ADR不再写死 catch 数量
- 「后果与边界」改为「必须同时改所有 catch 的 switch」,避免数量写法随实现漂移
|
2026-10-02 03:02:32 +08:00 |
|
k88936
|
79a5707a18
|
文档:AGC认证失败ADR修正为不改变用户可见行为
- 删除「后果与边界」里不再准确的「用户可见行为」一行(系统失败不是只进错误池)
- 该节改为说明系统变体先按载荷原始事实给一行可见反馈,再原样抛出
|
2026-10-02 02:55:47 +08:00 |
|
k88936
|
9fe692ba87
|
文档:AGC认证错误改为顶层类别加类型化reason
- 更新 AGC 命令错误结构化 ADR:顶层只放调用方要分流的类别,可枚举细分收进类型化枚举 reason 字段,不再拆成几十个顶层变体、也不用字符串
- 更新 AGC 认证失败 JS 侧载体 ADR:带载荷分支先 as 取具名类型,reason 是枚举时再 switch(payload.reason),两处 default 都用 expectNever
- 同步错误报告技术方案、README 索引、决策记录与踩坑的拍平变体口径
|
2026-10-02 02:42:15 +08:00 |
|
k88936
|
47392d13b8
|
文档:AGC认证错误收敛为拍平变体
- 更新 AGC 命令错误结构化 ADR:变体拍平不嵌套,无字段变体生成 { type },有字段变体生成 { type } & 载荷类型
- 记录本地前置校验拿不到细分事实时不编字段,phoneNumberInvalid 保持无字段
- 更新 AGC 认证失败 JS 侧载体 ADR:无字段分支用固定文案,带载荷分支先 as 再读 serverMessage/status/detail
- 更新错误报告技术方案与 README 索引,同步拍平变体与去 reason 口径
- 同步决策记录与踩坑:ts-rs 只写不删,变体改成无字段时要手动清孤立载荷文件
|
2026-10-02 02:23:51 +08:00 |
|
k88936
|
2a51f0b98c
|
文档:认证失败载体类改名 ClientAuthErrorWrapper
- ADR、README、技术方案、决策记录与排障记忆统一新类名
- auth_session.rs 注释同步
|
2026-10-02 01:40:14 +08:00 |
|
k88936
|
45774f1c02
|
文档:认证失败载体的 error 字段标注 ClientAuthError 类型
- ADR、技术方案、决策记录同步 error 字段的显式类型标注
|
2026-10-02 01:37:37 +08:00 |
|
k88936
|
218fba95b0
|
文档:认证失败载体收敛为只持 error 字段的薄包装
- ADR 认证失败载体:ClientActionError 只保留 error 字段,不读 message、不塞 context、message 留空
- 技术方案与决策记录同步载体形状与 error.error 分流
- 排障记忆:判据改为全局 unhandledrejection 显式上下文
|
2026-10-02 01:35:10 +08:00 |
|
k88936
|
19c75e8167
|
文档:认证失败 JS 侧载体改用已有 ClientActionError
- ADR 认证失败载体:删除手写 ClientAuthFailure 类,拒绝装进 ClientActionError,cause 即判别联合
- ADR 命令错误结构化:同步第 3 节对 JS 载体的描述
- 技术方案:认证命令封装形态改为 ClientActionError + cause
- 决策记录:影响范围去掉 clientAuthFailure.ts
- 排障记忆:载体、判据与关联文件路径同步
|
2026-10-02 01:22:55 +08:00 |
|
k88936
|
35f10c2051
|
文档:认证错误包装改为信任 ts-rs 映射,不做运行时形状嗅探
- ADR §2 去掉 type 存在性检查:Rust 与 TS 同包发布、形状由 ts-rs 保证,异常形状属 Tauri/Rust 缺陷,仍由 switch 的 default 抛出去上报
- requireInvoke 移到 try 之外,认证桥未安装的错误保持原样抛出
- Error.message 只从拒绝值读可展示字符串,不是分流判据
- ADR §1 记录保留 19 个具名载荷类型的理由:它们是每个分支 as 的目标;内联 struct 变体虽能少 19 个文件,但分支就拿不到可 as 的具名类型
|
2026-10-02 01:11:01 +08:00 |
|
k88936
|
c940bf502c
|
文档:修正认证 ADR 对系统变体分支的描述
- 说明系统变体不读载荷、只原样抛出,但变体名必须逐个列出以让 default: expectNever 成立
- 业务 / 会话变体仍要求每个 case 用 as 取具名载荷类型
|
2026-10-01 20:49:43 +08:00 |
|
k88936
|
478b9c9891
|
文档先行:AGC 认证失败的 JS 侧载体与抛出时机
- 新增 ADR:认证命令统一经 invokeClientAuth 把结构化拒绝转成 ClientAuthFailure(payload 判别联合);判定只写在 catch 子句里,系统变体原样抛出经 unhandledrejection 入池,default: expectNever 编译期挡住漏接变体
- 修订【ADR】AGC命令错误结构化与错误报告口径 §3 与后果:撤销"未识别变体上调是故意的",改为编译期穷尽
- 技术方案同步认证命令的封装形态与两个 ADR 链接
- decision-log / pitfalls 记录第二轮口径:删除形状读取与文案回落层、Rust 失败不再降级成字符串
- docs/README.md 登记新 ADR
|
2026-10-01 20:33:47 +08:00 |
|
k88936
|
2f51e043b7
|
文档先行:AGC 认证错误的 TS 形状改为每个变体一个具名载荷类型
- ADR §1 增加"每个变体一个具名载荷结构体 + ts-rs 生成 `{ type } & X`"的决策与代价
- ADR §3 说明 switch 分支里错误已窄化成具名类型
- 技术方案同步命令错误形状描述
- decision-log / pitfalls 记录形状约定:不手写这层类型、不再包派生分类与提示文案函数
|
2026-10-01 18:08:00 +08:00 |
|
k88936
|
b561db9249
|
删除认证失败上报的派生分类层,改为调用方按具体变体分流
- 删除 clientAuthErrorKind / clientAuthErrorNotice,clientAuthError.ts 只留 isClientAuthError 形状读取
- 删除 resolveClientAuthFailure 与 ClientAuthFailureResolution,AuthenticatedClient 直接 switch 具体变体名
- 同步重写相关单测与 ADR 第 3 节前端分流描述
|
2026-10-01 17:55:54 +08:00 |
|
k88936
|
8fefd393b2
|
Merge remote-tracking branch 'origin/master' into fix/wrong-report
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
# Conflicts:
# docs/project-memory/shared-memory/decision-log.md
|
2026-10-01 16:51:37 +08:00 |
|
k88936
|
bb9b0b4d6c
|
文档对齐:AGC 报告池入口改为调用方带上下文交付
- 修订 ADR §2/§3:真故障由调用方包成 ClientActionError 交给错误池,不再把 rejection 留在无人接手的 Promise 上
- 说明 408/5xx/网络判定发生在调用方 catch,shouldCaptureClientError 随本 ADR 删除
- 同步技术方案、decision-log、pitfalls 的重抛口径与影响文件清单
|
2026-10-01 15:24:42 +08:00 |
|
k88936
|
fe200598c0
|
文档先行:AGC 命令错误结构化与错误报告口径
- 新增 ADR:命令错误按具体变体结构化(ts-rs 导出)、报告池只收没人处理的错误、前端按 type 分流不匹配文案
- 更新【技术方案】AGC错误报告与诊断上传:采集口径改为"只收没有调用方处理的错误",补命令变体分流与 clientApi 边界
- 更新共享记忆 decision-log:记录本次口径与影响范围
- 更新共享记忆 pitfalls:记录"输错密码被当成客户端缺陷上报"的现象、根因与判据
- 修正 DirectTurnError 模块注释中"命令边界只给字符串"的过期描述,改为结构化拒单载荷
- docs/README.md 登记新 ADR
|
2026-10-01 14:52:28 +08:00 |
|
k88936
|
719db293d2
|
退役 DirectProject 工具调用与回合流账本
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 1m11s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 1m11s
Project CI / AI game creator shell Rust smoke (pull_request) Failing after 1m11s
Project CI / Backend tests (pull_request) Failing after 26s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m42s
Project CI / Repository checks (pull_request) Failing after 27s
Project CI / Frontend tests (pull_request) Successful in 2m56s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m42s
Project CI / Native shell tests (pull_request) Successful in 7m0s
- agent/direct_tool_calls.rs、agent/direct_turn_stream.rs:整体删除,agent.rs 去掉模块声明与导出
- direct_runtime/mod.rs:删 DirectToolCallCollector、回合流节流器与全部落盘/发射调用点,observer 只回填 update_active_turn
- codex_app_server/mod.rs:删 DirectCodexTurnObservation::ToolCall,AgentMessageSegment 结构体变体简化为元组变体,direct_tool_call_turn_id / direct_tool_call_now_ms 改名
- claude_code_cli.rs:删 tool_use / tool_result 采集分支与 DirectToolCall 构造
- main.rs、runtime_driver/entrypoints.rs:删 GameCreatorDirectTurnUpdateEvent 与 game-creator-direct-turn-update 事件,emit 收缩为 (status, activity)
- thread_manager/wire.rs:新增 direct_now_ms,替代随 direct_tool_calls 删除的时钟函数
- docs:ADR、工具调用卡片技术方案、DirectProject 聊天真相源收敛里程碑与实施计划、pitfalls 旧路径同步到当前状态,decision-log 新增 2026-09-30 退役条目
- 未修(另开):redact_absolute_path_tokens 的无语境绝对路径扫描仍会误伤 HTML 结束标签与嵌套 JSON 转义
- 验证:cargo test --bin genarrative-ai-game-creator-shell agent::(929 passed / 0 failed / 5 ignored)、npm run check:encoding、npm run check:doc-index、git diff --check
|
2026-09-30 19:42:13 +08:00 |
|
k88936
|
dc7feec426
|
文档:DirectProject 队列条目事件投影、resolved_text 持久化与埋点归宿主收口
- ADR 状态改为 2026-09-30 落地完成,§2 补入队侧的“用户条目校验与冻结”,§5 埋点段去掉渲染侧 discard 与句柄表措辞
- ADR 词表收口:并发拒单/放行补拒单出口/放行期拒单三处改成入队失败与放行失败口径
- ADR §9 与实施计划同步归位后的符号名:active_turn_id_at、stale_turn_for_release、kick_queue_dispatch、complete_turn
- 实施计划状态改为第 0–7 步全部落地,进度表第 6/7 步补落地说明与提交号,新增「2026-09-30 收口记录」
- 实施计划顶部路径口径补 thread_manager 之外去掉 direct_ 前缀的函数改名对照
- decision-log 2026-09-30 条目把“设计稿,尚未实施”换成落地提交链与验证结论,并补 09-24 条目指向落地证据
|
2026-09-30 16:39:45 +08:00 |
|
k88936
|
2b98b022c2
|
文档:待发消息条目改为事件投影、引用解析文本随条目持久化、埋点成绩归宿主
- ADR §3/§4/§5:在队条目 = 事件窗口里“有 queue.enqueued、没有配对 queue.removed”的折叠;队列事件不带 prompt、不带埋点身份,也没有宿主私有的第二类字段
- ADR §5/§9:引用 part 的解析文本写进自己的 resolved_text 并随条目持久化(缺省合法、旧历史照样解析),放行/历史回读/turn input 共用;放行读 identity_generation、终态比对后直写成绩,删掉候选/settle 两阶段与 attempt id
- ADR 备选方案补 6–9 条(条目另存产物、整条 prompt、clientTurnId 兼作埋点身份、保留两阶段)与影响与代价(prompt 块顺序、埋点口径随放行搬家)
- 实施计划:新增第 6 步(条目不再另存产物)、第 7 步(埋点成绩归宿主),落地进度表与状态同步;补 2026-09-30 文件路径口径
- decision-log:追加并修正 2026-09-30 条目(resolved_text 持久化、埋点链退役、不用 clientTurnId 兼作身份)
|
2026-09-30 15:48:38 +08:00 |
|
k88936
|
e70b338900
|
文档:DirectProject 待发消息条目改为事件投影,prompt 改为条目重投影
- ADR §3/§4/§5 与备选方案 6–8、影响与代价:删掉 StoredEvent.pending 的第二份产物,队列成员由事件折出;prompt 只在引用 part 上冻结算不出的片段(to_prompt_cache,宿主内存专用),canonical 形状与 prompt 放行时重投影;analyticsAttemptId 进 queue.enqueued
- 实施计划:状态改第 0–6 步、落地进度表补第 6 步、新增「第 6 步:条目不再另存产物」的实现点与验收
- decision-log:追加 2026-09-30 修订条目(背景、三条决策、埋点身份的口径)
|
2026-09-30 15:20:39 +08:00 |
|
k88936
|
131026795a
|
合并 origin/master:待发消息队列归宿主叠加 master 的 active-turns 广播与保活下沉
- direct_runtime/mod.rs:保留本分支「Thread Manager 是活动回合唯一事实源」(direct_active_turn_id_at),
丢掉 master 的 DirectTaonierActiveInvocationGuard 第二份进程内表;master 的美术背景路由改动全部保留
- direct_thread_manager.rs:双方都保留——本分支的待发队列 / 容量上限 / 残留回合兜底释放,
与 master 的 emit_direct_active_turns_changed 广播、unsubscribe、update_active_turn 返回「是否真的变了」
- useDirectProjectChatController.ts:保留本分支入队化逻辑,采纳 master 的 rawMessage 小重构与保活下沉
- direct_turn_dispatch.rs:会话保活改挂放行占用(DirectTurnReservation._session_keepalive),
随占用释放即停,等价承接 master 放在调用身份守卫里的保活意图
- 保留本分支对 direct-execution-production-fixture.mjs 的删除(--direct-codex-chat CLI 已退役,夹具无入口)
- 连带退役 scripts/run-agc-direct-execution-fixture.mjs 与 npm run check:agc-direct-execution-fixture(只服务该夹具)
- 文档同步:ADR / 09-24 实施计划 / decision-log 记录上述退役,09-16 与 09-18 里程碑、pitfalls 的夹具命令标注为已退役
|
2026-09-30 13:35:14 +08:00 |
|
k88936
|
354acfd70b
|
文档:DirectProject 守卫清理落地,ADR 与实施计划标记完成
- ADR 状态改为 2026-09-30 落地完成,§9 守卫退役条目改成已落地口径
- 实施计划状态改为第 0–5 步全部完成,进度表第 5 步写成落地说明;第 4 步的 TurnAlreadyRunning 交还给第 5 步
- 09-23 接单化计划加后续注记:接单/拒单词表与 TurnAlreadyRunning 已退役,正文不再回改
- decision-log 的 09-30 条目补落地与验证结果,09-24 条目加落地指向
|
2026-09-30 10:41:10 +08:00 |
|
k88936
|
41c03d7199
|
文档:核实删调用身份守卫的前置判据,收敛第 5 步口径
- ADR §9 记录核实结论:取消兜底本来就同时释放占用、补写 turn.completed 并踢队列,删守卫不需要新增无条件终态;连接死亡的失败事实由 app-server 连接层落地
- 实施计划第 5 步改写:60 秒启动窗口闸门改挂 Thread Manager 的占用登记年龄,读者改读 direct_active_turn_id_at,TurnAlreadyRunning 一并删
- decision-log 追加 2026-09-30 条目,记录核实过程、决策与影响范围
|
2026-09-30 10:30:16 +08:00 |
|
k88936
|
25f3e41623
|
CLI 与夹具退役:DirectProject 只剩入队一个命令入口
- cli.rs 删 CliCommand::DirectCodexChat 变体、project_path_mut 分支、--direct-codex-chat 解析与派发
- direct_runtime/mod.rs 删 run_direct_game_creator_turn_at 与 run_direct_game_creator_turn_at_with_creation_type
- 删 scripts/direct-execution-production-fixture.mjs(CLI 唯一消费者)
- user_input.rs 模块注释改成"唯一的命令入口",不再承诺 CLI 分工
- 顺带删掉只剩测试在用的 direct_turn_error_boundary_text,判据只剩 direct_turn_enqueue_failure 一处
- 三条命令边界测试改打 direct_turn_enqueue_failure(...).message,覆盖不变
- 文档:09-22 里程碑把 --direct-codex-chat 从"范围外(保留)"改成退役项,两份 Direct 技术方案的 CLI 承诺删掉,
09-23 ADR 的"CLI 保持 await"标为口径反转,decision-log 追加口径修正,实施计划标注第 4 步落地
|
2026-09-30 10:25:38 +08:00 |
|
k88936
|
0534e9c678
|
前端收口:待发消息队列改由事件投影驱动,退役本地队列机器
- 新增 conversation/directPendingTurns.ts:入队/移除两个纯函数,不判上限、不排期、不排序
- reducer 新增 queue.enqueued / queue.removed 分支,折成 pendingTurns 投影
- chip 文案派生搬到 pendingTurnChipLabel.ts,删除 chatComposerQueue.ts 整套本地队列实现
- controller 退役 queuedTurns / queueSequenceRef / completionPendingRef / busyBaselineTurnCountRef
与看门 counts effect;取消 chip 改调 remove_direct_project_pending_turn 按 typed 结果说话
- 埋点句柄按 clientTurnId 存表,回合终态按本轮开口条目身份结算
- turnBusy 改名 commandInFlight 并收窄成 IPC 在飞;忙态 = 原生在跑 ∨ IPC 在飞 ∨ 待发消息非空
- 提交改成等命令的入队结果:用户自己能改的入队失败保留草稿,其余按已交出处理
- 测试:队列投影单测、入队只发一次 IPC、IPC 在飞挡住第二次提交、满队保留草稿、取消已放行条目
- 文档:实施计划标注第 0–3 步落地并补第 3 步细则,ADR 的埋点与退役面口径改成落地后的写法
|
2026-09-30 10:20:37 +08:00 |
|
k88936
|
1e7ea51368
|
文档:DirectProject 命令入队化与待发消息队列归宿主设计定稿
- 新增 ADR:命令=入队、放行归 Thread Manager、待发消息队列作为运行态事件归宿主
- 新增实施计划:五步落地顺序、标识符映射表、每步不变式与验收证据
- CONTEXT.md:接单/拒单词条替换为入队/入队失败/放行,新增待发消息队列与待发消息词条
- docs/README.md 补两条索引;decision-log.md 追加同日决策记录
|
2026-09-24 20:46:53 +08:00 |
|
k88936
|
fecb8fe76f
|
Merge remote-tracking branch 'origin/master' into feat/ui-editor-v3
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m25s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m57s
Project CI / Backend tests (pull_request) Successful in 4m44s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 6m40s
Project CI / Native shell tests (pull_request) Successful in 6m11s
Project CI / Frontend tests (pull_request) Successful in 2m27s
Project CI / Repository checks (pull_request) Successful in 2m50s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m44s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m38s
# Conflicts:
# docs/project-memory/shared-memory/decision-log.md
|
2026-09-24 19:43:20 +08:00 |
|
k88936
|
7cb7bd9581
|
合并:把 origin/master 的对外 MCP 语义工具与状态条、Markdown 修复并进接单化分支
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
- 冲突(`chat-composer.suite.ts` 接单窗口用例)按双方意图合并:保留上游「窗口期就要显示处理中卡片」,同时保留本分支「卡片要等宿主 `turn.started.at` 才开始读秒」;用例改为窗口期断言卡片在、无「已耗时」,再补发 `turn.started` 与开口用户条目后才断言气泡与读秒出现。
- 补上运行中回合的起点链路(合入前只有收口条目带起点,运行中卡片读不到秒):`useDirectThreadChatSubscription` 暴露 `turnStartedAt`,控制器透传 `directTurnStartedAt`,`DirectProjectChatView` 交给 `buildDirectChatTurns`。
- 同步 ADR、实施计划、`decision-log`、`pitfalls` 的口径与注释(两态投影;接单窗口只有卡片且不读秒)。
- 其余上游变更直接并入:对外 OpenAPI / MCP 语义工具方案与实现、状态条读秒粒度与几何、对话 Markdown 容错。
|
2026-09-24 19:13:53 +08:00 |
|
k88936
|
1ff1a9965b
|
前端:删掉 Direct 的本地乐观用户气泡,用户气泡只来自宿主条目
- controller 删 `pendingUserItemId` / `beginTurnCommand` / `endTurnCommand`:忙态改由 `beginTurnBusy` / `endTurnBusy` 持有,宿主认领判据 = `turnRunning` 或收口计数变过(一轮在同一次 consume 里开始并结束)
- controller 删 `startTurn` 的乐观追加与 `messageAppended` 重跑参数、`DirectProjectTurnInput.messageText` 与首轮的 `directInitialTurnText`;controller 不再需要 `assets`
- 投影删 `awaiting-start` 展示态(只剩 `running` / `finished`)、`localSentTimes` / `sameIdentitySentAt`、本地用户气泡与它开回合的路径;带身份的拒单提示在会话末尾自成一组,不挂进上一轮,也不开运行态标记
- 时间口径:起点只认 `turn.started.at`、终点只认 `turn.completed.at`,用户气泡时钟取宿主落盘 / 观测时间;两边都空的回合整条「本轮结束于 … 」隐藏,不再出现 0.0 秒
- 用例:改造 `directTurnPresentation`(本地用户消息不进回合、拒单提示自成一组、两态判据、失败说明按身份归位)、`directProjectTurn` / `directProjectTurnStatus` / appSurface 窗口期用例,`directProjectTurn` 补 `afterEach(cleanup)`
- 注释与文档:ADR「命令接单化」后续更新、实施计划新增「删掉本地乐观用户气泡」、decision-log 与 pitfalls 同日条目、Codex 原始历史方案的口径句、`codex_app_server` 用户条目时间注释
|
2026-09-24 18:20:24 +08:00 |
|