# 阶段 7 验收记录

## 交付范围

- 市场天梯：动态连板层级、断层保留、等宽个股单元格、封板时间/开板次数排序、展开收起与 CSV 导出。
- 板块轮动：九个交易日 Top12、远近日期切换、跨日板块高亮、强度层级与指定交易日成分股。
- 涨停表现回归：沿用阶段 6 的唯一实现，本阶段只做跨页回归，不复制统计公式。
- 桌面端与 390px 移动端均使用全页滚动，内容不横向溢出。

## 数据与结构

- 天梯和板块轮动均消费阶段 6 的同一份日度市场快照，不建立页面专属快照表。
- 板块轮动由当日涨停股按行业聚合，统一计算涨停家数、最高连板、成交额、领涨股、强度与相邻交易日趋势。
- 九日轨迹读取已归档的日度快照，不在前端重复推导。
- 成分股按请求交易日读取申万二级成员关系和日线行情；停牌或缺少行情的成员保留在结果末尾，字段保持空值。
- 数据库版本 4 只增加 `sector_member_snapshots` 成分股快照缓存，避免重复外部请求；未引入通用缓存框架。
- `MarketSnapshotService` 已收敛为只调用 `DataGateway`，移除其直接依赖行情供应商的出口。

## 自动验收

- Ruff：通过。
- Pytest：50 项通过。
- Vue TypeScript 检查：通过。
- Vitest：2 个文件、5 项通过。
- Vite 生产构建：通过。
- Playwright：5 项通过，覆盖阶段 4 至 7 的完整回归。
- 夜间模式切换即时使用最终设计令牌，不保留板块热度背景的中间过渡色。
- 敏感值扫描：已提供的账号密码和令牌未进入 `next/`。
- `git diff --check`：通过。

## 视觉证据

- `ladder-light-1920x1080.jpg`：市场天梯日间桌面视图。
- `rotation-dark-1920x1080.jpg`：板块轮动夜间桌面视图。
- `rotation-dark-390x844.jpg`：板块轮动夜间移动视图。

## 减法证据

- 天梯、轮动、情绪与股池只使用一份权威日度快照。
- 涨停表现没有因阶段范围重叠而形成第二套实现。
- 成分股接口、Schema、持久化和前端请求均只有一个出口。
- 新增页面分别为 106 行和 126 行；市场页面样式总计 415 行，均低于章程门禁。
- 未复制旧系统巨型文件、兼容层、供应商客户端或页面专属数据网关。

## 剩余边界

- 阶段 8 才迁移集合竞价、题材库、人气热榜和龙虎榜。
- 当前外部数据的真实可用性仍由管理员凭据和供应商权限决定；质量门失败时不生成模拟业务数据。
- NAS 生产容器保持不变，最终切换仍需人工明确确认。
