diff --git a/docs/tasks/README.md b/docs/tasks/README.md
index 4b71823e..a28e1cc3 100644
--- a/docs/tasks/README.md
+++ b/docs/tasks/README.md
@@ -512,3 +512,4 @@
| `TASK-synastry-staging-fix-20261021.md` | `PROGRESS-synastry-staging-fix-20261021.md` | #85 婚恋合盘 staging:P0 `.gte` 已在 staging(BUG-1399)。本分支补时间线起止、英文分析逻辑、删模型后旧对话改用默认模型、选人页开关文案,以及合盘创建真库测试(BUG-1400~1403) | 待验收 | `codex/synastry-staging-fix-20261021` |
| `TASK-synastry-report-chat-fix-20261020.md` | `PROGRESS-synastry-report-chat-20261018.md` | 大运核对要认报告里的「小运」和英文 mahadasha / antardasha;预填文案只留一句 | 已验收 | `549e37b99` |
| `TASK-other-subject-birth-time-edit-20261021.md` | — | 其他人的出生时间可以修改(去掉 `chart_profiles_guard_birth` 的填报时间不可改;推翻 people-archive P1 §验收 2 该条;active 锁不变) | 排队(等 #86 合入) | `codex/other-subject-birth-time-edit-20261021`;动表;不进循环 |
+| `TASK-chart-ascendant-slash-20261021.md` | — | #87 上升状态格「不适用」改「/」+ 悬停 / 点按说明;报告上升行同改并在表下加说明(推翻 10-15 口径) | 待领取(等 #86 合入) | `codex/chart-ascendant-slash-20261021` |
diff --git a/docs/tasks/TASK-chart-ascendant-slash-20261021.md b/docs/tasks/TASK-chart-ascendant-slash-20261021.md
new file mode 100644
index 00000000..be04bb22
--- /dev/null
+++ b/docs/tasks/TASK-chart-ascendant-slash-20261021.md
@@ -0,0 +1,93 @@
+# 任务书:上升的「状态」格把「不适用」改成「/」,悬停 / 点按显示说明(2026-10-21,issue #87)
+
+## 基线
+
+- 写单时 `origin/staging` = `bd3ce0e7b`。**本单排在 #86 之后**:#86(人名切换、出生资料就地编辑、报告行星表列宽)同样改 `chart-vedic-tab.tsx` 一带与 `scripts/pl9_reader_export.py` 的行星表。开工时 #86 必须已合入 `origin/staging`,以那时的 `origin/staging` 为基线;没合入就不开工,回报「等 #86」。
+- 执行方:Grok(Windows + Docker)。分支 `codex/chart-ascendant-slash-20261021`,工作树 `.worktrees/chart-ascendant-slash-20261021`,只推这个分支。
+
+## 现状实证(按符号定位)
+
+| # | 位置 | 现在写什么 |
+| --- | --- | --- |
+| 1 | `frontend/src/components/chart-page/chart-vedic-tab.tsx` 的 `AscendantRow`(本命表、月亮盘表共用)最后一格 | `
不适用 | `;函数头注释也写「the status cell says 不适用」 |
+| 2 | 同文件 `VargaAscendantRow`,`supportsDignity` 为真时的庙旺格 | `不适用 | ` |
+| 3 | `scripts/pl9_reader_export.py`「#### p6 行星主星与状态」表的上升行(`asc_label` 下一行的 `dignity`) | 中文「不适用」,英文 `not applicable` |
+| 4 | `frontend/DESIGN.md` 星盘页本命表段(「上升没有尊贵,状态格写「不适用」(2026-10-15…)」)与分盘表那一行(「上升此格「不适用」」) | 现行口径 |
+
+页面上已有的说明气泡:`chart-page/chart-symbol-help.tsx` 的 `ChartSymbolHelp`。它给子树里带 `data-chart-help` 的元素出气泡:鼠标悬停时显示,触屏点一下显示并停留 `TOUCH_BUBBLE_MS`。现在只包住了星盘图(`VedicLayout` 的 `chart-page-vedic-stage`),表格不在里面。
+
+## 根因
+
+不是缺陷,是口径变更。上升是命盘起点,不是行星,本来就不判入旺 / 落陷。2026-10-15 为了不让「—」被当成没数据,改写成「不适用」;产品现在认为「不适用」像工程内部用语。
+
+## 决策记录(产品负责人 2026-10-21,issue #87)
+
+1. 上升的状态格(本命表、月亮盘表、分盘表的庙旺格)写「/」。说明句一字不差:「上升点是命盘的起点,不是行星,不判断入旺或落陷」。电脑悬停显示,读屏读得到同一句,手机点一下显示。
+2. 报告的「行星主星与状态」表上升行中英文都写「/」。PDF / 导出没法悬停,所以在**这张表下面**加一行说明:中文用上面那句,英文用「The ascendant is the starting point of the chart, not a planet, so it has no dignity.」。
+3. **推翻 2026-10-15 的「不适用」口径**(DESIGN.md 两处与 BUG-1201 / 1202 相关描述)。执行方按本单改,不得以「历史决定是不适用」为由拒改。
+4. 只改上升这一格。技法审计表、合盘、兑换码、会员等其他地方的「不适用」一律不动。
+
+## 硬红线
+
+- tsc 0 错;`npm run lint` 0 error;`next build` 后 `/` 仍 `○ Static`;首屏 gzip ±2%。
+- 不新写第二套气泡 / tooltip:说明一律走 `ChartSymbolHelp` + `data-chart-help`(若需要给表格区也包一层 `ChartSymbolHelp`,可以;气泡位置的计算不复制)。
+- 「/」那一格要能被测试稳定找到:给它加固定 class(例如 `chart-page-asc-status`)或断言说明句。不要让测试去匹配裸的 `/`,HTML 里到处都是 `/`。
+- 改任何既有断言写「原值 / 新值 / 原因」三栏(AGENTS §7.3)。
+- 同一提交更新 `frontend/DESIGN.md`;说明句对照 `frontend/docs/VOICE.md`。
+- 不改数据库、不改 `scripts/jyotish_api_server.py`。
+
+## 任务分解
+
+### A1 · 星盘页三处上升格
+
+- `AscendantRow`、`VargaAscendantRow` 的状态格显示「/」,带说明句(悬停气泡 + `aria-label` 或可读的隐藏文字,读屏读到的是那一句而不是「斜杠」);可聚焦或可点,触屏点一下出气泡。
+- 函数头注释改成新口径。
+- 验收:渲染测试断言本命表、月亮盘表、D9 分盘表的上升格内容是「/」、带说明句;`supportsDignity` 为假(旧缓存)时整列仍不显示。
+
+### A2 · 报告上升行与表下说明
+
+- `pl9_reader_export.py` 上升行 `dignity` 中英文都是 `/`;该表结束后紧跟一行说明(中 / 英各自的句子)。
+- 英文版不得出现汉字(英文版有汉字会被整份丢弃,见 issue #89 / BUG-1272)。
+- 验收:`tests/test_report_chart_blank_columns.py` 中「行星主星与状态」表上升行状态格断言改成 `/`(三栏),并新增断言:中英两版表下各有那一行说明。
+
+### A3 · 按源码文本或渲染结果断言的测试(AGENTS §7.8,同轮改)
+
+| 文件 | 现有断言 | 改成 |
+| --- | --- | --- |
+| `frontend/tests/chart-varga-table.test.tsx` | D1 表与基线逐字节比对时把上升行替换成 `不适用 | `;另有三处 `/>不适用` | 替换串与断言换成新的那一格(三栏,基线 fixture 文件不改) |
+| `frontend/tests/chart-moon-transit.test.tsx` | 月亮盘上升行 `/>不适用` | 新那一格 |
+| `frontend/tests/chart-page-hook.test.ts` | 旧缓存时 `doesNotMatch(/>庙旺<\|>同位<\|>不适用)`,用来证明整列隐藏 | 把 `不适用` 换成新那一格的固定 class 或说明句,**整列隐藏的保护不能丢** |
+| `tests/test_report_chart_blank_columns.py` | `lords[1][5] == "不适用"` | `"/"`,并加表下说明断言 |
+
+开工时再 `grep -rn "不适用" frontend/tests tests` 一遍,凡是断言上升这一格的都要改,别的不动。
+
+### A4 · 文档
+
+- `frontend/DESIGN.md` 两处改成「/」+ 说明句 + 2026-10-21 推翻 10-15 口径。
+- `CHANGELOG.md` 一句话。
+- 不是 Bug,不新增 BUG 编号;若开工中发现真缺陷,按 §5 从当时最大号 +1 记。
+
+## 验收命令
+
+| 检查 | Grok 自跑 | Claude 验收 |
+| --- | --- | --- |
+| `tsc --noEmit`、`npm run lint` | 必跑 | 复验 |
+| 上表 3 个前端测试文件 | 必跑 | 复验 |
+| `tests/test_report_chart_blank_columns.py` | 必跑(工作树 `.venv`) | 复验 |
+| 前端全量 `npm test`(与基线逐名比对)、`npm run build`(`/` Static、gzip)、Python 快速门 | 不跑 | 以 Claude 为准 |
+
+真机走查清单:`docs/testing/chart-ascendant-slash-20261021.md`。
+
+## 让步顺序
+
+1. A1、A2 与 A3 不可省。
+2. 如果手机「点一下出气泡」在表格里和 `ChartSymbolHelp` 的定位冲突、做不好,可以先只做悬停 + 读屏,手机点按写进进度记录留待下一轮;**不得**为此另写一套气泡。
+
+## 开工前置命令
+
+```
+git fetch origin --prune
+git log --oneline -20 origin/staging # 确认 #86 已合入
+git worktree add -b codex/chart-ascendant-slash-20261021 .worktrees/chart-ascendant-slash-20261021 origin/staging
+grep -rn "不适用" frontend/src/components/chart-page scripts/pl9_reader_export.py frontend/tests tests frontend/DESIGN.md
+```
diff --git a/docs/testing/chart-ascendant-slash-20261021.md b/docs/testing/chart-ascendant-slash-20261021.md
new file mode 100644
index 00000000..86af5999
--- /dev/null
+++ b/docs/testing/chart-ascendant-slash-20261021.md
@@ -0,0 +1,16 @@
+# 真机走查:上升状态格「/」与说明(issue #87)
+
+用 staging,登录自己的账号,选一个已有星盘的人。
+
+| # | 操作 | 应该看到 |
+| --- | --- | --- |
+| 1 | 电脑打开星盘页,本命表第一行「上升」的「状态」格 | 写「/」,不是「不适用」 |
+| 2 | 鼠标移到这个「/」上 | 弹出一句:上升点是命盘的起点,不是行星,不判断入旺或落陷 |
+| 3 | 切到月亮盘、D9 分盘 | 上升行同样是「/」,悬停有同一句 |
+| 4 | 手机打开同一页,点一下「/」 | 出现同一句,几秒后自动消失;页面不被撑宽 |
+| 5 | 其他行(太阳、月亮等)的状态格 | 照旧,如「入旺」「落陷」,没有变化 |
+| 6 | 打开一份**新生成**的个人报告,找「行星主星与状态」表 | 上升行状态写「/」;表下面有一行同样的说明 |
+| 7 | 把这份报告切到英文 / 导出 PDF | 上升行写「/」,表下是英文说明;PDF 里也能看到这行说明 |
+| 8 | 深色模式下重复 1、2 | 「/」与气泡都看得清 |
+
+旧报告要重新生成才会变;旧报告里仍是「不适用」属正常。