From fdb09db8a302b4b18db5b5a1a006c4488026d038 Mon Sep 17 00:00:00 2001 From: kdletters <61648117+kdletters@users.noreply.github.com> Date: Tue, 29 Sep 2026 06:37:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E9=80=9A=E6=9C=AC=E6=9C=BA=20dev=20?= =?UTF-8?q?=E6=A0=88=E7=9A=84=E5=90=8E=E5=8F=B0=E5=B7=A5=E7=A8=8B=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E4=B8=8E=20ZIP=20=E8=81=94=E8=B0=83=E5=B9=B6=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E8=AF=81=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 项目自动上传与后台工程下载:查清「本地数据库 404」的成因是 standalone 未运行(并非库缺失),`npm run dev:spacetime` 启动后自动发布 xushi-p4wfr,`/healthz` 200 且认证投影从 spacetime 表恢复 - 记录联调结果:渠道端点返回 {"channels":["dev","release"]}、未认证 401、游标分页 50+34=84 条、官方门禁 check:agc-project-snapshot-admin-http 对两个真实项目各 10/10 通过(含逐文件 SHA-256 与 .agent 目录还原) - 开放事项索引同步:该计划只剩「新客户端安装版下的隔离实机自动上传」这一条 --- ...‡Œ程碑】项目自动上传与后台工程下载-2026-09-19.md | 15 ++++++++++++++- .../【待办】计划收口剩余项索引-2026-09-24.md | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/project-memory/plans/【里程碑】项目自动上传与后台工程下载-2026-09-19.md b/docs/project-memory/plans/【里程碑】项目自动上传与后台工程下载-2026-09-19.md index 409a089f6..6d2678043 100644 --- a/docs/project-memory/plans/【里程碑】项目自动上传与后台工程下载-2026-09-19.md +++ b/docs/project-memory/plans/【里程碑】项目自动上传与后台工程下载-2026-09-19.md @@ -70,6 +70,19 @@ ## 逐条勾选依据(2026-09-24) +## 本轮复验(2026-09-29,后台列表 / ZIP HTTP 联调已通过) + +先把上一轮记的阻塞解决掉:所谓「本地数据库返回 404」并不是库被删,而是当时 standalone 没在跑。`npm run dev:spacetime` 起来后自动发布 `xushi-p4wfr`(`Updated database with name: xushi-p4wfr, identity: c200d78134da…`,日志里只有 auto-migration、无破坏性变更),`npm run dev:api-server` 随后 `/healthz` 返回 200 并打出「已恢复认证投影 source="spacetime_tables"」。 + +- 渠道端点(上一轮因本地二进制偏旧而 404):`GET /admin/api/project-snapshots/channels` → `{"channels":["dev","release"],"defaultChannel":"dev"}`,随源码重建后正常。 +- 权限:未认证 `GET /admin/api/project-snapshots` → **401**。 +- 游标分页:`limit=50` 第 1 页 50 条、第 2 页 34 条(合计 84),最后一页 `nextCursor` 为空。 +- 官方联调门禁 `npm run check:agc-project-snapshot-admin-http`(只读链路:不写 OSS、不改后台数据)对两个真实项目各 **10/10 PASS**: + - `gameagent-084e7640…`(`user_4dc79b7dbc8a49eb89f36184560f054b`):`status=ready`、`files=12`、`bytes=8385`;ZIP 12 条目 / 4533 字节;条目体积之和与列表一致;**与本地副本逐文件 SHA-256 比对 12/12 一致**;无版本库 / `node_modules` / `.env*` 排除项;`.agent` 目录随包(7 个文件)。 + - `gameagent-93fe370e…`:`status=ready`、`files=187`、`bytes=8,003,640`;ZIP 187 条目 / 6,473,069 字节;**SHA-256 比对 187/187 一致**;`.agent` 173 个文件。 +- 结论:条目 3(后台按渠道列表 + 统计)、条目 4(ZIP 按清单还原相对路径、体积一致)、条目 5(`.agent` 全量随快照并在 ZIP 中原相对路径还原)的**运行时口径**在本机 dev 栈上成立,不再是「只有自动化证据」。 +- 仍未完成(本计划唯一剩下的):**新客户端安装版下的隔离实机自动上传**。这一段要在桌面会话里装包运行客户端(本会话不能启动用户可写目录下的可执行文件,见 `docs/project-memory/shared-memory/pitfalls.md` 相关记录的同类约束)。 + - 条目 1:客户端 `project_snapshot` 定向 24 passed,含 `project_snapshot_workspace_lifecycle_tracks_the_single_client_window`、`project_snapshot_exit_wait_includes_scheduled_tasks_waiting_for_the_project_lock`、`project_snapshot_periodic_trigger_yields_while_a_sync_is_in_flight`。 - 条目 2:`config::tests::from_env_project_snapshot_target_is_independent_and_only_credentials_fallback`、`project_snapshot_channel_follows_client_download_channel_unless_overridden`(api-server 侧)。 - 条目 3:后台列表/分页用例 `project_snapshots_pagination_continues_directories_without_rescan`、`project_snapshots_items_resolve_author_profile_for_admin_list` + 后台页面 36 项 Vitest(渠道查询、分页 20/50/100)。 @@ -85,4 +98,4 @@ - 真实客户端模块链路:`cargo test --offline --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml project_snapshot_live_sync -- --ignored --nocapture` → **1 passed**。用的是真实项目副本(`gameagent-d0c9e83f`,本地副本 1,530 个文件 / 81 MB,压到 `%TEMP%` 的一次性目录)、dev 专用账号与本地 api-server(`http://127.0.0.1:4198`):第一次同步 `synced` 且上传数 > 0,紧接着第二次 `no-op` / 上传 0 个文件(差异对比在真实服务端与真实 OSS 上确实避免了重复上传)。 - 后台列表 + ZIP HTTP 联调:新增 `npm run check:agc-project-snapshot-admin-http`(`scripts/check-agc-project-snapshot-admin-http.mjs`,只读)→ **10 项 PASS**:管理员列表能看到该快照 `status=ready`、`files=182`、`bytes=18,992,042`;下载返回 `application/zip`(17,297,980 字节压缩包);ZIP 条目数 182 与列表一致、条目体积之和 18,992,042 与列表一致;**182 个条目逐个与本地副本同路径文件 SHA-256 一致(mismatches=0)**;ZIP 里没有 `.git/` / `node_modules/` / `target/` / `.env*`;`.agent/` 目录带了 167 个文件(状态目录整目录随快照上传的口径成立)。 - 口径说明:本地副本 1,530 个文件里只有 182 个进了快照,差额是同步策略排除的构建产物 / 缓存 / 凭据,不是导出丢失;ZIP 侧只断言「条目都能在本地找到且逐字节一致」,不把排除项当作缺失。 -- 仍未验证(按要求单独列出):新客户端安装版下的隔离实机自动上传、真实部署环境的后台下载;本轮只到「客户端模块 + 本地 api-server + 真实 OSS + 后台 HTTP」这一层。 \ No newline at end of file +- 仍未验证(按要求单独列出):新客户端安装版下的隔离实机自动上传、真实部署环境的后台下载;本轮只到「客户端模块 + 本地 api-server + 真实 OSS + 后台 HTTP」这一层。 diff --git a/docs/project-memory/todos/【待办】计划收口剩余项索引-2026-09-24.md b/docs/project-memory/todos/【待办】计划收口剩余项索引-2026-09-24.md index 11ae70ac2..e415ef54d 100644 --- a/docs/project-memory/todos/【待办】计划收口剩余项索引-2026-09-24.md +++ b/docs/project-memory/todos/【待办】计划收口剩余项索引-2026-09-24.md @@ -20,7 +20,7 @@ | 双渠道真机 | `【里程碑】AGC渠道安装身份隔离-2026-09-21.md` | `dev` 与 `release` 在同一台设备并存并可各自原地更新 | | 真实 app-server 会话 | `【里程碑】DirectProject聊天真相源收敛-2026-09-16.md` | 回合中杀进程重开后的顺序与忙碌态、运行中页面重进与终止 | | 真实客户端 | `【里程碑】对话总耗时与动态工具计时-2026-09-18.md`、`【里程碑】多选素材批量标签-2026-09-17.md`、`【里程碑】画布验收问题统一修复-2026-09-17.md` | 计时:真实客户端切项目、取消后重发、重开历史与真实 Provider 通知;批量标签:真实客户端点击与跨窗口写盘;画布:末版浮层几何与真实 Provider + IPC 全流程 | -| 本地数据库 + 新客户端 | `【里程碑】项目自动上传与后台工程下载-2026-09-19.md` | 条目 9:`dev:api-server` 就绪后的 HTTP 联调、新客户端安装版的隔离实机自动上传 | +| 新客户端(2026-09-29 更新) | `【里程碑】项目自动上传与后台工程下载-2026-09-19.md` | 只剩「新客户端安装版下的隔离实机自动上传」。`dev:api-server` 就绪后的后台列表/ZIP HTTP 联调已于 2026-09-29 完成(渠道端点 `{"channels":["dev","release"]}`、未认证 401、游标分页 50+34=84、`check:agc-project-snapshot-admin-http` 对两个真实项目各 10/10 PASS,含逐文件 SHA-256 与 `.agent` 目录核对);本地数据库 404 的成因是当时 standalone 未运行,`npm run dev:spacetime` 启动并发布 `xushi-p4wfr` 后即恢复 | | GameAgent 回归 | `【里程碑】策划Agent回合模型选择生效-2026-09-20.md` | 条目 5 与条目 7 已于 2026-09-24 补齐本地证据并勾选(Rust `design_runtime::tests` 24 passed、`model_selection` 2 passed、`canonical_agent_reasoning_effort` 1 passed、AGC `appSurface` 191 passed / 9 skipped、`conversationModelSelect` 29 passed);整份计划现已无未勾选条目,只剩真实 Provider 与桌面端单回合 smoke(需真实账号与费用) | | 真机 + 真实 Provider | `【里程碑】退役策划Agent V1V2解耦清理-2026-09-15.md` | 源码级判据已全部勾选(2026-09-24 补上条目 5:退役提交对做游戏 DAG 只有最小修复,`autonomous_game_build` 28 passed);剩「做方案」新项目进入 Design Agent、已有会话恢复、澄清/阶段审批回合的真机连续验收 |