Files
makelore/.project-docs/40-domain/business-rules.md

2.9 KiB
Raw Blame History

Business Rules

Durable Rules

  • 面向用户的 AI 编程新建流程必须在 mini_gamemini_programcustom 中选择;ProjectType 是产品类型,创建后不能通过 UI 或 Host API 修改,未传类型的兼容 API 调用按 custom 处理。
  • 新建小游戏和小程序会生成平台固定版本的受控 Vite 发布模板,并可使用项目配置中的单一“提交审核”入口;custom 和缺少类型字段的旧项目不提供一键发布。
  • ProjectType 不等于 BuildPreset:第一期两个可发布产品类型都映射到内部受控 Vite preset本地 projectType 不是授权边界Main-owned 安全打包、Host API 和服务端包体校验仍必须执行。
  • 非专业用户只执行一次“提交审核”;构建通过后由运营审核,审核通过即直接发布。
  • 创建者发布唯一链路是项目配置“一键提交审核” → Main 安全打包 → 服务端版本上传 → 客户端轮询云构建不恢复独立发布上传页、云部署工作台、Compose/deploy-check、自动 watcher/arm/upload 或手工 ZIP 入口。
  • 待审版本只能通过绑定精确 Release 的短时 Owner preview 验收;旧版本、构建中或失败状态不能生成可扫码假象。
  • 发布和预览安全边界由 Electron Main 持有Renderer 不接触账号 Token、ZIP、幂等键和本地绝对路径。
  • 发布 Host API 必须在读取凭据、查询项目和打包前校验 Renderer capability仅持有 Host token/base 的非 UI 调用方不得发起发布。
  • 客户端只持久化服务端已接受的 submission binding v2。旧 submitted 绑定必须保留;旧 armedwaiting_for_packagewaiting_for_loginuploadingfailed 必须迁移为可理解的 legacy_retired,不得恢复后台任务。
  • 云端上传成功但本机 submission binding 保存失败时,提交仍视为成功;客户端显示固定、无本地路径的告警并继续轮询云构建,避免诱导重复提交。
  • 已发布作品优先读取 play_url,只有字段缺失时才使用一个客户端版本的 runtime_url 回退。公共播放 URL 必须是 Works Square 同源 HTTPS、无 userinfo/loopback、精确 /apps/{encodeURIComponent(app_id)}/、无 query/fragment且上游明确 playable === true 并提供非空版本名;否则按不可播放处理。
  • works-cloud-deploy.json 仅是已安装客户端的数据兼容文件名,不表示客户端仍提供 cloud deployment coordinator。
  • Works Square 会话按真实键盘、鼠标或触摸活动滑动续期,连续 7 天未使用才要求重新授权。

Open Questions

  • 生产整链需要真实账号、Builder、OSS immutable Release、CDN/Edge、运营审核、App 播放与监控环境完成最终验收;当前客户端验证不能替代该验收。
  • 在一个客户端兼容版本且服务端与存量数据稳定提供 play_url 后,移除 runtime_url 回退。

Last Reviewed

2026-08-10