4.5 KiB
4.5 KiB
Success Criteria
Project Success
- {observable project-level success condition}
Task Completion Standard
- 可发布小游戏/小程序的一键提交必须由 Electron Main 对安全源码快照执行固定 npm 11.6.2 的
npm ci --ignore-scripts,并调用项目package-lock.json锁定的 Vite 生成静态产物。 - Electron 双视口预检必须检查与最终
built_archive相同的内存文件字节;预检失败不得上传,预检成功不得被表述为可信审核凭据。 - 上传协议必须同时携带源码归档、构建归档和严格版本化 artifact contract;服务端独立重算摘要、校验合同并固化不可变 Release。
- Renderer 不得获得发布凭据、归档、临时目录、构建 origin 或任意本地路径;旧客户端和旧 sandbox/browser 任务必须提示升级后重新构建提交。
- Works Project 首次 create 必须用单一 multipart 合同原子提交文字资料与必选的 PNG/JPEG/WebP 封面;创建失败或冲突不得继续上传版本。已有项目保持 version-only;在没有 metadata revision/条件写前,客户端不得通过无条件 PATCH 修改已有资料。
- Learning 必须保持登录和
module_access.learning门禁,并只呈现服务端已发布的分页项目列表、README 详情和下载动作;旧课程生成、进度、本地库、播放器、Agent/ASR/runtime 代码和打包依赖不得继续存在。 - Learning README 必须禁用原始 HTML;远程 HTTPS raster 图片由 Works Square 在发布时校验、镜像并改写为固定媒体路径,Main 以 Bearer 代理并限制可信 MIME 和 10 MiB,Renderer 不获得任意网络代理能力。
- Learning 项目下载必须由 Main 打开原生保存窗口并写入临时文件,不按
Content-Length、archiveBytes、实际流字节数或客户端上限阻断;最多五跳同源重定向,校验 SHA-256 和 ZIP 签名后再原子落盘。Renderer 只能获得saved或cancelled,不得获得 Token、上游 URL 或本地路径。 - 历史课程数据不得被新逻辑读取或迁移,也不得在没有独立用户确认与恢复策略时自动删除。
- Robot Guided Hotspot Binding 必须保持固件零改动、Main-owned default-on capability、精确环境值
0回滚、固定系统浏览器 Portal 和现有六位 Binding facade。Windows/macOS 页面内只能扫描开放Xiaozhi-*短效候选并连接用户明确选择的项;Makelore 不得接触家庭 Wi-Fi 凭据,也不得把热点发现或 Binding 成功等同于可信身份/在线。 - 用户模块入口策略必须由 Electron Main 将 Works
/api/auth/me安全投影为四个布尔值;缺失对象/字段默认开启,design映射painting,Renderer 不获得 Token 或原始 profile。 - 被关闭模块必须在卡片和根/深层/别名路由两层均无法进入,且在
MainLayout/模块初始化前阻断;Code provider 等待 policy hydration,全局/settings仍可访问,终止性401清理 Main/Renderer 会话。该客户端入口策略不能代替 API 授权。
Quality Checks
- 发布安装包前运行
pnpm verify:publish-runtime,并对最终 Windows 产物运行pnpm verify:artifact:win;固定 npm 闭包缺失或版本不符时 fail closed。 - 至少覆盖 release builder/静态产物服务/发布路由/Renderer 状态的聚焦测试、typecheck、scoped lint、Vite 构建和真实 Electron 双视口 production-seam E2E。
- 真实生产发布仍需成组验证服务端合同、不可变 Release、运营审核、CDN/App 播放;客户端本地验证不能替代该整链验收。
- Learning 上线前必须部署 Works Square 项目管理、对象存储、README HTTPS URL 校验和 list/detail/media/archive API,并使用真实账号和正式安装包验证发布/下架、分页、README 图片、下载取消、缺失或错误
Content-Length、损坏/摘要不匹配 ZIP,以及 Windows 与签名 macOS 保存行为。 - Robot 默认引导路径必须通过聚焦 Renderer/Main/native 测试并保留
NIANCODE_AI_HARDWARE_GUIDED_HOTSPOT_BINDING=0回滚。真实 Host API/native seam Electron E2E、Windows Robot 真机、签名 macOS x64/arm64、指定固件镜像与六位码发行契约未完成前,不得宣称完整双平台硬件兼容或端到端配网已经验收。 - 四模块入口策略发布前必须部署 Works migration/API、重新打包客户端,并以真实账号对 Code、Canvas、Learning、Robot 分别执行关闭 smoke;客户端自动化不得代替服务端 API 授权验收。
Last Reviewed
2026-08-20