本文是 SunamAI 当前发布与迁移验收的权威记录:自动化命令、阈值、插件边界门禁与 P0..P6 分阶段证据。能力清单见 FEATURES.md,架构说明见 architecture.md,Agent 运行设计见 agent-v2-design.md。
代码变更后运行:
npm run check它依次执行:
- strict TypeScript(
tsc -b); - Oxlint;
- 架构边界检查(
scripts/check-architecture.mjs); - 插件边界检查(
scripts/check-plugin-boundaries.mjs,随架构检查执行); - 循环依赖检查(
scripts/check-circular.mjs); - 核心覆盖率(Vitest v8 coverage);
- 生产构建(
vite build); - bundle 预算检查(
scripts/check-bundle.mjs)。
发布级变更(Agent 执行、上下文、持久化、资源、WebContainer 运行时、子 Agent、E2E 行为、响应式/视觉 UI、依赖、工作流)继续运行:
npm run check:all即 npm run check + test:e2e + test:visual + test:runtime + check:audit。
优化冻结声明要求连续两次完整通过并人工检查新视觉基线。
- statements/functions/lines ≥ 85%;branches ≥ 79%(聚合阈值;
vitest.config.ts另设单文件下限)。 - 初始 JS ≤ 108 KiB gzip;总应用 JS ≤ 568 KiB gzip;
外部
@succinix/engine运行时单独记账,不进入应用 JS 预算。 - 生产关键路径
dist≤ 1.95 MiB;/succinix、/pyodide与 Agent 运行区懒加载 chunk 按需加载,不计入关键路径门禁。 - Playwright 视觉像素差异 ≤ 0.2%。
- 每个
src/**/*.{ts,tsx,css}有且只有一个 owner; 插件之间只能导入目标插件公开index.ts;@succinix/engine只允许 runtime 插件与sunam.host引用。
src/plugins/manifest.generated.ts当前包含 34 个内置插件;Enhance、Store、Display、 Pi/DSH 兼容宿主、Skills 与 MCP 都运行在同一 Cordis Context,生成清单归sunam.host。- 对话 / 电脑 / 增强 / 商店与三组 segment 全部从
ctx.ui注册表派生;电脑内部固定为 “电脑 / 终端 / 服务 / 文件”,没有独立“展示”主入口或旧能力库入口。 - 原生/Pi/DSH/MCP 工具共用 canonical
RegisteredTool、capability 注册表、scheduler policy 与ctx.tools.execute门禁;生产源码不存在PI_TOOL_SCHEMAS。 - Store 目录、外部验证与本地兼容性分层展示,安装经 integrity、兼容性与显式风险确认后统一
进入
ctx.plugins;安装/更新/卸载状态与 Enhance 双向同步。 - Succinix 版本由安装包元数据生成到
versions.generated.ts,架构检查拒绝陈旧输出;文档不复制 运行时版本常量。 - Tailwind CSS 4 的
@theme是 token 单一来源,900px 断点由生成契约同步;冻结阈值以本文件 第 2 节和scripts/check-bundle.mjs为准。 - 最终冻结必须在同一 revision 连续两次通过
npm run check:all;实际测试数、覆盖率、包体与 Playwright 数量以该命令输出和 Stage 10acceptance.md为证据,不在本文复制易陈旧快照。
| 阶段 | commit | 结果 |
|---|---|---|
| P0 Cordis POC | ad4ca94 |
docs/cordis-poc-report.md 存档;core/logger/database 可行,loader/hmr 不可行,A1 主线。 |
| P1 Host + 平台插件 | 4842a81 |
674 测试;initial 93.47 KiB / total 496.36 KiB / dist 1.53 MiB;runtime 7/7。 |
| P2 Runtime + Succinix 插件化 | f6a3f04 |
698 测试;initial 99.72 KiB / total 498.00 KiB / dist 1.54 MiB;路径四函数与 HOME/env 同源落地;runtime 7/7。 |
| P3 Agent/LLM/Tools/Capability/Resources | 141b457 |
722 测试;initial 106.11 KiB / total 499.54 KiB / dist 1.54 MiB;runtime 7/7。 |
| P4 UI 插件化 | 7b30edc |
782 测试;initial 99.61 KiB / total 503.11 KiB / dist 1.56 MiB;runtime 7/7、visual 6/6。 |
| P5 插件管理 + 扩展 API + Succinix 外部集成 | 81dba18 |
784 测试;initial 103.07 KiB / total 508.91 KiB / dist 1.68 MiB;runtime 7/7、e2e 26/26、visual 6/6。 |
| P6 删胶水 + 收尾 + 全量验收 | 86911a0 |
2026-08-13 P6:npm run check 全绿,e2e 26/26、visual 6/6、runtime 7/7、audit 0 漏洞。 |
| P6 终审回归修复 | 56bf0aa |
2026-08-13:npm run check:all 单命令全绿:785 测试、e2e 26/26、visual 6/6、runtime 7/7、audit 0 漏洞。 |
| G-38 runtime 生命周期 fiber 化 | 2b7a82e |
2026-08-13:npm run check:all 单命令全绿:788 测试、architecture 387/26/0、circular 358/0、e2e 26/26、visual 6/6、runtime 7/7、audit 0 漏洞。 |
| 0.6/dsh 单轨复核(未提交) | - | 121 测试/798;architecture 388/26/0;circular 359/0;bundle initial 88.21 / total 491.42 / dist 1.66;external engine 39.23;npm run check:all 全绿(e2e 26/26、visual 6/6、runtime 7/7、audit 0)。 |
| UI 插槽收口(未提交) | - | 122 测试/801;architecture 397/26/0;circular 368/0;bundle initial 88.03 / total 492.65 / dist 1.67;external engine 39.23;npm run check:all 全绿(e2e 26/26、visual 6/6、runtime 7/7、audit 0)。 |
| 终审稳定性修复(未提交) | - | 124 测试/821;architecture 398/26/0;circular 369/0;bundle initial 88.33 / total 493.96 / dist 1.68;external engine 39.23;npm run check:all 单命令全绿(e2e 26/26、visual 6/6、runtime 7/7、audit 0)。 |
满足以下条件才可声明发布级完成:无已知 P0/P1 数据损坏、死循环、越界写入或恢复
错误;check:all 完整通过;新增视觉基线已人工检查;生产 audit 可验证;剩余问题
仅为上游限制或已登记的差异项(见本文已登记差异项)。
缺少 Chromium、网络或转换工具的检查必须记为“未执行/外部阻塞”,不能标记为通过。