晋升客户端项目类型文档
This commit is contained in:
@@ -7,35 +7,39 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
|
||||
- `86ece3a` / `4dde8f3`:客户端登录七天滑动续期及集成提交。
|
||||
- `724290e` / `dcc92fc`:Main-owned 一键打包提交审核及集成提交。
|
||||
- `1a19ad9` / `f02e99e`:项目真机预览、待审 Release Owner preview 及集成提交。
|
||||
- `493b31c`:客户端三类 `ProjectType`、小游戏/小程序受控发布模板与自定义项目发布隔离。
|
||||
|
||||
## Current Focus
|
||||
|
||||
客户端面向非专业用户提供“项目配置中一键提交 → 运营审核通过即发布”的单入口链路,并以项目级真机预览完成待审版本扫码验收。
|
||||
客户端面向非专业用户提供“创建小游戏或小程序 → 项目配置中一键提交 → 运营审核通过即发布”的单入口链路,并以项目级真机预览完成待审版本扫码验收;自定义和缺少类型字段的旧项目不提供该入口。
|
||||
|
||||
## Recently Completed
|
||||
|
||||
- 2026-08-08:合并登录续期、一键发布和真机预览;发布成功后保存精确 app/version/review 映射,Renderer 不接触 Token、ZIP 或本地路径。
|
||||
- 2026-08-08:补齐跨平台 Electron E2E fixture、Windows ZIP 预检和异常成功响应安全投影。
|
||||
- 2026-08-09:新建项目支持小游戏、小程序和自定义三类不可变产品类型;前两类生成固定 Vite 发布模板,自定义及缺少类型字段的旧项目不显示一键提交入口。
|
||||
|
||||
## In Progress
|
||||
|
||||
- 使用真实 Works Square、Builder 与 Static Gateway 环境执行客户端提交到运营发布的生产整链验收。
|
||||
- 成组集成 Works Square 的 `project_type` 接收/校验后,使用真实 Builder 与 Static Gateway 环境执行客户端提交到运营发布的生产整链验收。
|
||||
|
||||
## Next Recommended Steps
|
||||
|
||||
1. 配置真实生产环境,执行“客户端提交 → 构建与浏览器门禁 → 运营批准 → 公共访问”。
|
||||
2. 核对待审 Owner preview 的到期刷新、生产监控和告警证据。
|
||||
1. 确认服务端只接受可发布的 `mini_game` / `mini_program`,并继续映射到平台受控构建 preset。
|
||||
2. 配置真实生产环境,分别执行“小游戏/小程序创建 → 客户端提交 → 构建与浏览器门禁 → 运营批准 → 公共访问”。
|
||||
3. 核对待审 Owner preview 的到期刷新、生产监控和告警证据。
|
||||
|
||||
## Open Questions / Blockers
|
||||
|
||||
- 本地与模拟上游回归已完成;生产账号和环境变量仍由部署环境提供。
|
||||
- 客户端与模拟上游回归已完成;服务端类型契约的成组集成、生产账号和环境变量仍待部署环境确认。
|
||||
|
||||
## Risky Areas
|
||||
|
||||
- 一键提交已成功但本地预览映射落盘失败时必须保持提交成功,避免用户重复提交;真机预览会明确显示尚不可用。
|
||||
- 预览 URL 必须绑定当前项目、精确版本和 Release,并保持 Works Square 同源 HTTPS。
|
||||
- 刷新凭据、发布 Token、ZIP、幂等键和重试只能由 Electron Main 持有。
|
||||
- 本地 `projectType` 只决定产品分流和模板选择,不得作为授权依据或替代 Main/服务端的包体校验。
|
||||
|
||||
## Last Updated
|
||||
|
||||
2026-08-08
|
||||
2026-08-09
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
| 2026-08-07 | 客户端登录七天滑动续期 | Main-owned 刷新凭据与真实活动续期 | README、current-state |
|
||||
| 2026-08-08 | Makelore 一键提交审核 | 项目配置单入口,Main 安全打包与幂等提交 | README、architecture、domain |
|
||||
| 2026-08-08 | 项目真机预览 | 待审 Owner preview 与精确已发布 Runtime | README、architecture、domain |
|
||||
| 2026-08-09 | 客户端项目类型 | 创建时固定小游戏/小程序/自定义类型;前两类生成受控发布模板 | current-state、architecture、domain |
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
# Task: 晋升客户端项目类型功能文档
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260809-integrate-project-types-client-6e4b
|
||||
- Mode: Integration
|
||||
- Branch: codex/20260809-integrate-project-types-client-6e4b-integrate-project-types-client
|
||||
- Worktree: D:\Datas\OthersProjects\makelore-integrate-project-types-client-6e4b
|
||||
- Base commit: 493b31cff0c0bded4f0ec61622ccd62744773b81
|
||||
- Owner: codex
|
||||
- Status: Completed
|
||||
|
||||
## Scope
|
||||
|
||||
- 对已进入 `main@493b31c` 的客户端项目类型功能执行正式 Integration Gate。
|
||||
- 将源任务 `20260809-project-types-impl-3f7a` 中已确认、可长期复用的产品语义最小晋升到 canonical 项目记忆。
|
||||
- 只更新项目文档与本集成任务记录,不修改产品代码、不合并或推送 `main`。
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- `ProjectType` 是创建时选择且在 UI/API 中不可变的产品类型;不得与平台内部 `BuildPreset` 混用。
|
||||
- `mini_game`、`mini_program` 新建即生成平台受控的 Vite 发布模板;`custom` 与缺少该字段的旧项目不提供一键发布。
|
||||
- 本地 `.niancode/project.json` 的 `projectType` 只用于产品分流,不是授权或可信安全边界;Main-owned 打包、Host API 与服务端校验边界保持不变。
|
||||
- 现有项目配置中的单一提交入口保持不变,不恢复独立发布工作台。
|
||||
- 不为本次晋升扩张到其他待集成任务,也不把尚未完成的服务端和生产整链验收写成已完成事实。
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
Task context:
|
||||
- Task ID: `20260809-integrate-project-types-client-6e4b`
|
||||
- Mode: Integration
|
||||
- Branch: `codex/20260809-integrate-project-types-client-6e4b-integrate-project-types-client`
|
||||
- Worktree: `D:\Datas\OthersProjects\makelore-integrate-project-types-client-6e4b`
|
||||
- Base commit: `493b31cff0c0bded4f0ec61622ccd62744773b81`
|
||||
- Other active local tasks: `20260807-makelore-release-client-8c4e`、`20260807-client-login-sliding-7d2a`、`20260806-design-multisession-ui-4e7d`、`20260806-design-enter-send-b83f`、源任务 `20260809-project-types-impl-3f7a`。
|
||||
- Overlap or semantic-conflict assessment: 无语义冲突;一键发布任务提供既有 Main-owned/单入口边界,其他 peer 不涉及 ProjectType canonical 晋升。
|
||||
|
||||
Read:
|
||||
- `.project-docs/05-agent-entry/memory-index.md`
|
||||
- `.project-docs/00-brief/project-positioning.md`
|
||||
- `.project-docs/30-worklog/current-state.md`
|
||||
- `.project-docs/10-decisions/decision-index.md`
|
||||
- `.project-docs/20-architecture/system-overview.md`
|
||||
- `.project-docs/20-architecture/data-flow.md`
|
||||
- `.project-docs/40-domain/business-rules.md`
|
||||
- `.project-docs/40-domain/glossary.md`
|
||||
- `.project-docs/00-brief/success-criteria.md`
|
||||
- `.project-docs/50-evidence/evidence-index.md`
|
||||
- `.project-docs/60-reflection/reflection-index.md`
|
||||
- `.project-docs/80-commitments/commitments.md`
|
||||
- `.project-docs/90-maintenance/stale-items.md`
|
||||
- `.project-docs/05-agent-entry/integration-gate.md`
|
||||
- `.project-docs/30-worklog/task-history.md`
|
||||
- 源任务与全部活跃 peer 的任务记录。
|
||||
|
||||
Relevant understanding:
|
||||
- Project goal: 为非专业用户提供项目配置中的单入口提交审核链路,由 Main 持有本地文件、凭据和安全打包。
|
||||
- Current integrated focus: 客户端提交、运营审核即发布以及精确 Release 真机预览;生产整链仍待真实环境验收。
|
||||
- Active task scope: 只晋升已经提交并验证的三类项目创建与发布资格语义。
|
||||
- Active constraints: 类型不可变;旧项目兼容归一为 `custom`;本地类型不是授权边界;不削弱 Main/Host API 安全边界。
|
||||
- Decisions affecting this task: 用户已明确确认小游戏、小程序、自定义项目三类,以及参照微信但服务于自有平台的方向;无相反 accepted ADR。
|
||||
- Evidence, reflections, or commitments affecting this task: 源任务记录 310 项聚焦回归、Electron E2E、两类模板真实 `npm ci`/Vite build;生产整链仍是后续事项。
|
||||
- Files or modules likely involved: `current-state.md`、`business-rules.md`、`glossary.md`、`system-overview.md`、`data-flow.md`、`task-history.md` 与本任务记录。
|
||||
- Unknowns, stale docs, or conflicts: `project-positioning.md`、`success-criteria.md` 仍为模板占位,但不影响本次局部晋升;服务端成组集成和生产验收尚未完成。
|
||||
|
||||
Gate result:
|
||||
- Passed
|
||||
|
||||
## Plan
|
||||
|
||||
1. 以 `493b31c` 实现、源任务结果和现有 Main-owned 发布边界为证据,筛选最小 canonical 事实。
|
||||
2. 更新当前状态、领域规则、术语、架构/数据流与任务历史;不创建无必要 ADR,不改空泛定位模板。
|
||||
3. 执行文档结构检查、task-aware drift、`git diff --check` 和文档差异复核。
|
||||
4. 完成本任务记录,提交中文 integration commit,并保持独立分支,不合并或推送 `main`。
|
||||
|
||||
## Outcome
|
||||
|
||||
- 已在 `current-state.md` 登记源提交 `493b31c`,并把客户端当前焦点收敛为仅小游戏/小程序进入单入口发布链路;服务端成组集成和生产验收继续保持未完成状态。
|
||||
- 已在领域规则和术语表固定 `ProjectType`、`BuildPreset`、受控发布模板的边界:类型创建后不可变,两个可发布类型共享内部 Vite preset,`custom` 与缺字段旧项目不提供一键发布。
|
||||
- 已在系统概览和数据流记录项目创建/模板生成路径,并明确本地 `projectType` 不是授权边界;Main-owned 文件、凭据、安全打包与服务端独立校验边界不变。
|
||||
- 已在任务历史登记本次客户端项目类型集成;未新建 ADR,因为本次是对用户已确认产品方向的事实晋升,没有反转 accepted decision 或引入新的架构选择。
|
||||
|
||||
## Verification
|
||||
|
||||
- `check_project_docs.py`:通过。
|
||||
- `check_doc_drift.py --task-id 20260809-integrate-project-types-client-6e4b`:通过,canonical 写入符合 integration ownership 边界。
|
||||
- `git diff --check`:通过;仅有仓库 Windows 工作区既有的 LF/CRLF 提示。
|
||||
- 人工复核 `a6fe14a..493b31c` 差异、源任务 Outcome/Verification/Promotion Candidates,以及全部活跃 peer 的 Scope/Constraints:源提交已在当前分支,无语义冲突。
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- 成组集成 Works Square 服务端 `project_type` 校验,确认只允许 `mini_game`、`mini_program` 进入受控 Vite 构建。
|
||||
- 使用真实账号和生产环境分别完成小游戏、小程序的“创建 → 一键提交 → 构建/浏览器门禁 → 运营批准 → 公共访问”整链验收。
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None;本次已完成源任务中获确认且适用于客户端的 canonical 晋升。
|
||||
Reference in New Issue
Block a user