merge: integrate upstream main with local Makelore changes
This commit is contained in:
@@ -19,10 +19,10 @@
|
||||
- 用户模块入口策略必须由 Electron Main 将 Works `/api/auth/me` 安全投影为四个布尔值;缺失对象/字段默认开启,`design` 映射 `painting`,Renderer 不获得 Token 或原始 profile。
|
||||
- 被关闭模块必须在卡片和根/深层/别名路由两层均无法进入,且在 `MainLayout`/模块初始化前阻断;Code provider 等待 policy hydration,全局 `/settings` 仍可访问,终止性 `401` 清理 Main/Renderer 会话。该客户端入口策略不能代替 API 授权。
|
||||
- Makelore Code 必须只使用精确 pin 的 Pi `0.84.2` production runtime;产品源码、安装包和资源根不得保留 OpenCode runtime/package/plugin/fallback/双路径。上游 Pi Provider adapter 的精确静态文件例外必须单列,不能误报为产品旧 runtime。
|
||||
- 新 project/Agent/Conversation 必须本地原子创建,Composer 在 worker 准备期间仍可编辑。每条 active/warm Conversation 独立绑定 persistent worker/session;Snapshot/Patch、model/thinking、queue、interaction、subagent 和 recovery 不得跨 Conversation 泄漏。
|
||||
- 新 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 的 `202` acceptance 与 uncertain 状态必须保持 request/run/process/background ownership,禁止自动重放;迟到 terminal 事件必须 exactly-once 收敛并重新解锁 Composer。手动 compact 在 Pi `0.84.2` 缺少 `agent_settled` 时必须由 correlated RPC 结果正确结束。
|
||||
- Provider secret 只能进入目标 worker env。未解析 Conversation 必须 validate → persist resolved model → prepare;确定性 Works user-context 缺失必须失效缓存凭据、停止 Pi 自动重试并投影固定 Provider-auth 错误,而不是表现为 runtime crash、永久 submitting 或不可恢复的 Conversation。
|
||||
- top-level worker 并发 4、child 并发 4、warm idle LRU 4、parent/child 总进程预算 8 与同项目 write lease 必须在正常、abort、crash、timeout、rebuild 和 app quit 路径全部归零;运行中的 Conversation 不得因页面隐藏而被停止。
|
||||
- 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
|
||||
|
||||
@@ -32,9 +32,9 @@
|
||||
- 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 授权验收。
|
||||
- Windows 最终安装包必须通过 Pi production closure、最终 `app.asar` Main、真实 extension/ephemeral child、4 parent + 4 child live-PID、prompt/compact uncertainty、late-settle 和零残留进程验证。loopback/provider-shaped smoke 只能证明协议序列化与本地隔离,`realTurnVerified=false` 时不得宣称真实 Provider Pass。
|
||||
- Windows 最终安装包必须通过 Pi production closure、最终 `app.asar` Main、真实 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-08-26
|
||||
2026-08-31
|
||||
|
||||
Reference in New Issue
Block a user