晋升客户端项目类型文档
Some checks failed
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled

This commit is contained in:
2026-08-09 13:41:51 +08:00
parent 493b31cff0
commit 2e737dee31
7 changed files with 123 additions and 10 deletions

View File

@@ -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 晋升。