Files
Jyotisha/docs/tasks/PROGRESS-ephemeris-page-20260915.md
T
jesse-ux d3a2c48ba5
Independent Staging Quality Gate / validate (push) Failing after 7m30s
Independent Staging Quality Gate / publish (push) Skipped
feat(web): add read-only /ephemeris page
2026-09-15 16:40:56 +08:00

61 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/` 改 |
## 做了什么
任务 1BFF `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 pass401、无本命仍有五要素、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**。