Commit Graph

3331 Commits

Author SHA1 Message Date
k88936 ba79cbcece Merge remote-tracking branch 'origin/master' into fix/log-cmd-refuse-reason
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m14s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m47s
Project CI / AI game creator shell Rust lane 1/2 (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
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
2026-10-01 16:10:34 +08:00
k88936 2220682e58 修正回合绑定失败被说成回包丢失
- ResponseDeliveryFailure 新增 interrupt_reason,按 cause 给回合终态说明
- 只有 response-write-failed 保留「执行许可回包丢失」;turn-bind-mismatch 改为说明回合绑定不一致、作用域无法确认
- 新增 response_delivery_failure_texts_match_their_cause 用例钉住两句文案
- 同步更新 shared-memory 决策记录里的收束说明口径
2026-10-01 16:08:00 +08:00
k88936 493457c3ea 拒绝原因留痕前统一脱敏
- log_denied_reason 在唯一出口调用 sanitize_diagnostic_message,透传的宿主错误文本不再把绝对路径写进日志
- 去重键改用脱敏后的文本,内存与 stderr 拷贝同样不带原文
- 新增 denied_reason_logging_scrubs_embedded_paths 用例固化该约定
- 同步更新 shared-memory 决策记录里的脱敏口径
2026-10-01 15:48:25 +08:00
k88936 ce4ada8bb3 回包失败留痕改为记录真实原因
- response_write_failed 改名为 response_delivery_failed,新增 ResponseDeliveryFailure 枚举
- 两个调用点分别传 Write(stdin 写入 / flush 失败)与 TurnBindMismatch(bind_turn 返回 false)
- 日志键改为 agent.direct_codex.approval.response_delivery_failed 并带 cause 字段,回合绑定失败不再被误报成写入失败
- 同步更新 shared-memory 决策记录里的日志键口径
2026-10-01 15:44:25 +08:00
k88936 e3041d84e5 未绑定执行器与回包失败的留痕加有界去重
- 未绑定宿主执行器的交互兜底按进程级 (method, outcome) 只写第一行,新增 distinct_outcomes
- 适配器拒绝留痕抽出共用的 log_once,回包未送达同样按回合内原因只记一次
- 上限沿用 MAX_DENIED_REASON_LOGS = 64,模型重试不再逐次刷日志
- 同步更新 shared-memory 决策记录里的去重口径
2026-10-01 15:41:26 +08:00
k88936 c34e45e0c4 未绑定执行器时的交互拒绝按真实结果留痕
- 未绑定宿主执行器的交互兜底不再一律记成审批拒绝
- 新增稳定键 agent.direct_codex.interaction.no_adapter,字段为 method / outcome / request_id
- outcome 区分 decline / empty-permissions / unsupported-method,权限申请与未知方法不再被误标为 decline
- 同步更新 shared-memory 决策记录里的日志键口径
2026-10-01 15:38:05 +08:00
lhk229 55375b1406 清理测试编译warning (#509)
Project CI / AI game creator shell Rust crates (push) Successful in 1m18s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m30s
Project CI / Backend tests (push) Successful in 3m58s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 10m12s
Project CI / Native shell tests (push) Successful in 5m49s
Project CI / Frontend tests (push) Successful in 2m18s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 9m50s
Project CI / AI game creator shell web tests (push) Failing after 2m11s
Project CI / Repository checks (push) Successful in 2m55s
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/509
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-10-01 15:29:23 +08:00
k88936 ea33e8c166 DirectProject 审批拒绝原因留痕
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m43s
Project CI / Backend tests (pull_request) Failing after 17s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m13s
Project CI / Frontend tests (pull_request) Successful in 2m12s
Project CI / Repository checks (pull_request) Failing after 13s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m57s
Project CI / Native shell tests (pull_request) Successful in 5m54s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m41s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m49s
宿主拒绝 app-server 的审批 / 交互请求时,原因必须落 AppData `RUST` 日志。稳定键 `agent.direct_codex.approval.denied`,字段为 `thread_id` / `method` / `reason` / `distinct_reasons`;未绑定宿主执行器时 `reason=no-bound-host-execution-adapter`,回包写入失败另记 `agent.direct_codex.approval.response_write_failed`。
2026-10-01 14:32:25 +08:00
kdletters dbc3355e3a 账单不再计入实际变动为 0 的泥点流水
- spacetime-module:每日免费 / 会员周期换期改为先算「换期后余额 + 实际变动」(新增 resolve_expiring_points_wallet_transition),实际变动为 0 时只更新余额状态、不再写 profile_wallet_ledger
- spacetime-module:通用结算入口 apply_profile_wallet_signed_delta 在 amount_delta 为 0 时直接返回当前余额,不再落一条 0 变动流水
- spacetime-module:账单列表 list_profile_wallet_ledger_entries 在按余额结算链排序之后、截断 50 条上限之前剔除 amount_delta 为 0 的存量行,历史 0 流水立即从账单消失且不占用列表上限
- spacetime-module:新增 3 条定向单测覆盖换期实际变动与账单 0 变动过滤(去 0 后不改变其余条目顺序)
- 文档:后端数据契约 profile_wallet_ledger 补「实际变动为 0 不进账单」口径并修正源码路径为 runtime/active/profile.rs;decision-log 追加 2026-10-01 条目说明根因是旧判据看入参而不是实际余额变动
2026-10-01 13:23:29 +08:00
suzmii bdab523a90 Merge branch 'master' into fix/agc-rust-staging-idempotency
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m44s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m14s
Project CI / Backend tests (pull_request) Successful in 3m35s
Project CI / Frontend tests (pull_request) Successful in 1m57s
Project CI / Native shell tests (pull_request) Successful in 5m35s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m26s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m38s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 9m44s
Project CI / Repository checks (pull_request) Successful in 2m29s
2026-10-01 11:52:08 +08:00
lhk229 a344686b59 为后台项目工程新增按需全量同步时间排序 (#546)
Project CI / AI game creator shell Rust smoke (push) Successful in 1m44s
Project CI / AI game creator shell Rust crates (push) Successful in 1m9s
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
新增按钮读取所选渠道全部项目并按同步时间降序、用户与项目 ID 升序展示
复用本地分页并支持全量刷新、恢复默认顺序、进度提示与取消读取
为全量读取增加超时、数量和游标边界,失败时保留原结果
补充三项关键交互测试并同步技术方案、运维说明与共享记忆

Reviewed-on: #546
2026-10-01 11:51:10 +08:00
suzmii 7e60484633 Merge remote-tracking branch 'origin/fix/agc-rust-staging-idempotency' into fix/agc-rust-staging-idempotency
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m39s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m16s
Project CI / Backend tests (pull_request) Successful in 4m9s
Project CI / Frontend tests (pull_request) Successful in 2m16s
Project CI / Native shell tests (pull_request) Successful in 6m12s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m38s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 10m14s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m52s
Project CI / Repository checks (pull_request) Successful in 2m24s
2026-09-30 20:25:26 +08:00
suzmii 0bfc5768cc 修复AGC跨平台资源构建目标
让Linux no-bundle smoke不再误用Windows随包资源目标。

统一dev与release的Cargo目标和feature解析,补充跨平台回归测试。

同步随包资源staging技术方案中的实际构建目标约定。
2026-09-30 20:24:23 +08:00
suzmii 0a2dffd8a0 Merge branch 'master' into fix/agc-rust-staging-idempotency
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m48s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m28s
Project CI / Native shell tests (pull_request) Failing after 1m38s
Project CI / Backend tests (pull_request) Successful in 3m44s
Project CI / Frontend tests (pull_request) Successful in 1m52s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m42s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 11m23s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m32s
Project CI / Repository checks (pull_request) Successful in 2m18s
2026-09-30 19:44:06 +08:00
kdletters 66ff5bf4b7 隐藏扩展设置中的插件进程诊断信息
Project CI / AI game creator shell Rust crates (push) Successful in 1m43s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m18s
Project CI / Backend tests (push) Successful in 4m18s
Project CI / Frontend tests (push) Successful in 2m32s
Project CI / Native shell tests (push) Successful in 6m39s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 10m42s
Project CI / AI game creator shell web tests (push) Successful in 1m58s
Project CI / Repository checks (push) Successful in 2m45s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 11m49s
移除内置插件卡片中的 lastError 展示

移除导入插件卡片中的 lastError 展示

补充扩展设置文档约定
2026-09-30 18:59:26 +08:00
lhk229 c6381f68e1 修复AGC壳CI缺少Claude SDK依赖安装 (#558)
Project CI / AI game creator shell Rust crates (push) Successful in 1m32s
Project CI / AI game creator shell Rust smoke (push) Successful in 3m54s
Project CI / Backend tests (push) Successful in 5m55s
Project CI / Frontend tests (push) Successful in 2m58s
Project CI / Native shell tests (push) Successful in 6m43s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 11m31s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 13m4s
Project CI / Repository checks (push) Successful in 4m16s
Project CI / AI game creator shell web tests (push) Successful in 5m13s
为两条Rust测试lane及smoke任务补齐编译前npm安装
为Rust缓存预热补齐Claude SDK依赖安装
更新CI安装顺序验证及开发运维文档和共享记忆

Reviewed-on: #558
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-09-30 18:11:17 +08:00
suzmii 8be75e8e15 合并 origin/master(33 个提交):DirectProject 入队化与事件投影
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m30s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 1m54s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m57s
Project CI / Frontend tests (pull_request) Successful in 3m39s
Project CI / Backend tests (pull_request) Successful in 6m13s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 7m59s
Project CI / Repository checks (pull_request) Successful in 3m29s
Project CI / Native shell tests (pull_request) Successful in 8m0s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m58s
- 合并 origin/master(425fbcf63..9ee34809b),唯一冲突是共享决策日志两侧各插条目,取「两侧并存」
- 本轮 master 未触及随包资源声明、准备步骤与三份 tauri 配置,build.rs 只读校验保持不变
- 决策日志与踩坑记录同步两侧条目;docs/README.md 与项目索引按 master 收敛
- 构建期重新生成的 ts-rs 绑定经 prettier 归一后与 master 逐字节一致(合并未丢类型)
- 校验:cargo test --no-run 全 target 通过、AGC 应用 vitest 191 files / 1889 tests passed、check-package-layout、prepare-bundled-resources 18 passed、check-config、check:encoding、prettier、cargo fmt --check 全绿
2026-09-30 17:38:35 +08:00
suzmii b5a143c04f 合并 origin/master:随包资源仍由准备步骤生成,Claude Agent SDK sidecar 按同一架构归位
- 合并 origin/master(140 个提交),解决 4 处冲突:build.rs 取只读校验分支、package.json 同时保留 bundled-resources:test 与 check:generated-bindings、决策日志与踩坑记录两侧条目并存
- master 的构建期 staging(stage_bundled_claude_agent、prune_stale_codex_components)不进构建脚本;sidecar 改由声明与准备步骤产出
- package-layout.json 新增 claudeAgent section(锁定版本、sidecar 入口、上游 SDK 与平台原生运行时目标表、复制跳过规则),layoutVersion 递增到 2
- prepare-bundled-resources.mjs 新增 sidecar 整目录原子替换与缓存 key,复制规则按 section 参数化,Windows 真机 24 个文件、复跑命中缓存零写入
- package_layout.rs 新增 sidecar 只读校验(入口与仓库源码逐字节一致、上游包版本、可执行位、白名单外文件)与声明钉住用例
- build.rs 调用 sidecar 校验并导出 AGC_CLAUDE_AGENT_SDK_VERSION;claude_code_cli.rs 的 sidecar 身份串改用声明版本
- resources/claude-agent 映射从基线 tauri.conf.json 移到 windows/macos 平台配置,check-config.mjs 增加「基线不得声明 resources/**」守卫
- 修正 package_layout 的 Windows 路径期望用例(期望值改与实现同形,原用例在 Windows 必红)
- 同步技术方案 §4.5/§4.9、共享决策日志与踩坑记录
2026-09-30 17:23:04 +08:00
k88936 8a4e3cbcdd Merge remote-tracking branch 'origin/master' into feat/msg-queue-to-rust
Project CI / AI game creator shell Rust smoke (pull_request) Failing after 1m9s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 1m11s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 1m12s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m45s
Project CI / Frontend tests (pull_request) Successful in 4m25s
Project CI / Repository checks (pull_request) Successful in 4m34s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m15s
Project CI / Backend tests (pull_request) Successful in 7m11s
Project CI / Native shell tests (pull_request) Successful in 7m50s
2026-09-30 16:55:37 +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
kdletters 110f088d41 修复 Jenkins 发布流水线与 macOS 包门禁
Project CI / AI game creator shell Rust lane 2/2 (push) Failing after 1m12s
Project CI / AI game creator shell Rust smoke (push) Failing after 1m12s
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 1m12s
Project CI / AI game creator shell Rust crates (push) Successful in 1m37s
Project CI / Frontend tests (push) Successful in 3m37s
Project CI / Repository checks (push) Successful in 4m4s
Project CI / AI game creator shell web tests (push) Successful in 2m11s
Project CI / Backend tests (push) Successful in 6m31s
Project CI / Native shell tests (push) Successful in 7m13s
- 转义 Stdb Publish GString 内的 shell 命令替换,避免 Jenkinsfile 加载时 Groovy 编译失败
- 为 Stdb Publish 暂存清理命令补充生产运维回归门禁
- 抽离 macOS 包内容策略并放行随包 Claude Agent SDK 的受控 node_modules
- 违规资源现在会输出具体相对路径,并补充包内容白名单单测与排障记录
2026-09-30 16:01:21 +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
kdletters c25fd47d16 纠正清智创游官网游戏下载线上路由
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 1m18s
Project CI / AI game creator shell Rust smoke (push) Failing after 1m18s
Project CI / AI game creator shell Rust lane 2/2 (push) Failing after 1m18s
Project CI / AI game creator shell Rust crates (push) Successful in 1m51s
Project CI / Frontend tests (push) Successful in 4m46s
Project CI / Repository checks (push) Successful in 5m5s
Project CI / AI game creator shell web tests (push) Successful in 2m47s
Project CI / Backend tests (push) Successful in 9m1s
Project CI / Native shell tests (push) Successful in 10m4s
移除错误的独立主站 vhost 配置
补充官网现役 vhost 的精确下载接口 snippet
同步线上排障说明与回归测试
2026-09-30 14:52:02 +08:00
k88936 888c249ffd Merge branch 'master' into feat/msg-queue-to-rust
Project CI / AI game creator shell Rust smoke (pull_request) Failing after 1m16s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 1m16s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Failing after 1m16s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m49s
Project CI / Frontend tests (pull_request) Successful in 4m14s
Project CI / Repository checks (pull_request) Successful in 4m34s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m13s
Project CI / Backend tests (pull_request) Successful in 7m10s
Project CI / Native shell tests (pull_request) Successful in 7m58s
2026-09-30 14:37:25 +08:00
kdletters 05bf69f2c2 修复清智创游官网引擎下载接口路由
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / AI game creator shell Rust smoke (push) Has been cancelled
新增 tsingnovagames.com 独立 Nginx vhost 并代理 /api 到 api-server
补充官网 /home/ 静态首页与下载接口回归测试
同步生产运维验收与排障说明
2026-09-30 14:18:12 +08:00
kdletters fb130d1847 新增 AGC 模型 Agent 模式与 Claude Agent SDK sidecar
Project CI / AI game creator shell Rust lane 1/2 (push) Failing after 57s
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust smoke (push) Has been cancelled
后台模型目录增加 codex/cc 执行模式绑定,旧目录缺省兼容 Codex

AGC 客户端按模型绑定路由 Codex app-server 或 Claude Agent SDK sidecar

随包携带 Node runtime、Claude Agent SDK 与匹配平台 Claude runtime

补充模型配置、客户端选择、运行时适配、MCP 取消和定向测试

同步 AGC 模型配置规范、里程碑计划与共享决策记录
2026-09-30 14:07:25 +08:00
k88936 a7caaa6ade Merge remote-tracking branch 'origin/master' into style/game-play
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m26s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m56s
Project CI / Backend tests (pull_request) Successful in 4m27s
Project CI / Frontend tests (pull_request) Successful in 2m21s
Project CI / Native shell tests (pull_request) Successful in 6m56s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m16s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 9m53s
Project CI / Repository checks (pull_request) Successful in 2m38s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m1s
# Conflicts:
#	docs/project-memory/shared-memory/pitfalls.md
2026-09-30 13:38:14 +08:00
k88936 d538c6e9c9 Merge remote-tracking branch 'origin/master' into feat/msg-queue-to-rust
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m25s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m14s
Project CI / Backend tests (pull_request) Successful in 4m1s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m40s
Project CI / Frontend tests (pull_request) Successful in 2m19s
Project CI / Native shell tests (pull_request) Successful in 6m4s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Failing after 9m52s
Project CI / Repository checks (pull_request) Successful in 2m37s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m12s
2026-09-30 13:37:14 +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 3b76c2611e 游戏分发四个页面的返回按钮文案统一成「返回」
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m27s
Project CI / Backend tests (pull_request) Failing after 16s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m57s
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
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 / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
- GamePlayPage 返回详情 → 返回(含启动超时面板里的按钮)
- MyGamesPage 与 GamePublishPage(三处分支)返回游戏广场 → 返回
- 目标页仍由各自 onBack 决定,按钮不再承诺可能不对的目的地
- GameDistributionPages.test.tsx 超时用例断言改为 /^返回$/u
- 同步里程碑文档与玩法链路文档的返回文案描述
2026-09-30 13:33:02 +08:00
k88936 0619903e3f 修复游玩页面板不滚动规则被 workbench 祖先规则压掉
- .platform-tab-panel--game-play 覆盖带上 .platform-desktop-shell--workbench 祖先,压过 overflow: auto
- E2E 游玩页断言补整页与面板的横向溢出测量,避免面板 overflow-x: hidden 静默裁切漏检
- 修正 E2E 探针里重复的 panelOverflowY 键名,拆成 panelOverflowY 与 panelOverflowStyle
- 同步里程碑文档与 pitfalls 同日条目(单类名覆盖被祖先规则压掉、守卫实际为空)
2026-09-30 13:24:55 +08:00
k88936 e976a69f9f 详情页返回按来源回到上一页并改用浏览器原生返回
- GameDetailPage 左上角「返回游戏广场」简化为「返回」,不再写死跳广场
- 详情/游玩页返回优先 window.history.back(),由 popstate 还原真实来源页(我的游戏/广场)
- activeAppPageRoutes 给应用历史条目补深度标记并新增 hasAppHistoryBackEntry()
- 深链直开等无可回退条目时用 replaceAppHistoryPath 兜底回广场或详情
- 新增 activeAppPageRoutes 深度语义用例与 PlatformEntryActiveFlowShell「游戏详情返回」两条用例
- 同步里程碑文档 2026-09-30 与 pitfalls 同日条目
2026-09-30 13:05:55 +08:00
k88936 9f04940c6d 整包工作流恢复只在需要恢复时才取整轮任务锁
- `recover_direct_taonier_regeneration_workflow_at` 先做只读判据(复用 `direct_taonier_regeneration_workflow_requires_recovery_at`),不需要恢复就直接返回
- 真要动手才取 `direct-codex-art`,并在锁下重读一次判据(以锁下那一份为准)
- 原来无条件取锁:正在跑的整包重生成整轮持有它,入队会先同步阻塞约 1 秒再被 `HostStateUnavailable` 拒掉
- 实施计划补一行说明,与 ADR §6"入队不取整轮持有的锁"对齐
- 测试:新增用例"整包重生成在跑(锁被占)时不需要恢复的入队路径不取锁",撤掉修复会红
2026-09-30 13:04:49 +08:00
k88936 0d3937b7eb 广场的发布游戏与我的游戏入口上移到 hero 右上角
- GameGalleryPage 新增 .game-page-actions 一行,把「发布游戏」「我的游戏」从 hero 下方的工具栏动作区移出,右对齐放在 hero 上方
- 工具栏只保留「游戏广场」标题与搜索框,不再和入口按钮挤在一行
- .game-page-actions 设 flex-end、0.6rem 间距与 1.1rem 底部间距;两个入口都不可用时整行不渲染,hero 位置不变
- 实测 390/360/820 三档:按钮在 hero 之上、与 hero 间距 18px、右边缘与 hero 对齐
- 里程碑文档记录该布局调整
2026-09-30 12:57:00 +08:00
k88936 baca440c5d 对齐页签面板左右留白,修掉移动端右侧贴边
- 删除 .platform-tab-panel 里写死的 padding-right: 0.25rem:它是不分层规则,优先级高于 Tailwind @layer utilities 的 padding-inline,把右内边距钉成 0
- 同时删除 @media (max-width: 639px) .platform-tab-panel 与 .platform-desktop-shell--workbench .platform-tab-panel 里各自重复的 padding-right: 0
- 左右留白统一交给使用处的 px-3 / sm:px-6;没有 px 类的舞台(创作主页、我的、游玩页)保持 0/0
- 实测:390 下面板 12/12、列表左右留白 28/28;820 下 24/24、44/44(改前为 12/0、28/16 与 24/0、44/20),横向溢出仍为 0
- pitfalls 与里程碑文档同步该根因(unlayered 覆盖 Tailwind 层级)与测量结论
2026-09-30 12:52:15 +08:00
k88936 3bb1c28a51 修复我的游戏页移动端列表横向溢出并与画廊统一布局口径
- .my-game-list 改 grid-template-columns: minmax(0, 1fr),单列 auto 轨道不再被内容最小宽度撑开
- .my-game-card 加 min-width: 0 与 overflow: hidden,卡片可被压缩并裁掉溢出,与 .game-card 同口径
- .my-game-card__title 加 min-width: 0 与 overflow-wrap: anywhere,长标题不撑宽标题行
- pitfalls 记录该机制(auto 轨道最小尺寸 = 内容最小宽度 + nowrap 简介 + 缺 min-width:0)与 Chromium 夹具判据
- 里程碑文档补上该修复与 390/360 视口的测量结论
2026-09-30 12:44:08 +08:00
k88936 e405a4f36f 修复游玩页启动面板居中溢出导致顶部内容滚不到
- .game-player-launch 纵向对齐由 center 改为 safe center(保留 center 作旧浏览器回退),溢出时退回 start,不再把标题裁到 scrollTop=0 也够不到的位置
- 同步修正 ≤820px 与 max-height:26rem 两处媒体查询里的 align-content
- 把 overflow-y: auto 提到 .game-player-launch 基础规则,启动卡片成为唯一的内部滚动兜底,页面与 .platform-tab-panel 仍保持 overflow:hidden
- pitfalls 记录该故障模式(居中溢出叠加内部滚动会让负方向那半不可达)与真实 Chromium 夹具判据
- 里程碑文档补上 safe center 口径与取证说明
2026-09-30 12:04:26 +08:00
kdletters 39823b05c1 修复Jenkins release渠道测试环境污染
Project CI / AI game creator shell Rust smoke (push) Successful in 1m45s
Project CI / AI game creator shell Rust crates (push) Successful in 3m12s
Project CI / Backend tests (push) Successful in 3m53s
Project CI / Frontend tests (push) Successful in 1m45s
Project CI / Native shell tests (push) Successful in 5m36s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 8m53s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 9m20s
Project CI / Repository checks (push) Successful in 2m32s
Project CI / AI game creator shell web tests (push) Successful in 1m48s
固定发布构建单测使用dev渠道,避免继承Jenkins的release环境变量。

记录Mac构建在Windows目标测试中读取NSIS配置失败的根因与排障口径。
2026-09-30 12:00:13 +08:00
kdletters b7862288d0 移除AGC正式渠道产品名后缀
Project CI / AI game creator shell Rust crates (push) Successful in 1m31s
Project CI / AI game creator shell Rust smoke (push) Successful in 2m1s
Project CI / Backend tests (push) Successful in 4m0s
Project CI / Frontend tests (push) Successful in 2m3s
Project CI / Native shell tests (push) Successful in 6m16s
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
- release 渠道复用正式产品名陶泥儿,安装包与更新归档不再包含 Release 文本。

- 保留 release identifier 与 release-win/release-mac 更新分区,更新渠道身份回归测试。

- 同步客户端发布、运维与项目记忆文档。
2026-09-30 11:51:03 +08:00
k88936 75f9bbacb1 入队前先判容量:满了不再做工程准备
- `direct_thread_manager` 新增只读的 `direct_pending_turn_count`(管理器 `pending_turn_count` + 模块级封装)
- `enqueue_direct_codex_turn_typed` 在前置条件之后、工程准备之前先做一次容量预判,满队直接返回 `QueueFull`
- 工程准备是分钟级、会在磁盘留产物的活,为注定收不下的消息先做它没有意义;权威判据仍是入队临界区里的检查
- 补一条管理器用例钉住这个只读口径:只数在队条目,认领 / 取消后立刻跟着变
2026-09-30 11:50:38 +08:00
k88936 301f66da2d 游玩页改成固定画布,移动端不再整页可滚
- PlatformEntryActiveFlowShell 在 game-play 舞台给页签容器加 platform-tab-panel--game-play,不再挂 overflow-auto,也不再叠加双份内边距
- index.css 新增 .platform-tab-panel--game-play,面板 overflow:hidden 并去掉右侧留白
- gameDistribution.css 让 .game-play-page 改 height:100%/min-height:0、播放器 flex:1 1 auto/min-height:0,删除移动端把页面撑高的 calc(100dvh - 8rem)
- 矮视口(max-height:26rem,横屏手机)压扁启动面板并隐藏封面,保证「开始游戏」可达,页面与面板本身仍不滚动
- PlatformEntryActiveFlowShell.test.tsx 双向锁定游玩舞台页签容器不滚动、游戏广场等舞台仍保持滚动
- check-game-distribution-web-e2e.mjs 移动端段新增「移动端游玩页不可滚动(面板与整页都不溢出)」断言
- 里程碑文档补上该修复的根因、口径与验证记录
2026-09-30 11:44:35 +08:00
k88936 055a6d6658 首屏「立即试玩」改为滚动到列表而不是打开第一款游戏
- GameGalleryPage 的 hero 按钮不再取 visibleGames[0] 直接开详情,改为把游戏列表滚进视野
- 滚动按平台页签面板(.platform-tab-panel)算相对偏移并走 scrollTo({behavior:'smooth'}),缺少 scrollTo 时退化成直接赋值
- 新增 gameListRef 锚在列表工具栏,退役只服务该按钮的 featuredGame 派生
- GameDistributionPages.test.tsx 新增「首屏「立即试玩」滚动到列表,而不是打开第一款游戏详情」,断言未触发 onOpenDetail 且滚动落在页签面板上
- 里程碑文档新增「网页侧交互修正(2026-09-30)」记录该修正与验证命令
2026-09-30 11:44:26 +08:00
k88936 20126ead0c 注释用词统一:入队半 / 放行半 改成 入队侧 / 放行侧
- `codex_app_server/mod.rs` 两处、`direct_runtime/mod.rs`、`direct_thread_queue.rs`、`direct_runtime/user_input.rs` 各处的简体表述统一
- 同步实施计划文档里的同一处措辞,保持词汇一致
- 只改措辞,不改任何行为
2026-09-30 11:43:21 +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 dfd94c435f Merge remote-tracking branch 'origin/master' into fix/mobile-style
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m29s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m55s
Project CI / Backend tests (pull_request) Successful in 4m9s
Project CI / Frontend tests (pull_request) Successful in 2m15s
Project CI / Native shell tests (pull_request) Successful in 6m6s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 8m53s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 9m38s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m45s
Project CI / Repository checks (pull_request) Successful in 2m44s
# Conflicts:
#	docs/project-memory/shared-memory/decision-log.md
#	docs/project-memory/shared-memory/pitfalls.md
2026-09-30 10:20:58 +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
lhk229 68ba4c47d8 将决策记录模板移至项目记忆说明
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m14s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m17s
Project CI / Backend tests (pull_request) Successful in 3m50s
Project CI / Frontend tests (pull_request) Successful in 2m21s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 9m10s
Project CI / Native shell tests (pull_request) Successful in 6m30s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 9m34s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m49s
Project CI / Repository checks (pull_request) Successful in 2m47s
在项目记忆 README 的使用原则后恢复决策记录格式模板
说明模板按需填写,简单决策无需补齐全部字段
在决策记录文件顶部增加指向模板的链接
2026-09-29 15:05:14 +08:00