[F22] canvas 模块原语补齐:template-admin/template-editor-panel 换用 ui/ 共享控件
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 7m
- Merged PRs (30d)
- 969
Description
## 交付契约(user_visible_behavior)
canvas 模块(template-admin.tsx、template-editor-panel.tsx、template-display-panel.tsx 等)里剩余的手写裸 //checkbox 与非 inverse 场景的裸 -foreground 改用 components/ui/ 共享原语与正确 token;模板名称/标签编辑、字段新增表单、显示方式设置等交互行为不变,仅替换控件实现与颜色 token。
## Story
⚠ 缺少可追溯的 story(spec_ref 格式不对:"design-deltas/primitive-adoption-cleanup/design-signoff.md",应为 "<文件名>.md#R<n>"(如 auth.md#R3))——历史存量,新 feature 已被 claim/verify 强制要求
## 验证(完成的唯一标准:每条命令退出码 0)
- [ ] `pnpm --filter web run lint:design`
- [ ] `pnpm --filter web exec tsc --noEmit`
证据落盘:`phases/phase-12-uiux-foundation/sprints/sprint-01/evidence/F22.verify.log`
## 实现指引(notes)
依据等级:[规范条目](同 F21,design-delta primitive-adoption-cleanup 已签核)。canvas 是审计确认的第二热点,文件更大、控件与业务逻辑耦合更深,独立于 F21 单独一个 issue/PR(一个 issue 一个 PR 纪律)。范围明确不含 chat 目录。
## 设计参照
(无 UI 或沿用现有界面)
## 前置依赖
- `F01` — 已就绪
- `F02` — 已就绪
- `F19` — 已就绪
- `F20` — ⚠ 未就绪(in_progress),就绪前不要开工
## 元数据
| phase | sprint | 能力平面 | 优先级 | wave | area |
|---|---|---|---|---|---|
| 12 | 01 | - | Pundefined | - | component-primitives |
## 开工流程(agent 必读)
> 本 issue 是仓库的**只读投影**;权威是 [`phases/phase-12-uiux-foundation/feature_list.json`](https://github.com/boardx/workspacex/blob/main/phases/phase-12-uiux-foundation/feature_list.json)。若两者不一致,以仓库为准。
1. 环境:`./init.sh`(验证失败先修基础状态,别在坏地基上开工)。
2. 认领:`pnpm harness claim --phase 12 --feature F22 --owner <你的-agent-id>`(同一 owner 同时最多一个 in_progress)。
3. 读上下文:[`requirements/`](https://github.com/boardx/workspacex/blob/main/phases/phase-12-uiux-foundation/requirements)(原始需求)、[`contracts/`](https://github.com/boardx/workspacex/blob/main/phases/phase-12-uiux-foundation/contracts)(本 feature 所属契约束:`ui.md` 给组件落点与 data-testid,`usecases.md` 给失败模式,`design-signoff.md` 给签核状态)、[`sprints/sprint-01/session-handoff.md`](https://github.com/boardx/workspacex/blob/main/phases/phase-12-uiux-foundation/sprints/sprint-01/session-handoff.md)(上一轮交接)。
4. 实现:只做本 feature 的最小实现,不顺手重构无关区域;不碰 `active-features.json`(脚本派生只读)。
5. 验证:逐条跑上方 verification,输出留到 `phases/phase-12-uiux-foundation/sprints/sprint-01/evidence/F22.verify.log`;然后 `pnpm harness verify --sprint 12/01 --feature F22` 门控转 passing——**不允许手改 status**。
6. 提交:分支 `worker/<owner>-12-f22-<slug>`,PR 关联本 issue(`Closes #<本 issue 号>`),收尾更新 progress.md 与 session-handoff.md。
完整硬约束见 [`AGENTS.md`](https://github.com/boardx/workspacex/blob/main/AGENTS.md);多 agent 协作规则见 [`.harness/instructions/multi-agent-coordination.md`](https://github.com/boardx/workspacex/blob/main/.harness/instructions/multi-agent-coordination.md)。
Contributor guide
No contributing guide indexed for this repository
Research direction
Run ./init.sh first, then read requirements/, contracts/ui.md, contracts/usecases.md, contracts/design-signoff.md, and the session handoff. Inspect template-admin.tsx, template-editor-panel.tsx, and template-display-panel.tsx for the remaining controls and tokens, excluding chat. Done means both listed pnpm checks pass, evidence is written to F22.verify.log, and harness verification passes after F20 is ready.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100