diff --git a/docs/升级发布说明-2026-10-21.md b/docs/升级发布说明-2026-10-21.md new file mode 100644 index 0000000..20d23bb --- /dev/null +++ b/docs/升级发布说明-2026-10-21.md @@ -0,0 +1,53 @@ +# YCode 0.0.8 发布记录 + +日期:2026-10-21(Asia/Shanghai)。状态:已上传 local001,线上 latest 已切换为 0.0.8,发布后完整下载校验通过。 + +## 版本与产物 + +- 源码基线:`759df7060d854f758b9d2029fd5722a537460125`,来自 Gitea master。发布时仅将 package.json 和 package-lock.json 的项目版本从 0.0.7 升为 0.0.8;没有修改产品逻辑。 +- 独立发布工作树:`C:\Users\Administrator\.codex\worktrees\release-008\YCode`。原工作区和运行中的用户 dev 保留。 +- 包含近期对话交互、推荐技能已安装态、完全访问授权、授权卡独占输入区及历史图片展开闪现修复。各功能的详细验收边界仍以对应协作文档为准,不是完整 WorkBuddy 1:1 验收。 +- 安装包:`release/publish/0.0.8/YCode-0.0.8-Setup-x64.exe`。 +- 大小:`237828509` 字节。 +- SHA-256:`2f2e4fdbd805d452a8ce15de2f1fa888e5ce0da9929b4661ea2458d8263dc740`。 +- 下载地址:`http://192.168.10.6/ycode/releases/versions/0.0.8/YCode-0.0.8-Setup-x64.exe`。 +- 下载页:`http://192.168.10.6/ycode/releases/`。 +- 清单使用既有 Ed25519 私钥签名,仓库公钥验证通过。安装包 Authenticode 状态为 **NotSigned**,清单签名不等于 Windows 代码签名。 + +## 构建、验证与发布 + +独立 `npm ci --legacy-peer-deps` 完成,未升级依赖。`npm run build`、`npm test`、`test:updates`、`test:release`、`test:tool-approvals`、严格 `test:alignment:dom` 和 `test:image-lifecycle` 均退出 0。DOM 测试使用 ignored 独立目录安装的 jsdom 30.1.3,没有将它加入生产依赖。 + +- 发布流程自测:17 项。 +- alignment:11 套 offline、7 套 DOM;授权输入区 49 项 DOM 检查。 +- 图片生命周期:159 项检查、85 个 DOM 样本。 +- 正式原生图片帧入口:136 项检查、105 个样本,通过;使用最新 T03 修正后的脚本,没有临时修改产品动画或正式测试脚本。 + +NSIS 打包使用已按 electron/checksums.json 核验的 Electron 37.10.3 缓存,缓存 ZIP SHA-256 为 `af69b8a4326432a8bf655eb23f808dcff02bcb2555cac9667e72e943f53542e4`。没有变更全局下载设置。 + +安装包 ProductVersion 和 ASAR 内项目版本均为 0.0.8;包内 634 个 out 文件逐一与本次构建输出做 SHA-256 比较,一致。打包公钥与仓库公钥一致,Claude 运行时存在,未打包 docs/.tmp/.git/release 目录。 + +上传前以专用 userData 启动生产 EXE,界面和更新 IPC 正常,主对话已查看截图。生成签名清单后,执行: + +```powershell +npm run release -- --version 0.0.8 --resume +``` + +部署预检、SSH 上传、HTTP 精确清单及签名复核均通过。历史 0.0.7 版本目录保留,`/srv/ycode-staging` 中暂存子目录数量为 0。 + +发布后执行: + +```powershell +$env:YCODE_QA_PACKAGED_EXE = '<发布树>\release\publish\0.0.8\win-unpacked\YCode.exe' +node scripts/verify-updates-live.cjs --expected-version 0.0.8 +``` + +生产 EXE 返回 currentVersion=0.0.8、up-to-date。模拟旧版本通过正式更新管理器完整下载线上安装包,状态 ready,大小和 SHA-256 均匹配。安装器适配器调用为 0,测试前后真实用户状态一致。未执行 NSIS 安装、覆盖升级或重启用户安装版;该结果不替代真实覆盖升级验收。 + +## 证据与执行归属 + +可移交摘要:[release-0.0.8/summary.json](协作/evidence/release-0.0.8/summary.json)。 + +本机完整日志保存在发布工作树的 `release-*.log`;生产在线验证为 `.tmp/updates-live/2026-10-21T07-29-29-878Z/report.json`,图片原生验证为 `.tmp/b04-image-IN2mqP/native-report.json`。 + +按用户要求启动了两个默认模型子代理,但两者均未进入命令执行阶段,已中止;依赖安装、验证、打包、签名和上传最终由主对话接管完成。不能将本次发布称为子代理已执行成功。 diff --git a/docs/协作/evidence/release-0.0.8/summary.json b/docs/协作/evidence/release-0.0.8/summary.json new file mode 100644 index 0000000..41926db --- /dev/null +++ b/docs/协作/evidence/release-0.0.8/summary.json @@ -0,0 +1,64 @@ +{ + "schemaVersion": 1, + "date": "2026-10-21", + "timezone": "Asia/Shanghai", + "sourceCommit": "759df7060d854f758b9d2029fd5722a537460125", + "version": "0.0.8", + "manifest": { + "version": "0.0.8", + "url": "http://192.168.10.6/ycode/releases/versions/0.0.8/YCode-0.0.8-Setup-x64.exe", + "size": 237828509, + "sha256": "2f2e4fdbd805d452a8ce15de2f1fa888e5ce0da9929b4661ea2458d8263dc740" + }, + "packaging": { + "passed": true, + "version": "0.0.8", + "outFilesMatched": 634, + "trustAnchorMatched": true, + "claudeRuntimePresent": true, + "excludedDevelopmentDirectories": true, + "authenticode": "NotSigned" + }, + "commands": { + "npm ci --legacy-peer-deps": 0, + "npm run build": 0, + "npm test": 0, + "npm run test:updates": 0, + "npm run test:release": 0, + "npm run test:tool-approvals": 0, + "npm run test:alignment:dom": 0, + "npm run test:image-lifecycle": 0, + "node node_modules/electron/cli.js scripts/verify-b04-image-native.cjs ": 0, + "electron-builder --win nsis --x64 --publish never ": 0, + "prepare-release --version 0.0.8": 0, + "npm run release -- --version 0.0.8 --resume": 0, + "node scripts/verify-updates-live.cjs --expected-version 0.0.8": 0 + }, + "nativeImageFrames": { + "result": "PASS", + "checks": 136, + "samples": 105 + }, + "online": { + "passed": true, + "currentVersion": "0.0.8", + "status": "up-to-date", + "downloadPassed": true, + "downloadSize": 237828509, + "downloadSha256": "2f2e4fdbd805d452a8ce15de2f1fa888e5ce0da9929b4661ea2458d8263dc740", + "installerAdapterCalls": { + "validateEnvironment": 0, + "verifyInstaller": 0, + "launch": 0 + }, + "installerLaunched": false, + "realUserStateUnchanged": true, + "previousVersionRetained": "0.0.7", + "stagingDirectoryCount": 0 + }, + "limitations": [ + "No NSIS installer execution or actual in-place upgrade.", + "Not a complete WorkBuddy parity acceptance.", + "Two requested default-model subagents did not reach execution; coordinator completed release." + ] +} diff --git a/package-lock.json b/package-lock.json index 88d8995..19f67d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ycode", - "version": "0.0.7", + "version": "0.0.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ycode", - "version": "0.0.7", + "version": "0.0.8", "dependencies": { "@anthropic-ai/claude-agent-sdk": "^0.3.304", "@anthropic-ai/sdk": "^0.135.0", diff --git a/package.json b/package.json index 9ac097a..8c9ea9f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ycode", - "version": "0.0.7", + "version": "0.0.8", "private": true, "description": "YCode - 个人 AI Agent 桌面应用(Electron)", "author": "YCode",