Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f847090e7 |
@@ -0,0 +1,98 @@
|
||||
# TASK:全站用户可见文字去掉「·」(UI 规则 8,2026-11-13)
|
||||
|
||||
- Gitea:#234
|
||||
- 分支:`codex/remove-middle-dot-20261113`,从 staging `e5d6c99d` 切出(#220 已合入)。
|
||||
- Bug 编号:BUG-1870。开工时核对 `docs/BUG_HISTORY.md` 末尾;若已被占用就顺延,并在 PROGRESS 写明。
|
||||
- 负责验收:Claude(jyotisha-de)
|
||||
|
||||
任务书没写的取舍,不得写成"产品决定"或"裁定",一律标「需拍板」。
|
||||
|
||||
不得修改或删除既有断言来让测试通过。确需修改,在 PROGRESS 里逐条写明原值、新值和原因。只因「·」改成新写法而改断言的,算正常改动,也要列出。
|
||||
|
||||
## 背景
|
||||
|
||||
- 产品负责人 UI 规则 8(2026-11-06):不用中间点「·」。
|
||||
- 产品负责人 2026-11-13 同意了按场景替换的规则,原型见 https://claude.ai/artifact/7nq8yt22n8L3KXiAFQXk4z,「全站去掉「·」」那一张。
|
||||
- staging 实测:前端约 300 处、60 多个文件。后台导出文本里也有,主要在 `scripts/pl9_full_data_export.py`、`pl9_reader_export.py`、`pl9_reader_english.py`、`pl9_language_terms.py`、`scripts/report_render/audit_chapters.py`、`upstream_coverage.py`。
|
||||
|
||||
## 替换规则(已定)
|
||||
|
||||
| 场景 | 现在 | 改成 |
|
||||
|---|---|---|
|
||||
| 浏览器标签标题 | `星盘 · Jyotisha` | `星盘 - Jyotisha` |
|
||||
| 中文的两段信息(日期、进度、来源等) | `生日年 · 2026-03-14 到 2027-03-14` | `生日年,2026-03-14 到 2027-03-14` |
|
||||
| 宫位加星座 | `第 1 宫 · 白羊:太阳` | `第 1 宫(白羊):太阳` |
|
||||
| 英文同类 | `House 1 · Aries` | `House 1 (Aries)` |
|
||||
| 并列名称 | `金星 · 土星 · 月亮` | `金星、土星、月亮`;英文用 `, ` |
|
||||
| 卡片里并排的小字参数 | `D9 · 整宫 · Lahiri` | 拆成并排的元素,靠间距分开,不加任何符号。间距用现有 gap 变量 |
|
||||
|
||||
- 不在上表里的情况,选最接近的一行,并在 PROGRESS 写明理由。
|
||||
- 拿不准的,列进 PROGRESS 的「需拍板」小节,先不改。
|
||||
- 不得改成其他点状符号,例如 `•` `・` `‧` `∙`,也不得改成 `|` `/`。
|
||||
|
||||
## 范围
|
||||
|
||||
**要改:用户看得到的文字**
|
||||
- 网页:页面、组件、metadata title。
|
||||
- 导出的 .md:个人报告、合盘、年运。
|
||||
- 报告正文与附录,包括后台渲染出来给用户看的文本。
|
||||
- `frontend/src/lib/personal-report-reading-contract.ts` 的 basisAuditLine(`${claim} · 上限 …`),来自 #218、#219。
|
||||
- `frontend/src/components/annual/annual-report-page.tsx` 的头部和进度两处。
|
||||
|
||||
**只列清单、不改**
|
||||
- 后台管理页:`components/admin/**`、`app/admin/**`、`app/(admin)/**`。
|
||||
- 代码注释。
|
||||
- 给模型的提示词和写作要求,例如 `consultation-methodology.ts`、`report-interpretation-packs/**`。改提示词会影响模型输出,要另评估。
|
||||
- 其中有的文本既进提示词又直接显示给用户。这种列进「需拍板」,不改。
|
||||
- `docs/**`、`references/**`、法律文本 `legal-documents.ts`(法律文本改动要单独过)。
|
||||
|
||||
**不要碰**
|
||||
- 冻结文件:`scripts/jyotish_engine.py`、`jyotish_api_server.py`、`yoga_engine.py`、`consultation_native_layers.py`、`tajika_mudda.py`、`shadbala*.py`、`narayana_*.py`、`functional_benefics.py`、`special_lagnas.py`。其中有「·」的,列进清单。
|
||||
- `frontend/src/lib/consult-preset-prompts.ts`
|
||||
|
||||
## 防复发
|
||||
|
||||
新增一个测试 `frontend/tests/no-middle-dot-20261113.test.ts`:
|
||||
- 扫描 `frontend/src/**/*.{ts,tsx}`,排除上面「只列清单」的路径和注释;
|
||||
- 字符串里出现「·」就失败,并报出文件和行号;
|
||||
- 允许清单写在测试文件里,每条注明原因。清单只能放「只列清单」那几类。
|
||||
|
||||
后台加一个同样作用的 Python 测试 `tests/test_no_middle_dot_20261113.py`,只覆盖本单改过的后台渲染文件。
|
||||
|
||||
## 要改的文件
|
||||
|
||||
- 上述范围内的前端和后台文件,以及 CSS(卡片小字拆成并排元素时用)。
|
||||
- 两个新测试
|
||||
- `docs/BUG_HISTORY.md`:只在末尾追加一条。
|
||||
- `docs/tasks/PROGRESS-remove-middle-dot-20261113.md`
|
||||
|
||||
## 验收标准
|
||||
|
||||
1. 新的两个测试通过,允许清单里只有「只列清单」那几类。
|
||||
2. 抽查以下页面,没有「·」,文字没有挤压或截断:
|
||||
- 星盘页
|
||||
- 个人报告页和它导出的 .md
|
||||
- 合盘报告
|
||||
- 年运页
|
||||
- 报告中心
|
||||
- 侧栏
|
||||
3. 卡片小字拆开后,在 390px 宽度下不换行错位;必要时可以换行,但不截断。
|
||||
4. 现有测试全部通过(基线失败除外,在 PROGRESS 写明)。
|
||||
5. tsc、eslint(0 错)、quick gate 通过。
|
||||
|
||||
## 自测命令
|
||||
|
||||
```
|
||||
cd frontend && npx tsc --noEmit -p . && npx eslint . && npm test
|
||||
PATH=<venv>/bin:$PATH PYTHONHASHSEED=0 python scripts/run_quality_gate.py --profile quick --skip-frontend-runtime
|
||||
```
|
||||
|
||||
## 进度记录
|
||||
|
||||
写在 `docs/tasks/PROGRESS-remove-middle-dot-20261113.md`,包括:
|
||||
|
||||
- 每个文件改了几处、用了哪条规则;
|
||||
- 「只列清单」的完整清单;
|
||||
- 「需拍板」小节;
|
||||
- 改过的断言;
|
||||
- 测试结果。
|
||||
Reference in New Issue
Block a user