From cfdc7506c4e8e29c4c7e0c2da0d24a3285c2bbfb Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Thu, 8 Oct 2026 19:28:09 +0800 Subject: [PATCH] =?UTF-8?q?docs(09):=20=E6=8D=95=E8=8E=B7=20Phase=209=20?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E6=96=87=EF=BC=88=E4=BC=9E=E9=98=B6=E6=AE=B5?= =?UTF-8?q?=20+=20=E5=A2=9E=E9=87=8F=E6=B4=BE=E5=8F=91=20+=20=E4=B8=A4?= =?UTF-8?q?=E5=A4=A7=E4=BB=BB=E5=8A=A1=E6=96=B9=E5=90=91=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../09-minimum-browser-runnable/.gitkeep | 1 + .../09-minimum-browser-runnable/09-CONTEXT.md | 122 ++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 .planning/phases/09-minimum-browser-runnable/.gitkeep create mode 100644 .planning/phases/09-minimum-browser-runnable/09-CONTEXT.md diff --git a/.planning/phases/09-minimum-browser-runnable/.gitkeep b/.planning/phases/09-minimum-browser-runnable/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.planning/phases/09-minimum-browser-runnable/.gitkeep @@ -0,0 +1 @@ + diff --git a/.planning/phases/09-minimum-browser-runnable/09-CONTEXT.md b/.planning/phases/09-minimum-browser-runnable/09-CONTEXT.md new file mode 100644 index 0000000..2c9d72a --- /dev/null +++ b/.planning/phases/09-minimum-browser-runnable/09-CONTEXT.md @@ -0,0 +1,122 @@ +# Phase 9: 最小浏览器可运行版本 - Context + +**Gathered:** 2026-10-08 +**Status:** Ready for planning + + +## Phase Boundary + +在已完成的数据端(可在 Node 环境独立运行/回放验证)之上完成渲染端框架,产出可在浏览器中运行并验证的最小版本。 + +本阶段收敛两大任务方向: + +1. **依赖拆分收尾**:将 `client-modules` 按依赖关系拆分为 `client-base` 与 `client-modules`。此工作已部分完成,仍可能有未拆分完毕的内容。 +2. **实现层 ↔ 架构层对齐**:接口适配性工作。UI 系统已完成重构,但 UI 实现尚未完全对齐,且存在不少 legacy 实现(`@motajs/legacy-ui`),需移植到新接口上。 + +**执行方式(本阶段关键):** 本阶段是「伞阶段」,不一次性规划到底。内容杂、量大,且 UI 形态无固定约定,用户无法一次指定全部目标。改为**增量派发**:用户每次派发一个具体小任务,AI 据此在 Phase 9 下创建独立计划并执行,完成后由用户派发下一个。 + + + + +## Implementation Decisions + +### 执行方式(本阶段特有,优先级最高) + +- **D-01:** Phase 9 采用增量派发执行——用户每次派发一个具体小任务,AI 只针对该任务在 Phase 9 下创建独立计划;不得预先把整个阶段规划到底。 +- **D-02:** 阶段计划随任务累积,可反复追加/重规划;新任务到来时可新增计划而不必重排既有计划。 +- **D-03:** 每个计划执行前,第一个 block 点必须先向用户汇报计划内容(要做什么、为什么、大致怎么做、影响范围)并等待用户明确回复「可以执行」;未收到「可以执行」前不得开始该计划的任何一步,也不得派发执行子代理。 +- **D-04:** 新增或修改任何公共、受保护、私有方法/字段等命名前,必须先向用户反馈并获批准。 +- **D-05:** 默认不逐阶段验证(本项目为彻底性重构,已完成系统会反复返工,逐阶段验证不现实);仅当用户对某个具体任务明确要求时才做验证。 + +### 任务范围界定 + +- **D-06:** 每个小任务的范围由用户界定;AI 不擅自扩大范围。发现的越界内容只记录、不实施。 +- **D-07:** UI 无固定约定。涉及 UI 的任务,其具体目标/期望形态/验收点由用户提供;AI 不自行臆造 UI。 + +### 两大任务方向(阶段初始范围) + +- **D-08(拆分):** 收尾 `client-modules` → `client-base` / `client-modules` 的依赖拆分。已有部分完成,需按实际依赖关系盘点剩余未拆内容,再逐任务迁移。 +- **D-09(对齐):** 实现层与架构层接口对齐——含 UI 系统重构后的 UI 实现对齐,以及 `@motajs/legacy-ui` 等 legacy 实现向新接口的移植。 + +### the agent's Discretion + +- 无。用户明确未授权 AI 自行决定 UI 形态或任务范围。 + + + + +## Specific Ideas + +- 用户原话(任务方向):「这一阶段的主要任务有两个:将 client-modules 按照依赖关系拆成 client-base 与 client-modules,这部分工作已经完成了一部分,但仍可能有部分内容尚未拆分完毕。第二个任务是将实现层与架构层对齐,这部分主要是接口适配性的工作,例如目前 UI 系统已经完成了重构,但是 UI 实现尚未完全对齐,且存在不少 legacy 实现(@motajs/legacy-ui),这部分内容都需要移植到新接口上。」 +- 用户原话(执行方式):「这部分的内容比较杂,也比较多,我很难一次性把目标全部指定完毕,尤其是 UI 应该长什么样也没有一个明确约定……所以我打算一步步来,每次给你派发一个小任务,你根据这个小任务创建计划,并执行,执行完毕后我再进行后续任务的派发。」 + + + + +## Canonical References + +**Downstream agents MUST read these before planning or implementing.** + +### 项目与阶段定义 +- `.planning/PROJECT.md` — 项目核心价值与项目级决策 +- `.planning/ROADMAP.md` — Phase 9 目标与依赖(Depends on: Phase 8) +- `.planning/REQUIREMENTS.md` — 需求基线 +- `dev.md` — 项目开发规范(命名、流程、约束) +- `AGENTS.md` — AI 行为约束(含执行前须获批、命名须先反馈等) + +### 代码库地图 +- `.planning/codebase/ARCHITECTURE.md` +- `.planning/codebase/STRUCTURE.md` +- `.planning/codebase/CONVENTIONS.md` +- `.planning/codebase/INTEGRATIONS.md` +- `.planning/codebase/CONCERNS.md` +- `.planning/codebase/STACK.md` +- `.planning/codebase/TESTING.md` + +### 前序渲染端拆分/对齐产物(Phase 4,直接相关) +- `.planning/phases/04-render-adaptation/04-CONTEXT.md` — Phase 4 决策基线 +- `.planning/phases/04-render-adaptation/04-STRUCTURE-MIGRATION-IMPACT.md` — `client-modules` → `client-base` 结构性迁移影响台账 +- `.planning/phases/04-render-adaptation/04-RENDER-SINGLETON-AUDIT.md` — 渲染端去单例化清点(单例 → 主类挂载 + 接口继承) +- `.planning/phases/04-render-adaptation/04-UI-ADAPTATION-IMPACT.md` — UI 接口适配影响台账(全局 loading/hook 删除、新加载系统) +- `.planning/phases/04-render-adaptation/04-RENDER-INTERFACE-AUDIT.md` — 渲染端 ↔ 数据端接口对账 +- `.planning/phases/04-render-adaptation/04-PATTERNS.md` — 既有模式映射 + +### 数据端状态(已基本完成,Node 可运行/回放验证) +- `.planning/phases/03-data-completion/03-CONTEXT.md` +- `.planning/phases/08-test-refactor-alignment/08-CONTEXT.md` + + + + +## Existing Code Insights + +### 相关包(已核实存在) +- `packages-user/client-modules` — 待继续拆分;含 UI 实现与 legacy 接线 +- `packages-user/client-base` — 渲染系统层(Phase 4 已迁入 `components/` `elements/` `map/` `layout/`) +- `packages-user/client-system` — 客户端系统层 +- `packages/legacy-ui`(`@motajs/legacy-ui`)— legacy UI 实现,待移植到新接口 +- `packages/legacy-common` / `packages/legacy-system` — legacy 相关包(相关时再评估) +- 数据端:`packages-user/data-*` 与 `packages/*`(已基本完成,Node 可运行/回放) + +### Established Patterns(来自 Phase 4 决策,仍适用) +- **D-69 桶导出硬约束**:barrel 只允许 `export * from './<同目录项>'`;消费者必须直连 `@user/client-base`,不得经 barrel 转发。 +- **去单例化**:渲染端单例改为挂载到主类(`ClientCore` / `client`),子系统继承/实现 `IClientBaseExtended`(`client-base/src/types.ts`)或 `ICoreStateExtended`(`data-state/src/types.ts`),镜像数据端模式。 +- **双端分离**:数据端无 DOM,可在 Node 独立回放;渲染端不向数据端推送更新。 + +### Integration Points +- 待定。由每个小任务在规划阶段确定具体接入点与影响范围。 + + + + +## Deferred Ideas + +- 完整 UI 形态规范——本阶段无固定约定,由用户按任务逐个提供。 +- 未派发的其余杂项对齐工作——随用户后续增量派发进入 Phase 9 计划,不预先纳入。 + + + +--- + +*Phase: 09-minimum-browser-runnable* +*Context gathered: 2026-10-08*