Commit Graph

1251 Commits

Author SHA1 Message Date
lhk229 01f855a50c Merge remote-tracking branch 'web/master' into feat/five_min_design
Project CI / Repository checks (pull_request) Failing after 4m0s
Project CI / Frontend tests (pull_request) Successful in 5m18s
Project CI / Backend tests (pull_request) Successful in 5m51s
Project CI / Native shell tests (pull_request) Successful in 16m14s
2026-08-24 05:04:00 +00:00
kdletters 299b52d71b Merge remote-tracking branch 'origin/master'
Project CI / Repository checks (push) Successful in 4m6s
Project CI / Frontend tests (push) Successful in 4m51s
Project CI / Backend tests (push) Successful in 6m15s
Project CI / Native shell tests (push) Successful in 15m50s
# Conflicts:
#	apps/ai-game-creator-shell/src-tauri/src/project/resource_editor.rs
2026-08-24 12:21:29 +08:00
kdletters 46053832fd 补齐 Codex 语义媒体资源能力
新增登记资源查询与媒体创建/派生工具

接入画布上下文、幂等账本与 warning 回放

更新客户端 Skill、技术方案与决策记录

补充资源生成与传输失败回归测试
2026-08-24 12:05:27 +08:00
lhk229 bc6c1e57a0 合并 master:resume 入口与 ProjectDevelopmentView 各留双方新增
Project CI / Frontend tests (pull_request) Successful in 4m27s
Project CI / Backend tests (pull_request) Successful in 5m31s
Project CI / Repository checks (pull_request) Failing after 11m41s
Project CI / Native shell tests (pull_request) Successful in 15m46s
两处冲突都是双方各自新增、互不相干:

- recovery_scan.rs:master 在 resume 入口加了
  recover_direct_taonier_regeneration_workflow_at(硬 `?`),分支加了策划
  GDD 审批投影恢复(分三路容错、不硬传播)。都留;master 那句放前面,
  保持它原有语义不受分支块影响。
- WorkspaceLauncher.tsx:master 的 walletEntry 与分支的 planningStartMode
  是同一个 JSX 元素上两个独立 prop,都留。

