Skip to content

Commit 6f7a991

Browse files
committed
chore: distill codex feature config UI pattern
1 parent ce32dff commit 6f7a991

3 files changed

Lines changed: 34 additions & 0 deletions

File tree

.agents/skills/gettokens-domain-engineering/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ This skill unifies the technical rules for building, styling, and debugging GetT
120120
- **Controls**: Use segmented controls for discrete settings.
121121
- **Action Selects**: For `select + right-side actions` patterns, use the project-level `frontend/src/components/ui/ActionSelect.tsx` instead of hand-rolling label/select/button grids. Keep `+` and optional delete actions inside the select frame so field widths align across sibling rows.
122122
- **Status Local CLI Config**: In `StatusApplyLocalSection`, Codex and Claude Code tabs must share field components for equivalent concepts such as Relay API key, endpoint/base URL, provider, and model. Do not maintain parallel JSX just because one tab has fewer fields.
123+
- **Codex Feature Config UI**: The local Codex `[features]` bool editor is a config list, not a data table. Each feature is one row with feature key as the title, stage as a compact tag before the subtitle, localized description as the subtitle, and the switch as the only bool value expression. Do not add duplicate `default/local/on/off` value labels when the switch already communicates the state. Do not force feature keys or descriptions to uppercase; preserve source and localization casing.
123124
- **Account Cards**: Account cards should support whole-card detail entry, but clicks originating from nested interactive controls (`button`, `input`, etc.) must not trigger the card-level detail action.
124125
- **Rotation Cards**: `AccountRotationModal` is a variant of the account card, not a second visual system. Reuse the account-card content hierarchy and only replace the bottom action strip plus rotation-only affordances such as rank rail and drag marker.
125126
- **Rotation Disable Semantics**:
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# 2026-05-03 Codex Feature Config UI Pattern
2+
3+
## 背景
4+
5+
本轮围绕 Codex 本地 `config.toml``[features]` bool 配置做 UI 收敛。用户连续指出表格列、预览、概览卡片、重复值标签、开关方向、Stage 列和强制大写等问题,最终确认该页面应是“本地配置列表”,不是数据报表。
6+
7+
## 稳定模式
8+
9+
1. 每个 feature 是一条独立列表行,不使用 `table / thead / tbody / tr / td / th`
10+
2. 行标题展示 feature key,保持原始大小写,不做 CSS 强制大写。
11+
3. 副标题由 Stage 标签、可选辅助标签和本地化描述组成;Stage 是副标题前的紧凑标签,不是独立列。
12+
4. 描述优先使用 `status.codex_feature_descriptions.<feature_key>`,未知 key 才回退后端描述或空态文案。
13+
5. Bool 值只由开关表达,不再重复展示 `default true/false``local value``ON/OFF` 等文案。
14+
6. 开关开启态滑块在右侧且使用绿色,关闭态滑块在左侧;切换使用 transform 动画,滑块必须始终在线框内。
15+
7. 已弃用、移除、未知或不支持项可以用 Stage / unsupported 提示表达风险,不增加额外表格列。
16+
17+
## 验收方式
18+
19+
1. DOM 中不应出现 feature 列表表格元素。
20+
2. 桌面和移动视口都不能出现横向溢出。
21+
3. 开关开启 / 关闭时滑块坐标必须在轨道边界内。
22+
4. 浏览器 preview 数据只能用于布局验收;真实 Wails 写入能力仍需通过桌面运行时验证。
23+
24+
## 不纳入
25+
26+
1. `npm --prefix frontend run build` 进程悬挂是本轮观察到的验证风险,但还没有复现归因,不沉淀为稳定规则。
27+
2. 请求编排设计稿属于另一个 space 的独立改动,不纳入 Codex feature 配置 UI 模式。

docs-linhay/memory/2026-05-03.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,9 @@
5252
- 沉淀结论:本轮重复出现的模式是“状态页本地 CLI 配置字段复用”和“select + 框内右侧动作按钮”。已写入项目级 `gettokens-domain-engineering` skill,并新增 `docs-linhay/dev/20260503-status-local-cli-ui-pattern.md`
5353
- 后续入口:遇到 Status 页 Relay key、Provider、Model 等下拉动作组合时,优先复用 `ActionSelect`;遇到 Codex / Claude Code 同概念字段时,先抽共享组件再改样式。
5454
- 不纳入:`.playwright-mcp/``docs-linhay/references/codex/``.DS_Store` 是本地临时或外部参考内容,只加入忽略规则,不作为本轮知识资产提交。
55+
56+
## 会话整理:Codex Feature 配置 UI 模式
57+
58+
- 沉淀结论:Codex 本地 `[features]` bool 配置页应按“配置列表”设计,不按数据表设计;每个 feature 一条列表行,Stage 是副标题前标签,开关是唯一 bool 值表达,标题和描述保留原始大小写。
59+
- 已写入:项目级 `gettokens-domain-engineering` skill 新增 `Codex Feature Config UI` 规则,并新增 `docs-linhay/dev/20260503-codex-feature-config-ui-pattern.md`
60+
- 不纳入:`npm --prefix frontend run build` 进程悬挂只是本轮验证风险,尚未形成稳定排障规则;请求编排设计稿属于另一个 space 的独立改动。

0 commit comments

Comments
 (0)