7.1 KiB
7.1 KiB
Success Criteria
Project Success
- {observable project-level success condition}
Task Completion Standard
- 可发布交互式 AI 应用的一键提交必须由 Electron Main 对安全源码快照执行固定 npm 11.6.2 的
npm ci --ignore-scripts,并调用项目package-lock.json锁定的 Vite 生成静态产物。 - 官方 bundled Project Scaffold Skill 可生成固定起步文件并只读说明发布要求、禁止项和证据缺口,但不得安装依赖、构建、上传、提审或把静态检查表述为平台批准;其
.mjs只来自签名客户端固定资源,Marketplace 下载 artifact 仍必须拒绝脚本。 - 代码所有的官方项目插件
makelore.data-service、makelore.game-resource与makelore.project-scaffold在满足各自既有账号获取或随应用提供条件并由当前项目启用后,必须自动进入每个 parent Agent,且客户端不得要求或展示伙伴分配;child Agent 仍为空,其他 Marketplace 和本机包的既有生命周期不变。 - Game Resource 的一次显式确认必须对应一次 Main-owned Provider 提交;Main 内部轮询并把全部终态输出自动保存到调用时冻结项目的
assets/generated/game-resource/<executionId>/。响应丢失、保存失败或应用重启只能恢复本地下载/保存,不得再次生成或扣费;项目写租约只在终态落盘期间持有,Agent 不再拥有状态轮询、保存路径或第二次确认。 - Electron 双视口预检必须检查与最终
built_archive相同的内存文件字节;预检失败不得上传,预检成功不得被表述为可信审核凭据。 - 上传协议必须同时携带源码归档、构建归档和严格版本化 artifact contract;服务端独立重算摘要、校验合同并固化不可变 Release。
- Renderer 不得获得发布凭据、归档、临时目录、构建 origin 或任意本地路径;旧客户端和旧 sandbox/browser 任务必须提示升级后重新构建提交。
- Works Project 首次 create 必须用单一 multipart 合同原子提交文字资料与必选的 PNG/JPEG/WebP 封面;创建失败或冲突不得继续上传版本。已有项目保持 version-only;在没有 metadata revision/条件写前,客户端不得通过无条件 PATCH 修改已有资料。
- Learning 入口、路由、Renderer、Main Host API、共享 DTO、素材、打包依赖和兼容 fallback 必须保持移除;旧 Learning URL 回到模块选择页,旧 Host API 路径返回标准 not-found。
- 历史课程数据不得被新逻辑读取或迁移,也不得在没有独立用户确认与恢复策略时自动删除。
- 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安全投影为 Code、Canvas、Robot 三个布尔值;缺失对象/字段默认开启,design映射painting,额外旧字段被忽略,Renderer 不获得 Token 或原始 profile。 - 被关闭模块必须在卡片和根/深层/别名路由两层均无法进入,且在
MainLayout/模块初始化前阻断;Code provider 等待 policy hydration,全局/settings仍可访问,终止性401清理 Main/Renderer 会话。该客户端入口策略不能代替 API 授权。 - Makelore Code 必须只使用精确 pin 的 Pi
0.84.2production runtime;产品源码、安装包和资源根不得保留 OpenCode runtime/package/plugin/fallback/双路径。上游 Pi Provider adapter 的精确静态文件例外必须单列,不能误报为产品旧 runtime。 - 新 project/Agent/Conversation 必须在
.makelore中本地原子创建,不读取或迁移.niancode/.opencode项目元数据;Composer 在逻辑线程准备期间仍可编辑。每条 active/warm Conversation 在单一父 Agent Server 内独立绑定 Runtime/Session/channel/credential/extension context;Snapshot/Patch、model/thinking、queue、interaction、subagent 和 recovery 不得跨 Conversation 泄漏。 - prompt/compact 的
202acceptance 与 uncertain 状态必须保持 request/run/process/background ownership,禁止自动重放;迟到 terminal 事件必须 exactly-once 收敛并重新解锁 Composer。手动 compact 在 Pi0.84.2缺少agent_settled时必须由 correlated RPC 结果正确结束。 - Provider secret 只能进入目标父逻辑线程的内存 credential store 或目标 child 进程。未解析 Conversation 必须 validate → persist resolved model → prepare;确定性 Works user-context 缺失必须失效缓存凭据、停止 Pi 自动重试并投影固定 Provider-auth 错误,而不是表现为 runtime crash、永久 submitting 或不可恢复的 Conversation。
- top-level 逻辑 turn 并发 4、child 进程并发 4、warm idle logical-thread LRU 8、child FIFO 进程预算 8 与同项目 write lease 必须在正常、abort、crash、timeout、rebuild 和 app quit 路径全部归零;运行中的 Conversation 不得因页面隐藏而被停止。Agent Server 退出必须使所有旧 channel 失效、保持 Main/Renderer 存活,并在恢复时只创建一个新 Server。
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 播放;客户端本地验证不能替代该整链验收。
- 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、Robot 分别执行关闭 smoke;客户端自动化不得代替服务端 API 授权验收。
- Windows 最终安装包必须通过 Pi production closure、最终
app.asarMain、真实 extension/ephemeral child、单一父 Agent Server 内 4 条重叠 Conversation 逻辑线程 + 4 个 child live-PID、单线程关闭、Server 崩溃重启、prompt/compact uncertainty、late-settle 和零残留进程验证。loopback/provider-shaped smoke 只能证明协议序列化与本地隔离,realTurnVerified=false时不得宣称真实 Provider Pass。 - macOS x64/arm64 与 native non-WSL Linux desktop/compositor 的最终安装产物仍是 cross-platform release gate;Windows 或 WSL2/WSLg 通过不能替代这些平台证据。
Last Reviewed
2026-09-07