diff --git a/docs/PROGRESS_LOG.md b/docs/PROGRESS_LOG.md index 0cf6488..81b9b48 100644 --- a/docs/PROGRESS_LOG.md +++ b/docs/PROGRESS_LOG.md @@ -24,11 +24,13 @@ > 新会话读到的第一块。保持准确,只描述"此刻"。 -- **Wave**: 未开工 → 下一步 W0 -- **任务**: T1(脚手架 + 装齐依赖) -- **下一步**: 执行 T1,装齐全部依赖、验证 node-pty 原生编译 -- **阻塞**: 无 -- **最后更新**: 2026-06-15 +- **Wave**: W0(T1 ✓)→ 下一步 **T2**(冻结 `src/types.ts`) +- **任务**: T2 — 共享类型契约,完成后 W0 全部 commit,即可放开 W1 并行 +- **下一步**: 派 `module-builder`(sonnet)执行 T2,或主会话直接做;依据 ARCHITECTURE §3 +- **阻塞**: 无。但有 1 个待决项(非阻塞):**前端浏览器打包策略未定**(tsconfig.web 当前只类型检查, + 不产出可被浏览器加载的 JS;main.ts 引 @xterm 裸导入需 bundler/import-map/CDN)。需在 **T11/T14 前**决定, + 建议加 esbuild 作为 `build:web`。 +- **最后更新**: 2026-06-16 --- @@ -39,7 +41,7 @@ | 任务 | Wave | 模块 | 状态 | Steps (完成/总) | 完成日期 | |------|------|------|------|------------------|----------| -| T1 | W0 | 脚手架 + 装齐依赖 | `[ ]` | 0/5 | — | +| T1 | W0 | 脚手架 + 装齐依赖 | `[x]` | 5/5 | 2026-06-16 | | T2 | W0 | `src/types.ts` 共享契约(冻结源) | `[ ]` | 0/8 | — | | T3 | W0 | mock IPty 测试替身 | `[ ]` | 0/2 | — | | T4 | W1 | `config.ts` | `[ ]` | 0/5 | — | @@ -97,6 +99,29 @@ - **commit**: ======================================================= --> +### 2026-06-16 · T1 脚手架 + 一次性装齐依赖 + +- **状态**: `[x]` DONE +- **改动**: `package.json`(scripts + 全部依赖 + `postinstall`)、`tsconfig.json`(后端 NodeNext/strict)、 + `tsconfig.web.json`(前端 DOM/Bundler,当前 noEmit 仅类型检查)、`vitest.config.ts`(node 环境 + + `passWithNoTests`)、`.gitignore`、`package-lock.json`、目录骨架 `src{,/http,/session} public test{,/helpers,/integration}`(各带 `.gitkeep`)。 +- **验证**: + - `npm install` 成功(运行时 72 包 + 开发包,0 漏洞)。解析版本(均比预期新的主版本):express **5.2**、 + @xterm/xterm **6.0**、addon-fit 0.11、ws 8.21、node-pty 1.1;dev:typescript **6.0**、vitest **4.1**、tsx 4.22、@types/node 25。 + - `node -e require('node-pty')` → OK;**真实 PTY spawn** `echo hello-from-pty` → 16 bytes、exitCode 0(沙箱外验证)。 + - `npm test` → exit 0(passWithNoTests)。 +- **决策 / 偏离 PLAN**: + 1. **node-pty spawn-helper 修复**:1.1.0 的 prebuild 自带 `spawn-helper` 但权限 `-rw-r--r--`(缺 +x), + 导致 `posix_spawnp failed`。加 `postinstall: chmod +x .../prebuilds/darwin-*/spawn-helper`(对 Linux 无害,`|| true`), + 使每次 install / 每个 worktree 自动修复。**T12 spawn PTY 依赖此修复。** + 2. 依赖解析到较新主版本(express 5 / xterm 6 / typescript 6 / vitest 4):**T7/T11/T14/T15 注意 API 差异** + (express 5 路由、xterm 6 import 形态)。 + 3. 加了 PLAN 未列的脚本 `dev`/`typecheck` 与 `postinstall`(便利 + 必需修复),属合理补充,未改 PLAN 意图。 +- **遗留 / 待办**(非阻塞,需在 **T11/T14 前**决):**前端浏览器打包未定**。`tsconfig.web.json` 现为 `noEmit`(仅类型检查); + `public/main.ts` 裸导入 `@xterm/xterm`,浏览器无法直接解析,需 bundler(建议 esbuild,加 `build:web`)/import-map/CDN 三选一。 + 建议下一波前由 orchestrator 拍板,若选 esbuild 则**现在补装**(避免后续并发 install)。 +- **commit**: `b126cf0` + ### 2026-06-15 · T0 项目记录起点(计划就绪) - **状态**: `[x]` DONE