晋升客户端项目类型文档
This commit is contained in:
@@ -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