From b975617603db5e23a68016ccbcf1a7d275147587 Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Thu, 24 Sep 2026 14:57:59 +0800 Subject: [PATCH] docs(tasks): brief for chart dasha and western tab redesign Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8 --- docs/tasks/README.md | 1 + ...K-chart-dasha-western-redesign-20260924.md | 75 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 docs/tasks/TASK-chart-dasha-western-redesign-20260924.md diff --git a/docs/tasks/README.md b/docs/tasks/README.md index cd714c9f..579f71d3 100644 --- a/docs/tasks/README.md +++ b/docs/tasks/README.md @@ -199,6 +199,7 @@ | 任务书 | 进度 | 主题 | 状态 | 落点 | | --- | --- | --- | --- | --- | +| `TASK-chart-dasha-western-redesign-20260924.md` | — | **大运 / 西洋盘改版**(原型 https://claude.ai/artifact/DYovEPMqD1xwNgna5xVTre ,产品 09-24 全部同意,相位线常显):大运「现在」卡 + 时间条 + 默认折叠(原 81/144 行平铺);西洋盘 520 三圈、行星避让 + 引线、宫号居宫中、ASC/MC 盘内、行星位置表、点选过滤相位。排在 chart-ephemeris-fixes T1 之后 | 待领取 | — | | `TASK-chart-ephemeris-fixes-20260924.md` | — | **Chara 0 年大运崩溃 + 星历切日期旧数据 + 星盘无资料空状态(BUG-1023/1024/1025)**:mapper 0/0 → `RangeError`(约 7.8% 星盘,产品定照实显示 0 年、不改引擎);BUG-966 删掉重置致日期与数据分叉(回归);无资料只有一句话,加「去填写出生资料」+ `?settings=chart` 深链(T3 排在 home-slow-network 之后)。大运 / 西洋版式重做不在本单 | 待领取 | — | | `TASK-chart-page-skeleton-wait-20260924.md` | `PROGRESS-chart-page-skeleton-wait-20260924.md` | **星盘页骨架盘等待态 + 三个「永远还没拿到」死角**:「这一张盘还没拿到。」只代表 `view === null`,是唯一等待态,失败各有句子;但客户端无超时(A)、401 跳转前(B)、分盘层失败 / 429 后 `ChartVedicTab` 只看 `!selected` 不看 pending(C)三条路都让这句永远挂着。**产品 09-24 拍板推翻 09-18 方案一(BUG-966)**:星盘页盘位用骨架盘 + 呼吸动效(复用 `VedicChartSvg` 空模型,不复制几何;`prefers-reduced-motion` 静止),范围只限星盘页会出盘轮的位置,首页 / 侧栏 / 星历 / 报告的「不放骨架」合同不动;`AGENTS.md` §6 与 `DESIGN.md` §9 / §15 追加例外。三死角出口:客户端 25s 超时 → `timedOut` 句、401 先写失败体、按层失败态 `layerFailures`(429 独立档,BUG-715/723)。BUG-1016 / 1017 | 已验收(Claude 09-24:红线全绿、+46 测试、失败名单同基线、四路由标记与 gzip 同基线;BUG-1016/1017 resolved) | `1420471a`(staging 已部署);真机清单欠 | | `TASK-smalltalk-test-stdout-mock-20260921.md` | `PROGRESS-smalltalk-test-stdout-mock-20260921.md` | **测试基础设施(BUG-995)**:`consultation-smalltalk.test.ts` 为验证「SDK 不得把私密文本写进日志」,用 `t.mock.method(process.stdout/stderr, "write", …)` 全局接管标准输出——而 `node:test` 的 TAP 报告也走 `process.stdout`,于是运行器自己的 `# Subtest:` / `ok` 行被吞进测试的 `logs` 数组。实测四次全量:`default Mastra adapter` 四条用例只上报 4 / 2 / 1 / 1 条(`Subtest` 声明本身就少,不是 grep 锚点问题),`# tests` 因此 ±3 抖;单跑该文件 33 条静态展开只报 30 条,仅循环最后一个 `provider_error` 稳定可见。**更要紧**:注入必失败探针后,`invalid_schema` / `bad_json` 只剩一行 `not ok 1 - <文件绝对路径>`,**没有用例名、没有断言消息**(退出码仍是 1,门禁不会漏掉失败,不夸大)。定位 BUG-987 时靠的就是从门禁日志 grep `not ok` 抓用例名,红在这三条上那条路会断。**决策**:mock 改为记录后**透传给原始 `write`**(保留隐私断言,不换报告通道,不改 `npm test` 脚本);F3 把「比用例名列表 diff、不比 `# tests` 总数」写进 `frontend/AGENTS.md`。全仓只此一个文件用了这个手法(已 grep 确认)| 待验收 | `2503c019` | diff --git a/docs/tasks/TASK-chart-dasha-western-redesign-20260924.md b/docs/tasks/TASK-chart-dasha-western-redesign-20260924.md new file mode 100644 index 00000000..fb336ac7 --- /dev/null +++ b/docs/tasks/TASK-chart-dasha-western-redesign-20260924.md @@ -0,0 +1,75 @@ +# TASK · 星盘页大运 Tab 与西洋盘 Tab 改版(2026-09-24) + +原型(产品 09-24 已同意全部设计,相位线**一直显示**):https://claude.ai/artifact/DYovEPMqD1xwNgna5xVTre + +## 基线 + +- `origin/staging` 当前 head(含已部署 `1420471a`)。分支 `codex/chart-dasha-western-redesign-20260924`。 +- **串行**:排在 `TASK-chart-ephemeris-fixes-20260924.md` **T1(Chara 0 年)合入之后**——两单都改 `chart-dasha-tab.tsx` / `chart-view-mapper.ts` 的大运显示;本单沿用那一单定下的「0 年照实显示、灰色、不展开」口径。与 `TASK-chart-page-skeleton-wait` 已合入的西洋骨架(`WesternWheelSvg skeleton` + `EMPTY_WESTERN_WHEEL`)必须兼容。 + +## 事故实证(按 `origin/staging`) + +**大运**:`frontend/src/components/chart-page/chart-dasha-tab.tsx` `ChartDashaTab` → 两个 `Track`(Vimshottari / Chara),每段大运 `li.chart-page-dasha-period` 下平铺**全部**子运 `