4.7 KiB
4.7 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 在没有 metadata revision/条件写与 cover 回收合同的阶段,首次 create 只能原子保存文字资料且不上传封面;已有项目只能 version-only。客户端不得通过无条件 PATCH、先上传封面或吞掉并发冲突来模拟原子性。
- Learning 课程目录、生成、下载、Agent、ASR 与 classroom runtime 必须保持 Main-owned;Renderer 不得获得 Works Token、Provider/模型配置、本地 archive 路径或任意网络代理能力。
- Learning 课程包必须匹配声明大小与 SHA-256 后原子安装并在播放前复验;媒体必须是 MIME/扩展匹配的被动图片、音视频或字体,可执行同源文档在安装和服务两层拒绝。大课模块必须绑定同一 aggregate 课程身份,课堂联网只允许固定 capability、方法和有界请求/响应。
- Learning 本地库、下载、播放器注册和 IPC 结果必须绑定 Electron Main 从当前登录身份派生的不透明账号分区;切换账号、注销或会话 epoch 变化后,旧账号文件、播放器 URL 和迟到结果不得继续可见。
- Learning 归档必须限制为最多 512 MiB;下载最多跟随 5 次同 Works origin 的 HTTP(S) 重定向且不得向资源重定向转发 Bearer。播放器必须校验精确 loopback origin、账号绑定与短效 nonce;只有显式课堂读取能注册资源,Agent/runtime 必须先验证调用前已存在的 active registration,再做无副作用权威解析,不能接受任意来源消息、自注册课程或跨账号资源。
- 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 账号、固定 URL/SHA-256 的 production Stage artifact 和正式安装包验证目录/生成/材料/取消恢复、下载、离线多模块播放、进度、Agent、ASR 与 PBL/评分;客户端自动化不得替代 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-17