typecheck 干净,eslint rc=0,cargo check --all-targets 通过,
appSurface 421/421,分支自有过滤器(plan_envelope_repair_tests 4、
native_agent_delegate 9、prompt::tests 32)全绿。clarification 仍是本机
既有的 1 条锁超时基线失败。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 03:56:17 +00:00
kdletters 2449e77461 修复切换账号后画布资源不可编辑 (#182)
Project CI / Frontend tests (push) Successful in 5m10s
Project CI / Backend tests (push) Successful in 5m37s
Project CI / Repository checks (push) Successful in 4m24s
Project CI / Native shell tests (push) Successful in 13m9s
## 变更

- 新增按服务 origin、平台 userId / Developer Key 摘要和本地 projectId 分区的 External Editor 项目绑定
- 新增按当前 principal、远端项目、本地 assetId、源 SHA-256、媒体类型和 canonical kind 分区的资源绑定
- manifest 中的 canvasProjectId / resourceId / assetObjectId 仅保留来源信息,不再作为当前账号的可编辑授权
- 切换账号后从本地正式资源重新上传、confirm、登记;图片、视频、角色动画、素材画布参考、art-spec 派生和 Direct 恢复统一使用当前账号绑定
- prepared / accepted / running 账本继续冻结原 principal;账号变化或远端结果不确定时停止补偿并保留现场等待对账
- 同步技术方案、decision log 和 pitfalls

## Review 结论

- 两路独立代码 review 均未发现剩余 P0-P2
- Review 发现并关闭了 max-pass 测试误放宽问题,恢复为绑定最大轮次的强断言
- 首轮 CI 暴露两处本 PR import 排序错误,已在独立提交 09486f142 中修复并复核

## 验证

- Rust 完整测试:2301 passed,0 failed,16 ignored
- Rust 集成与构建测试:5 + 2 + 14 passed
- repository-ci 本地同构门禁通过:lint、typecheck、139 表 SpacetimeDB schema guard、403 个 appSurface 测试、web/admin-web build
- External Editor procedure 真实 smoke 通过:精确重放、冲突、删除 fail-close、并发和孤儿检查
- Encoding check:5594 files
- git diff --check 通过
- Gitea Project CI run 1253:Repository checks、Frontend、Backend、Native shell tests 全部通过
- 当前 head a0b8415be 已合并 origin/master 44ee28c43,PR 无冲突

## 后续依赖

PR #176 暴露了这一公共账号身份缺陷。该 PR 合并后,#176 需要 rebase,并删除或接入其局部 canonical cache,不能保留第二套账号绑定系统。

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/182
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
2026-08-24 11:33:37 +08:00
wuxiangwanzi 44ee28c43f 让运行视窗按内容自适应 (#180)
Project CI / Repository checks (push) Successful in 3m38s
Project CI / Frontend tests (push) Successful in 3m55s
Project CI / Backend tests (push) Successful in 4m7s
Project CI / Native shell tests (push) Failing after 9m31s
为本地预览注入只读尺寸桥并校验 iframe 消息来源

按可用区域等比缩放完整游戏画面并移除横纵滚动条

补充前端与 Rust 回归测试并同步运行视窗文档

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/180
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-24 10:54:06 +08:00
kdletters 0b546c9e4c 完善AGC受控客户端能力
Project CI / Repository checks (push) Successful in 4m44s
Project CI / Frontend tests (push) Successful in 6m6s
Project CI / Backend tests (push) Successful in 6m8s
Project CI / Native shell tests (push) Failing after 12m41s
补齐美术复用与显式重生成模式、稳定回合身份和幂等补偿恢复
收紧付费授权、四切片资源身份及告警投影边界
限制Direct Codex仅写真实game目录并接入受控联网搜索
持久化Direct用户与助手消息并修复同进程恢复竞争
同步审核Skill、技术文档、项目记忆和回归测试
2026-08-23 22:34:16 +08:00
Git Hooks Test 8fe439feba 修复AGC资源生成的序列帧持久化与画布完成上下文
Project CI / Repository checks (push) Successful in 4m20s
Project CI / Frontend tests (push) Successful in 4m35s
Project CI / Backend tests (push) Successful in 6m59s
Project CI / Native shell tests (push) Successful in 17m52s
- 本地manifest资产新增imageSequenceFrames和imageSequenceDurationMs,角色动画完成后随账本恢复并写回manifest

- 新建视频、音效和背景音乐时创建或复用同名画板项目与素材库目录,并携带projectId、assetFolderId和canvasCompletion

- 资源编辑请求指纹纳入generationMode,旧账本继续通过legacy指纹兼容

- 同步更新共享契约、前端资源投影、实施计划文档与定向测试
2026-08-23 21:37:27 +08:00
Git Hooks Test e0319e80f0 补齐AGC资源生成能力并接入视频动画与音频生成
- 资源编辑命令新增create生成模式,支持无源视频、音效和背景音乐生成

- 图片聚焦态新增角色动画生成入口,提交角色动画接口并下载预览视频登记为本地媒体

- 资源页新增生成视频、生成音效、生成背景音乐入口

- 统一资源编辑面板按生成模式区分新建媒体资源与编辑现有资源

- 补充资源生成与角色动画定向测试,并更新AI游戏创作App实施计划文档
2026-08-23 21:37:27 +08:00
lhk229 e57d81454f 合并 master:首页创作类型选择器接管做方案入口,startMode 改为派生
master 这 22 个提交里有一处和本分支正面撞车:它把首页那枚选择器做成了三类型
(做游戏 / 做素材 / 做方案,HomeCreationType),而本分支此前把同一枚控件砍成了
两项(做游戏 / 做方案)并直接用它当路由(ProjectStartMode)。做素材必须与 master
一致,所以取 master 的三类型控件,startMode 不再是独立状态,改为从 creationType
派生:doc → planning,其余 → direct-build。两个字段在 LauncherProjectContext 和
HomeDraft 里并存,creationType 记入口原始类型,startMode 记链路路由。

五处冲突的处理:

- app/types.ts、useHomeProjectCreation.ts:creationType 与 startMode 并存,调用
  顺序统一跟已自动合并好的函数签名走。
- view/home/index.tsx:选择器整段取 master,删掉本分支已无人引用的
  HOME_START_MODES / HOME_START_MODE_ITEMS,startMode 就地派生。
- SupervisorChatOnlyView.tsx:master 新增的 directCodex 活动时间分支保留,内层
  runtime 换成本分支的 projectedRuntime;master 那句
  `!directCodex && synchronizingAcceptedRun` 是冗余的(合并后
  synchronizingAcceptedRun 的定义里已经带了 !directCodex),它重复声明的
  activeCollaboratingRuntimes 也丢掉——上面已经声明过一次。收束判据取本分支的
  runtimeTerminal / descendantsStillActive。
- styles.css:master 的聊天气泡样式与本分支的审批卡高度上限互不相干,都留;补上
  master 最后一条规则缺的闭合括号(它原本借用冲突块外那个共用的 })。

两处测试跟着改:

- appSurface/harness.ts:afterEach 补一次 useLauncherHomeDraftStore.reset()。
  首页创作类型存在 module 级 zustand store 里,跨用例不会回到初始值;合并后建项
  按钮的文案依赖它(做方案 → 进入立项策划),上一个选过做方案的用例会让下一个
  找不到「开启创作」。合并前 startMode 是组件 useState,这个泄漏看不出来。
- appSurface/home.suite.ts:master 新增的用例在选中做方案后仍按「开启创作」找
  按钮,改成「进入立项策划」——本分支有意在这一档改了文案,suite 里本分支自己的
  用例也是按这个口径找的。

验证:npm run typecheck 干净;eslint 改动文件零告警;cargo check --all-targets
通过;appSurface 403/403。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 12:33:56 +00:00
wuxiangwanzi 814fc343e2 优化客户端主界面表现 (#177)
Project CI / Repository checks (push) Successful in 4m11s
Project CI / Frontend tests (push) Successful in 5m52s
Project CI / Backend tests (push) Successful in 5m59s
Project CI / Native shell tests (push) Successful in 12m34s
调整首页品牌区、创作类型按钮和输入框视觉比例。

重做最近项目横向信息卡并展示类型、更新时间和进度。

补充本地项目修改时间只读字段及首页回归测试。

同步更新 GameAgent 客户端实施文档。

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/177
Co-authored-by: 五香丸子 <15518898337@163.com>
Co-committed-by: 五香丸子 <15518898337@163.com>
2026-08-23 16:50:14 +08:00
Git Hooks Test c98bf4a17a 新增AGC受控联网搜索工具
Project CI / Native shell tests (push) Failing after 2m9s
Project CI / Repository checks (push) Successful in 4m23s
Project CI / Frontend tests (push) Successful in 4m34s
Project CI / Backend tests (push) Successful in 5m59s
在DirectProject的agc_tools MCP中按webSearchEnabled开关新增agc_web_search工具。

通过客户端loopback工具桥固定访问Bing RSS并返回有界公开HTTPS结果。

保持Codex原生webSearch禁用,并同步搜索开关到系统提示词与连接池隔离边界。

补充MCP目录、参数校验、结果过滤、真实搜索链路和配置回归测试,并更新技术文档。
2026-08-23 16:04:25 +08:00
kdletters 1a909704aa 预览镜像同时内置本地环境配置
Project CI / Repository checks (push) Successful in 2m52s
Project CI / Native shell tests (push) Failing after 2m50s
Project CI / Frontend tests (push) Successful in 4m11s
Project CI / Backend tests (push) Successful in 4m44s
预览 API 与 worker 通过 BuildKit secret 内置 .env.local

补齐预览控制面固定 .env.local 校验与文档

更新 Docker 构建边界测试
2026-08-23 14:29:46 +08:00
kdletters 78ebe063f3 修复Jenkins Web构建npm版本漂移
Project CI / Native shell tests (push) Failing after 2m18s
Project CI / Repository checks (push) Successful in 4m7s
Project CI / Frontend tests (push) Successful in 4m35s
Project CI / Backend tests (push) Successful in 5m30s
新增 Jenkins 用户级 npm 10.9.7 版本隔离引导
在 Web Build 各独立 shell 复用固定 npm 后执行 workspace 安装与门禁
收紧生产运维检查并同步 npm workspaces 文档与共享决策
2026-08-23 04:11:18 +08:00
Git Hooks Test 32da013545 修复AGC Skill跨平台指纹漂移
Project CI / Native shell tests (push) Failing after 2m5s
Project CI / Repository checks (push) Successful in 3m34s
Project CI / Frontend tests (push) Successful in 4m14s
Project CI / Backend tests (push) Successful in 5m58s
统一以UTF-8 LF规范化内容计算Skill与清单指纹
安装隔离Skill时写入规范化文本避免Windows混合换行
增加LF与CRLF等价及安装结果回归测试
同步Skill Pack版本与实施文档、技术方案和踩坑记录
2026-08-23 01:20:28 +08:00
kdletters 8cc1432b86 修复完整容器数据库内存上限
Project CI / Repository checks (push) Successful in 3m52s
Project CI / Frontend tests (push) Successful in 4m0s
Project CI / Backend tests (push) Successful in 5m26s
Project CI / Native shell tests (push) Failing after 1m56s
将完整容器 SpacetimeDB 内存上限提升到 2 GiB

增加基础 Compose 内存门禁

同步容器运维文档与项目长期记忆
2026-08-22 16:22:55 +08:00
kdletters d631253c34 将预览密钥内置到API镜像
Project CI / Repository checks (push) Successful in 4m32s
Project CI / Frontend tests (push) Successful in 4m34s
Project CI / Backend tests (push) Successful in 5m18s
Project CI / Native shell tests (push) Failing after 1m37s
固定Jenkins预览密钥宿主路径并收紧文件校验

通过BuildKit secret向API和工作进程镜像安装密钥文件

增加摘要缓存门禁和普通无密钥构建兼容验证

同步预览部署文档、安全边界与排障记忆
2026-08-22 15:45:40 +08:00
kdletters 27de28a487 迁移 npm workspaces 统一依赖边界
根目录统一管理九个 workspace 与唯一 lockfile

迁移 CI、Jenkins 和容器的根目录单次 npm ci

补齐 hoist 兼容、版本校验与 workspace 门禁

同步依赖边界方案、运维文档和长期记忆
2026-08-22 13:17:26 +08:00
Git Hooks Test d83551dd65 恢复AGC首页三类创作入口
Project CI / Repository checks (push) Successful in 3m28s
Project CI / Backend tests (push) Successful in 4m3s
Project CI / Frontend tests (push) Successful in 4m6s
Project CI / Native shell tests (push) Failing after 12m2s
恢复做游戏、做素材、做方案的类型状态与分类提示

将受限 creationType 作为结构化首轮上下文传入项目内 Codex,保持用户原文不变

修正三项内置 Skill 指纹并补齐前端、Rust 与文档回归
2026-08-22 10:46:33 +08:00
lhk229 bfa112094c 合并远端 master(直连 Codex 改造)
Project CI / Frontend tests (pull_request) Failing after 3m11s
Project CI / Backend tests (pull_request) Successful in 3m44s
Project CI / Native shell tests (pull_request) Failing after 9m13s
Project CI / Repository checks (pull_request) Failing after 2m16s
冲突 19 处 / 6 个文件,逐处判定归属而不是二选一:

· commands.rs —— 保留本分支的 hydrate_game_creator_plan_gdd_state 输入解析,
  丢掉与 master 重复的项目根定义(master 把它挪到了后面)。
· types.ts / useHomeProjectCreation.ts —— 取 master 把 mode/prompt/attachments
  重构成 HomeDraft 的形状,保留本分支新增的 startMode。
· App.tsx —— directGameChatRuntime(master)与 !planningStartMode(本分支)是两个
  互不相干的条件,合并保留;refreshDirectProjectSurface 在 merge base 里就带预览
  逻辑,是 master 主动删掉并改名成 refreshDirectProjectManifest 的,取 master;
  capturePendingGameChatStageManifestBeforeNextRun 是分支新增且仍被调用,保留。
· SupervisorChatOnlyView.tsx —— master 的 directCodex 短路与本分支的
  projectedRuntime / descendantsStillActive 正交,逐处合成。
· project-development.suite.ts —— 那段专业 Agent 断言 base 里就有、master 主动
  删除(直连 Codex 之后不再适用),取 master。

两处语义缺口一并补上:master 新增的 codex_app_server 构造
AgentRuntimeProviderRequestSnapshot 时缺本分支新增的 planning_session_binding
字段(首页直连对话不属于任何立项 session,填 None);首页提交按钮的 aria-label
还引用着已被删除的 homeAgentMode,取 master 的固定文案。

**做方案 UI 入口暂时缺失,待定。** master 在 bacd7a9da 里把 HomeAgentMode 整个删了,
首页的「做游戏 / 做素材 / 做方案」模式选择不再存在,而 startMode 在前端只有那一个
来源(homeDraftStartMode(mode))。立项策划链路的代码全部保留——后端、prompt、
澄清卡、审批卡、E2E 都在——但首页现在统一按 direct-build 进入
(HOME_DRAFT_START_MODE 常量,已在原处留注释)。入口放哪由产品侧决定后另做一笔。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 13:49:37 +00:00
kdletters e8d9367df7 修复AGC依赖锁文件缺失 (#174)
Project CI / Repository checks (push) Successful in 3m30s
Project CI / Backend tests (push) Successful in 4m14s
Project CI / Frontend tests (push) Successful in 4m16s
Project CI / Native shell tests (push) Successful in 15m42s
## 问题

合并后的 `master` 连续暴露了三个既有的 AGC 原生构建 blocker:

1. `npm ci --prefix apps/ai-game-creator-shell` 因 lockfile 缺少 `@emnapi/core` / `@emnapi/runtime` 嵌套节点而失败。
2. 修复安装后,Linux Tauri build 又因通用配置无条件引用未生成的 Windows Codex 侧车而失败。
3. Native shell 全量测试继续暴露三项内置 Skill 指纹从初次提交起即与最终文件字节不一致,以及 Linux 会把 Windows 路径语法误判为普通相对路径。

这些问题都在画布优化合并前的 AGC 集成提交中已经存在;画布优化未修改 AGC manifest、lockfile、Tauri 配置或 Skill Pack。

## 修复

- 使用子包 manifest 重新生成独立 package-lock 元数据
- 恢复 Tailwind oxide WASM bundled `@emnapi` 节点并保留 npm 元数据规范化
- 把 Codex Windows x64 侧车映射从通用配置迁到 `tauri.windows.conf.json`
- 配置门禁同时约束通用配置无 Windows resource、Windows 配置保留完整白名单
- 重算三项内置 Skill 内容指纹并提升审核包版本
- Skill 引用路径按平台无关规则拒绝反斜杠、盘符、UNC、绝对路径和父目录段
- 补充 MCP 回归,并同步技术方案、迁移计划和长期排障记录

## 验证

- npm 10.9.7 / npm 9.2.0:`npm ci --prefix apps/ai-game-creator-shell` 通过
- Linux:`npm run ai-game-creator-shell:build -- --no-bundle` 通过
- Skill 指纹 5/5 复算匹配;Skill / MCP 定向测试通过
- `npm run check:native-shells` 完整通过:AGC Rust `2159 passed / 0 failed / 15 ignored`,最终输出 `[check:native-shells] OK`
- `npm run check:encoding`、`npm run check:rustfmt`、本次目标文件 Prettier、`git diff --check` 通过
- AGC、desktop、server-rs Cargo.lock 与两份 package-lock 均无漂移

Reviewed-on: #174
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
2026-08-21 17:38:58 +08:00
kdletters c39d63b65f 优化图片画布拖动性能 (#173)
Project CI / Frontend tests (push) Failing after 45s
Project CI / Native shell tests (push) Failing after 46s
Project CI / Repository checks (push) Failing after 47s
Project CI / Backend tests (push) Successful in 3m25s
## 修改

- 按动画帧合并高频拖动更新,结束时持久化最终状态
- 对未移动图层子树做 memo,保留并发资源与业务字段更新
- 补充拖动合帧、最终 flush、并发状态和图层渲染回归
- 同步真实位图性能验收与排障文档

## 验证

- 8 个相关测试文件 202/202 通过
- TypeScript typecheck、编码检查、Prettier、git diff --check 通过
- 12000×12000 画布、360 张独立 512×512 PNG:有效位置更新 23.44/s → 58.18/s,gap p95 119.8ms → 32.9ms,>50ms 停顿 32 → 0,持久化快照 240 → 1
- 可信 CDP 输入最终运动观测约 46.9 FPS,不以空转 rAF 代替拖动帧率

Reviewed-on: #173
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
2026-08-21 15:33:02 +08:00
Git Hooks Test f25fb2a768 合并远端 master 更新
Project CI / Frontend tests (push) Failing after 47s
Project CI / Repository checks (push) Failing after 48s
Project CI / Native shell tests (push) Failing after 53s
Project CI / Backend tests (push) Successful in 3m32s
保留远端 UI 编辑器与门禁清理改动

合入本地 AGC 直连 Codex 长任务修复

# Conflicts:
#	apps/ai-game-creator-shell/package-lock.json
#	apps/ai-game-creator-shell/src-tauri/Cargo.lock
#	apps/ai-game-creator-shell/src/view/project-development/index.tsx
#	apps/ai-game-creator-shell/tests/appSurface/home.suite.ts
2026-08-21 15:07:29 +08:00
lhk229 7e3adc38b9 完美像素产物会缩放到与原图相近的尺寸;提高识别小网格的倾向 (#172)
Project CI / Frontend tests (push) Successful in 4m6s
Project CI / Repository checks (push) Successful in 4m14s
Project CI / Backend tests (push) Successful in 5m2s
Project CI / Native shell tests (push) Successful in 17m6s
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/172
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-08-21 11:19:17 +08:00
lhk229 db740d8ae6 台账逐项比对失败改判为可回灌的输入错误
Project CI / Repository checks (pull_request) Successful in 3m13s
Project CI / Frontend tests (pull_request) Successful in 3m49s
Project CI / Backend tests (pull_request) Successful in 4m49s
Project CI / Native shell tests (pull_request) Successful in 16m15s
plan.submit_gdd 的 session_decisions_match_input 校验此前与三条真 CAS 判据
(sessionRevision 溢出、session 已被其它动作推进、Runtime source
revision/fingerprint 无效)共用 PLAN_SESSION_CAS_CONFLICT,因此被
plan_submit_error_is_business_rejection 漏掉,一次不匹配就 needs-reconciliation
硬阻断整个策划子 Agent。

两者性质不同:真 CAS 说明 durable 权威已变或已坏,重交同一份 input 不可能成功;
台账不匹配时权威完好,错的是本次 Provider input——子 Agent 把决策摘要抄漏、抄错,
或多追加了一条非 default_pending 决定。按第 12 节自己的判据,后者属于「本次
Provider input」,该走 rejected observation 回灌并受既有 5 次预算约束。

拆出 PLAN_SESSION_DECISIONS_MISMATCH 并纳入 business rejection,真 CAS 三支
原样保留 reconciliation。不变量未放松:不匹配照样拒、照样不产生任何事实,
伪造用户确认仍然不可行,只是拒绝的后果从叫人变成让它改稿。

实测触发:子 Agent 连撞三次形状层(PLAN_INVALID_REQUEST),每次都按回灌理由
改对一部分,机制运转正常;第四次形状合法后随即撞上台账比对,直接阻断,
整条链路零产物。即越接近提交成功越容易撞上不给重试的门。

覆盖:改写既有决定正文 → 新码;同一份 input 只改陈旧 revision → 仍是 CAS;
追加伪造 confirmed 决定 → 新码且不落任何事实;分类器两向断言。分类器一条
已变异验证。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 02:45:37 +00:00
Git Hooks Test bacd7a9da7 完成 AGC 直连 Codex 与审核 Skill 工具链
收口首页和项目聊天为唯一 Direct Codex thread

内置五项审核 Skill Pack 与受控 MCP、浏览器及美术工具桥

补齐 Codex Windows 侧车组件、Provider 代理和凭据幂等边界

同步客户端资源投影、交互测试及技术文档
2026-08-20 23:55:00 +08:00
lhk229 19f4b6276c 合并 master(0797410ee)
Project CI / Repository checks (pull_request) Successful in 2m54s
Project CI / Frontend tests (pull_request) Successful in 3m24s
Project CI / Native shell tests (pull_request) Failing after 12m8s
Project CI / Backend tests (pull_request) Successful in 4m7s
三处冲突:

- decision-log.md / pitfalls.md:双方各自追加条目,两边都保留;决策记录是新在
  前的日志,master 的 2026-08-20 条目排在本分支 2026-08-19 之前。
- panels.tsx:canRetrySupervisor 两侧逻辑逐字相同,只差续行缩进。实测本分支版本
  过 prettier、master 版本不过,故取本分支缩进;顺带把 master 一并带进来的相邻
  needsSupervisorReconciliation 块补成 prettier 输出。解析结果与合并前该文件逐字
  一致,没有语义改动。

已逐项核对本分支 11 个提交的关键标记在合并后仍在树上。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 11:48:29 +00:00
k88936 0797410eef Feat/UI自动识别和布局编辑器简化版 (#170)
Project CI / Repository checks (push) Successful in 3m18s
Project CI / Frontend tests (push) Successful in 3m32s
Project CI / Backend tests (push) Successful in 4m24s
Project CI / Native shell tests (push) Successful in 15m34s
* 支持从项目, 本地电脑, 主站导入/引用素材.
* 页面复杂, 需要足够空间, 作为资源打开时会占满右侧
* 编辑结果作为一种新的美术资源.
* 新增素材按钮现在是空的实现, 临时在旁边加了一个新增UI设计的按钮

临时入口:
![shotmd-1787128060.jpg](/attachments/349a4fa8-7abe-4bbb-80e0-73b1717b6488)

简化:
* 组件实现了最基本的图片和文本
* 容器式布局未接入llm编辑
* 不同阶段统一维护一个状态State, 任何阶段都可以人工调整, 不设单独的步骤
* 多图的UI合并功能暂时不要求, 隐藏入口
* 因为生成工具尚未从主站迁移, 主站地图子画布未实现, 以tab栏的形式容纳素材的子画布需求搁置
* 未实现llm绑定字体功能
* 识别会替换现有UI树, 暂时不是增量的

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/170
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-08-20 19:07:25 +08:00
lhk229 400595756b 修复普通 action 批次带 plan update 时预检自相矛盾
批次预检对每个成员要求 provider_batch_plan_update 等于 batch.plan.plan_update,
而同一函数的另一条规则又要求非 planning 批次成员不得携带该字段;创建侧只为
plan.submit_gdd 填值,其余动作保持 None。于是「同一轮既调 update_agent_plan
又调工具」的普通批次同时踩中两条互斥规则,报「批次成员身份或顺序不匹配」。
该字段随 M1B-2 引入,master 无此标识符,做游戏路径同样中招。

预检期望值改为按批次类型分叉:planning v4 保持相等(:241 已对 actions[0]
校验过一次),非 planning 期望 None。创建侧与非 planning 分支语义本自洽,不动。

补一条走完 prepare 到读回的回归用例;去掉修复后可复现线上同一条错误串。

顺带 cargo fmt 掉上次 master 合并带进来的一处未格式化代码,并补一份第三方
Provider 兼容性缺陷说明。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 03:47:14 +00:00
lhk229 c2d5273873 重做 master 合并,找回上次合并丢失的分支工作
Project CI / Repository checks (pull_request) Successful in 2m58s
Project CI / Frontend tests (pull_request) Successful in 3m4s
Project CI / Backend tests (pull_request) Successful in 4m6s
Project CI / Native shell tests (pull_request) Failing after 11m28s
上次合并 3d8abac33 把 24 个双边改动文件里的 7 个整份取了 master,另有数个
实质取了 master 版本,静默回滚了分支工作;其中 main_loop.rs 保留 master 的
调用点、provider_recovery.rs 保留分支的 cfg(test) 门,导致非测试构建编译失败。

本次从 ca6a3cd4c 对最新 master(341761ee3) 重做,逐个人工解析 38 处冲突:

- 澄清等待态:保留分支的 lane 外 parent-wake 设计与锁守卫,套上 master 新增的
  parent task 身份校验与 game-chat 安全默认返工;`_locked` 两种 false 语义在
  delivery.rs 按 trusted_game_chat_autonomous_parent_chain_at 区分。
- decision-log:按日期把 master 三条插进分支条目之间,57 处 M1 记录全部保留。
- manifest.rs:采用 master 的 windows_sys 绑定,保留分支的目录/reparse point 拒绝。
- 做方案入口按 master 的提交重构改造:resolveProjectSupervisorRuntimeSubmission
  新增 planningEntry,startMode 经 launcher context 传到 App;并把策划入口从
  direct-codex 产品默认中摘出,做游戏与做素材保持 master 新默认。
- 首页两条入口用例按 master 已改的创建流程更新;非空目录确认用例因该流程
  在首页入口不再可达而移除。

验证:cargo check --all-targets 通过;agc typecheck 通过;appSurface 395 passed。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 13:15:16 +00:00
lhk229 ca6a3cd4cd 修复M1策划链路可靠性
Project CI / Repository checks (pull_request) Failing after 17s
Project CI / Backend tests (pull_request) Failing after 17s
Project CI / Frontend tests (pull_request) Successful in 2m45s
Project CI / Native shell tests (pull_request) Failing after 11m32s
阻止人工核对中的策划根写入审批回执

在投影恢复前校验项目身份并使用唯一项目ID

增加策划能力停用门禁与既有sidecar只读行为

拒绝非法plan与自主构建档位组合并收紧消费者

补齐前后端回归测试与M1技术决策记录
2026-08-19 09:13:43 +00:00
lhk229 6d5afd9f6d 修正M1首页立项入口
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / Frontend tests (pull_request) Successful in 2m54s
Project CI / Native shell tests (pull_request) Failing after 6m13s
仅让首页做方案进入立项策划

恢复做游戏和做素材的直接构建路径

同步入口合同与回归测试
2026-08-19 05:27:53 +00:00
lhk229 e3d318bf45 完成M1E提交拒绝有界收束
为 Fast GDD 提交拒绝新增持久化次数上限与恢复收束。

将既有权威事实的超限和版本边界转入 reconciliation。

同步 M1E 技术方案与项目决策记录。
2026-08-18 14:20:23 +00:00
kdletters 64310b3719 Merge remote-tracking branch 'origin/master' into codex/agc-runtime-generation-reliability 2026-08-18 20:54:01 +08:00
lhk229 d44f930d1f 收口design组展示名,改为设计实现Agent
分组字典、manifest默认名与分组头像字一并改掉

个体Agent名兜底跟进,玩法策划Agent与内部id不动

跟改16处由label派生的断言

第 18.2 节要求 design 组用户名称改为「设计实现组」,与新阶段「立项策划」区分。
bf2185fba 只改了 taskGroupLabels 一本字典,另两本同概念字典没动,于是同一个
design 组在开发者面板/文本汇总里叫「设计实现组」、在工作台状态栏里叫
「策划 Agent」——这个语义不一致是该提交引进来的。

先更正一条此前的判断:曾把这条的严重度建立在「新项目默认主路径上『立项策划』
与『策划 Agent』同屏共存」上。该说法未经验证且不成立——用 appSurface harness
实测策划路径,子 Agent 状态栏根本不渲染,策划 Agent 出现 0 次。结构上二者确在
launcherView === 'project-development' 分支的同一棵树里,但未能把用例驱动到该
分支,故不作为事实主张。若真会撞,也是批准后进入完整制作那一段,比原描述窄
得多。改这条的理由与撞不撞名无关,只是第 18.2 节的要求 + 上述不一致。

口径取最小方案:保持兄弟项的「X Agent」体系,design 取「设计实现 Agent」。
不把 taskGroupLabels 直接塞进 groupConfigs——两本字典命名体系不同(「X组」对
「X Agent」,且音乐组/音频 Agent、运营组/发布 Agent 连词都不一样),直接替换
会连带改掉另外五个分组名;消灭重复字典属视觉改版,单独立项。

改动:agentPresentation.ts 的 groupConfigs、view/project-development/index.tsx
的 summarizeAgent 默认名与同文件分组头像字(策→设)、model.ts 中
agentId.includes('design') 的个体名兜底(design-director 走这里)。
design-foundation 的「玩法策划 Agent」单列在前,不变;内部 agent id 与 design
分组键均未动。

测试量原估「3 处断言」严重低估,实跑发现 project-development.suite.ts 有 16 处
派生断言需跟改——「X 文本回执」由 App.tsx 的 `${candidate.label} 文本回执` 拼出、
「历史成果 · X」由 resourceProjectionModel.ts 拼出、dock 的 article accessible
name 亦然。替换用后行否定守住「玩法策划 Agent」(它含「策划 Agent」子串),
替换前后该串恒为 6 处。agentRuntimeModel.test.ts 与
projectResourceProjectionModel.test.ts 里剩余 4 处是测试自造的输入 fixture、
不由字典派生,保持不动。

验证:appSurface.test.ts 383 passed / 0 failed;agentRuntimeModel、
agentTraceSummary、projectResourceProjectionModel、projectResourceLiveUpdateModel
合计 39 passed;agc:typecheck、ESLint --max-warnings 0、check:encoding、
git diff --check 通过。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 12:20:01 +00:00
lhk229 7ca82ba7aa 修复M1D审查发现的锁错误脱敏与澄清轮次口径
审批卡链路的三处项目锁错误改为脱敏后再进typed错误

阶段进度按等待状态显示真实轮次,不再透传0-indexed值

去掉reconcile错误的重复code拼接

补一条Rust脱敏回归与两条前端轮次回归

锁错误脱敏(方案 §18.3「返回值不包含绝对路径……或内部诊断」):
acquire_project_write_lock 的 Err 内嵌 .agent/project.lock 真实绝对路径。补
redact_agent_runtime_project_paths 的三处是前端审批卡真正会显示的那条链——
reconcile_plan_gdd_approval_projections_at(hydrate 在取自己的锁之前调它)、
hydrate 自己的锁、decide_plan_gdd_at(其错误与 hydrate 的错误渲染在同一个
错误区)。planning 另有 14 个取锁点沿用未脱敏写法,属 M1B/M1C 既有模式,
本次不扩面。脱敏不破坏「项目正在被其他写操作占用:」前缀,project_gates.rs
与 provider_recovery.rs 两处按前缀分类的判据不受影响。

澄清轮次口径:clarificationRound 与 awaitingAnswerFor.round 都由
static_delegate_lineage_counters 派生,该函数排除目标自身,是 0-indexed 的
「已答轮数」;后端判上限用的是 current_round + 1。原样渲染成「轮次 X/3」
整体差一格——问最后一轮时显示「轮次 2/3」,字面暗示还剩一轮。只改前端
文案、不动 DTO 语义:等待回答时显示「第 N+1 轮 / 共 3 轮」(此时
latestDelegationId 就是当前 delivery,+1 恰好等于后端校验用的轮次),
其余状态退回「已完成 N/3 轮澄清」,不猜当前轮。

顺带:planning_hydrate.rs 里 reconcile 的错误原本用同一 code 把 to_string()
当 detail 重包一层,而 PlanningStorageError 的 Display 已是「{code}: {detail}」,
渲染出 CODE: CODE: detail;code 与 detail 均无变化,改为直接 ? 传播,并把
「不重复拼 code」钉进回归。

测试陷阱:写「占住项目锁」的 fixture 必须给锁 JSON 填真实 createdAt。失效锁
回收的年龄判定读的是该 JSON 字段而不是文件 mtime,填 0 会让锁显得约 1.7e9 秒
老、越过 600 秒阈值被当场回收删除,hydrate 反而成功。第一版 fixture 正是这样
自证失败的,注释已写明。

验证:Rust planning_ 组 155 passed / 0 failed(原 154 + 本次 1 条);
appSurface.test.ts 383 passed / 0 failed(378 原有 + 5 条新增);三条新回归均经
变异验证,逆转对应修复即变红。cargo fmt --check、agc:typecheck、ESLint
--max-warnings 0、check:encoding、git diff --check 通过。

撤回一条此前的审查发现:曾判定 hydrate 读 manifest 缺符号链接判定。复核后不
成立——read_manifest 自身在 is_symlink 处即拒,防护在另一层;.agent 目录本身
为符号链接的残差也无窗口,紧随其后的 resolve_planning_path 同样逐段判定。
未据此改动代码。

新记一条既有问题(非 M1D 引入):seedManifest.projectId 是常量
local-project-draft,App 的 5 个 init/import 调用点全传它,因此本机所有项目
projectId 相同。§18.3 第 1 步依赖的 projectId 校验因此分辨不出任意两个项目,
该门当前近乎恒真,须单独立项。

仍未修:hydrate 身份校验排在落盘投影修复之后(修它须注意 reconcile 自取项目
锁、.agent/project.lock 不可重入,不能把检查直接挪到 hydrate 取锁之后);
design 组展示名剩两处硬编码,且与 taskGroupLabels 命名体系不同,需先定口径。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 11:50:43 +00:00
lhk229 abcc393fde 修复M1D审查发现的审批决定失败路径
决定失败也重灌权威状态,顺序钉死为先hydrate后写错误

responseId复用键纳入comment,改写修改意见时换新ID

恢复期门控扩到已打开的评论弹层,保留已输入内容

补appSurface harness的策划command分发与三条变异验证过的回归

审查基线为 14c00017c..bf2185fba(技术方案第 13、18 节)。其后分支已前进到
c6a08ef98,4624fd795 与 c6a08ef98 都不动 src/**,审查结论不受影响。

三条缺陷:

1. decidePlanGdd 只在成功分支 hydrate。后端 decide_plan_gdd_at 有多条真实
   PLAN_STALE_APPROVAL 分支(GDD 不在当前 lineage、identity 不符、版本被取代、
   pending 丢失),命中后卡片停在已失效的 pending 身份上、三个决定按钮仍可点,
   且 recoveryPending 永不翻真导致「重试恢复」入口不渲染,卡内没有恢复路径。
   现按第 18.3 节在失败分支同样 hydrate——该句不区分成功与失败。两句顺序不能反:
   hydratePlanGddState 入口会 setPlanGddError(null),先写错误再 hydrate 会把错误
   擦掉;回归钉死了这个顺序。

2. responseId 复用键为 approvalRequestId:action,不含 comment,违反第 13.2 节
   「改变 action/comment 必须生成新 responseId」。在第 14 节承认的「receipt 已提交
   但 response 丢失」构造下,改写修改意见后重提会带旧 ID,命中后端「同 responseId
   的审批意图不一致」硬拒,改写后的原因永远落不了盘。现按 approvalRequestId 存
   {action, comment, responseId} 全量意图。判据方向为宁可多换不可少换:多换的最坏
   后果是 replayed 降级成 already-decided(都是 Ok,且 already-decided 正是第 18.2
   节要求的刷新态),少换是硬错误。

3. 第 18.2 节「recoveryPending 时不允许提交决定」原来只作用于三个触发按钮,而弹层
   是打开之后才可能被后台 hydrate 翻掉资格的,其提交按钮只看 busy 与非空。现在
   submitComment 与该按钮都判 canDecide。刻意不自动关弹层,否则会丢掉用户已经写好
   的修改意见。

测试:harness 新增 hydrate_game_creator_plan_gdd_state 与
decide_game_creator_plan_gdd 分发分支及 createPlanGddStateView fixture;未配置策划
状态时 hydrate 与接入前一样抛出,既有 378 条行为不变。新增 plan-gdd.suite.ts 三条
回归并逐条变异验证——逆转对应修复后三条各自以自己的断言变红;修复二的变异是部分
逆转(保留新 Map 结构、只删 comment 比对),因此钉住的是 comment 这一维本身。

验证:appSurface.test.ts 381 passed / 0 failed;agentTraceSummary 与 rememberCommand
(另两个 import src/App 的用例文件)13 passed;agc:typecheck 通过;6 个改动文件
ESLint --max-warnings 0 通过;check:encoding 5409 文件通过;git diff --check 干净。
不改 Rust——三条全在前端,后端语义已经正确。

文档:更正第 23.8 节 M1D-1 行误引的合入提交(5b11a0530 是 ESLint 修正,落地是
0052a80da),并补 M1D 审查修复快照。同时更正既有记录里「Shell typecheck / appSurface
受仓库依赖缺失阻断」的说法——在原分支主工作树上两道门都干净,实际是 bf2185fba 改名
taskGroupLabels.design 后自己把 8 个用例文件断言改红,由 c6a08ef98 补修。

未并入的四条审查发现:hydrate 身份校验排在落盘投影修复之后(第 18.3 节固定顺序,
session.previous.json 提升+删除不可逆);锁竞争错误回传项目绝对路径(第 18.3 节);
design 组展示名剩两处字典未改(第 18.2 节);阶段进度轮次差一格。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 11:11:18 +00:00
lhk229 4624fd7953 同步M1D合入状态记录
Project CI / Repository checks (pull_request) Successful in 1m10s
Project CI / Frontend tests (pull_request) Failing after 2m3s
Project CI / Native shell tests (pull_request) Failing after 3m3s
Project CI / Backend tests (pull_request) Successful in 3m42s
更新M1D-1与M1D-2的合入提交和自审结论

保留M1E端到端与故障注入后续范围
2026-08-18 09:21:58 +00:00
lhk229 bf2185fba0 完成M1D-2入口分流与阶段进度
Project CI / Repository checks (pull_request) Successful in 1m28s
Project CI / Frontend tests (pull_request) Failing after 2m4s
Project CI / Native shell tests (pull_request) Failing after 2m58s
Project CI / Backend tests (pull_request) Successful in 3m45s
游戏新项目默认进入立项策划并保留直接开建路径

项目总控页面挂载GDD审批卡与阶段进度

同步策划展示名称、定向测试与开发日志
2026-08-18 09:11:38 +00:00
lhk229 0052a80dad 完成M1D-1策划状态与审批卡
Project CI / Backend tests (pull_request) Successful in 4m1s
Project CI / Repository checks (pull_request) Failing after 1m0s
Project CI / Frontend tests (pull_request) Successful in 3m2s
Project CI / Native shell tests (pull_request) Failing after 11m50s
新增严格输入的策划状态 hydrate command 与 plan-gdd-state-view.v1 read model

接入 GDD 审批卡、正文详情弹层、决定幂等与恢复重试

补充 M1D-1 开发日志和技术方案状态
2026-08-18 07:56:20 +00:00
lhk229 14c00017c6 同步M1C-2c合并状态
更新项目决策日志中的合并提交信息

同步技术方案的M1C-2c完成状态
2026-08-18 06:20:49 +00:00
lhk229 c85452795d Merge remote-tracking branch 'web/master' into feat/five_min_design
Project CI / Native shell tests (pull_request) Failing after 1m55s
Project CI / Repository checks (pull_request) Successful in 1m56s
Project CI / Frontend tests (pull_request) Successful in 2m55s
Project CI / Backend tests (pull_request) Successful in 3m43s
2026-08-18 06:16:47 +00:00
lhk229 0abdc41c3c M1C-2c 收口:分隔符集合补全角冒号,并钉住 label 与回答的同尺比对
分隔符集合原本只有 `·`/`:`/`-`。prompt 全中文、实测用的是 DeepSeek 系模型,在中文
语境下写 `A:方案名` 是高频输出;漏掉全角冒号的后果不是判错,而是合法信封被判形状
错误、回灌重试,白吃一个未推进回合预算——而第 23.9 节自己就记着无界重试把单次
prompt 撑到 15 万 token 的实测。

- PLAN_OPTION_LABEL_DELIMITERS 补 `:`;prompt 的 label 说明与技术方案 §5.1、§5.2、
  §23.9 三处分隔符合同同步改口,避免两侧各写一份
- 回归 planning_clarification_accepts_fullwidth_colon_option_labels。变异验证:
  去掉 `:` 后该用例立刻红

另外收回一条误报。此前判断「答案走 normalize_plan_text 被 trim、label 是信封原文没
trim,模型吐带尾随空白的 label 会让用户点选 A/B 掉进自由填写分支、台账记成
user_freeform」。写完测试做变异验证时把改动回退,用例照样绿;查下去发现
user_input.rs 的 normalize_single_line_user_input_text 在信封严格解析时就已经 trim
过 label(并拒掉含换行的 label)。两边本来就是同一把尺子,不对称不存在。

- 生产侧只把比较抽成具名函数并在原地写清它依赖的是解析侧那条 trim,不做多余的重复
  规范化——那会把一个不存在的风险写进代码
- 保留 planning_clarification_option_pick_survives_untrimmed_label,它钉的是上游那条
  不变量:解析侧哪天不 trim 了,这条会红
- 测试脚手架加 *_with_labels 变体,让用例能注入自定义 label;原有 helper 转为薄包装

planning_clarification_ 16/0、plan_ 160/0、recovery 107/0,fmt 干净。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 06:15:25 +00:00
kdletters bdf7ed288a 放宽直连游戏验收并增加运行时素材证据
- 将固定四切片与固定 drawImage 降为推荐路径

- 在导航前注入 Canvas/WebGL 平台素材运行时观测

- 对缺少核心素材渲染证据的 desktop/mobile 视口回灌同一 Codex thread 整改

- 补充直连验收、浏览器脚本与真实 Chrome fixture 测试

- 同步 AGC 直连 Runtime 实施计划
2026-08-18 13:14:45 +08:00
lhk229 6e4bd97039 收口M1C-2c决策卡A/B语义
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
更新策划决策卡的A/B平行方案与原型验证合同

收紧Runtime选项校验和决定状态映射并保留用户原文

补充必要的自由填写与非法信封回归

同步更新提示词、技术方案与项目决策日志
2026-08-18 04:27:54 +00:00
lhk229 0199fb6e4c 决策卡 A/B 修订改回恒定三项,标注 M1C-2b 已合回、M1C-2c 可开工
- 技术方案 §5.2 指向注 / §23.8 M1C-2c 行 / §23.9:第 3 项「需要原型验证」每张卡固定给出,
  description 须给出可执行的验证方式;信封形状校验改为恰好三项
- §23.9 与 decision-log 条目:M1C-2b 已快进合回并把固定三选项的校验与映射冻结在
  planning coordinator,映射翻转/形状校验/prompt 文案由 M1C-2c 承接,现在即可开工
- decision-log:补 M1C-2b 条目与本条之间缺失的空行

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 03:25:56 +00:00
lhk229 95facd9150 补充 M1C-2c 决策卡文档
更新共享决策日志,记录 A/B 平行方案、改口转述规则与提问纪律。

更新 Fast GDD 技术方案的阶段状态、工作包矩阵和 M1C-2c 设计说明。
2026-08-18 02:58:52 +00:00
lhk229 152cc40c7b 完成 M1C-2b 策划澄清与预算接线
接入三轮澄清中转、确定性 continuation/session 投影及恢复锁序

记录并幂等折叠 planning Provider 活跃时间与末次提交 usage

补齐审批后用户修订谱系校验和质量返工失败关闭

补充并发、恢复、重放、usage 回归并同步技术方案与决策日志
2026-08-17 15:01:33 +00:00
kdletters 7f60a00c84 修复预览镜像认证入口
Project CI / Repository checks (push) Successful in 1m23s
Project CI / Frontend tests (push) Successful in 2m59s
Project CI / Backend tests (push) Successful in 4m3s
Project CI / Native shell tests (push) Successful in 14m7s
为分支预览启用首次密码登录自动注册

为预览短信入口配置隔离 mock 验证码

补充预览部署门禁和认证验收文档
2026-08-17 22:55:27 +08:00
kdletters 7ecc9f4971 合并平台账号编辑器 API 分支
登录态接入平台编辑器生成接口

普通用户隐藏外部编辑器高级配置

保留陶泥儿直连运行时生成反馈
2026-08-17 15:20:19 +08:00