61 lines
3.4 KiB
Markdown
61 lines
3.4 KiB
Markdown
# PROGRESS · P1 星历页(2026-09-15)
|
||
|
||
- 执行分支:`codex/ephemeris-page-20260915`
|
||
- 工作树:`.worktrees/ephemeris-page-20260915`
|
||
- 任务书基线:`2d7698ea`(其后纯文档)。本机开工 `HEAD` = `origin/staging` = `4cacea8e`
|
||
|
||
## 开工前置
|
||
|
||
| 项 | 结果 |
|
||
| --- | --- |
|
||
| 分支 | `codex/ephemeris-page-20260915` 跟踪 `origin/staging` |
|
||
| `frontend/src/app/page.tsx` 行数 | 1951 行量级(本机按换行计 1952,未改此文件) |
|
||
| `tsc --noEmit` | 0 错(改前) |
|
||
| `npm run lint` | 0 error(改前;既有 warning 未动) |
|
||
| 本机 | Windows;任务书 Linux 路径已按 `frontend/` 改 |
|
||
|
||
## 做了什么
|
||
|
||
任务 1:BFF `frontend/src/app/api/ephemeris/route.ts`。登录校验、`consumeUserRequestRateLimit("ephemeris")`、出生资料只从服务端自有资料读。上游 `/api/panchanga_range`、`/api/chart`(本命上升 + 目标日正午行运)、`/api/ephemeris_events`。后者失败该字段 `unavailable`,整页仍 200。不 import 计费与 mastra。窄合同 `ephemeris-contract.ts`。
|
||
|
||
任务 2:独立 route `/ephemeris`。日期条 / 五要素 / 当日行运 / 未来九十天 / 「带这天去提问」。手机五要素一张卡五行。无 spinner。让步:九十天先落 `unavailable`;提问先预填草稿再回 `/`。
|
||
|
||
任务 3:五要素下标注 Lahiri 与星盘页岁差不同;行运段不加。BUG-707 `investigating`。开工时 staging 尚无 BUG-703,未让号。
|
||
|
||
未改:`page.tsx`、`app-sidebar.tsx`、`scripts/**`、数据库。Skill 未 bump。
|
||
|
||
## 推送
|
||
|
||
合入顺序 qizheng → chart-page → 本单。前序未合入前不抢推 staging。
|
||
|
||
## 测试数字
|
||
|
||
| | `test(` 声明 | `npm test` 实测 |
|
||
| --- | ---: | ---: |
|
||
| 基线 `origin/staging` @ `4cacea8e` | 3221 | 本机未在改前跑全量;改后全量 3061 条(pass 2894 / fail 153 / skipped 14)。失败清单是 Windows CRLF、无 Docker、SKILL symlink 一类既有缺口,**没有**本单 ephemeris 用例。 |
|
||
| 改后 | 3233(+11 本单新文件 +1 `viewport-breakpoint-contract`) | 定向 19/19 pass |
|
||
|
||
定向:
|
||
|
||
| 套件 | 结果 |
|
||
| --- | --- |
|
||
| `ephemeris-route.test.ts` | 5 pass(401、无本命仍有五要素、events 降级、zod、禁计费/mastra) |
|
||
| `ephemeris-page.test.tsx` | 6 pass(换日、unavailable、Lahiri 标注位置、手机五要素、无运势文案) |
|
||
| `viewport-breakpoint-contract` | 5 pass |
|
||
| `class-name-definition-contract` | pass |
|
||
| `./node_modules/.bin/tsc --noEmit` | 0 错 |
|
||
| `npm run lint` | **0 error** / 120 warning(既有,未动) |
|
||
|
||
本机 `npx next build` 在收集 `/api/consult` 时因 Windows `SKILL.md` symlink `EPERM` 失败(与既有环境缺口相同),**不能**据此声称 `/` 仍为 `○ Static` 或量首屏 gzip。留给 Gitea 门禁。浏览器 / 真机项见 `docs/testing/ephemeris-page-20260915.md`,不得写成通过。
|
||
|
||
## 既有断言三栏
|
||
|
||
本单没有改任何既有断言的期望值。`viewport-breakpoint-contract` 只**追加**一条星历页 767 切点测试。
|
||
|
||
## 偏离
|
||
|
||
- 「带这天去提问」未新建会话,只预填 `composer-draft` 并跳 `/`(任务书让步 3)。
|
||
- 未来九十天本轮只交付 `unavailable`(让步 2)。
|
||
- 本机无 Chrome / 无登录态,浏览器项见 `docs/testing/ephemeris-page-20260915.md`,不得写成通过。
|
||
- 合入顺序 qizheng → chart-page → 本单。开工后 `origin/staging` 仅快进一篇文档到 `3e58e85f`,两份前序代码单仍未合入,**不推 staging**。
|