Files
xiaobaifupan/next/docs/final/completion-audit.md
T

94 lines
8.1 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.
# 重建版完成度审计
更新日期:2026-07-30
## 结论
重建版已经建立可维护的模块化单体骨架,并完成了账户、权限隔离、共享行情归档、主要市场工作区、
问师、问天、复盘、确定性选股、迁移和备份等核心路径。但它尚未达到《小白复盘-完整产品规格说明书》
定义的“功能完整迁移”,此前 `spec-coverage.md` 中“85/85”结论作废。
本文件只记录可由代码、确定性测试或真实浏览器断言证明的事实。页面可打开、组件名称存在、截图看似正常,
均不能替代产品行为验收。
## 已确认完成的基础
- 新旧运行时完全分离,新版不导入旧版 `server.py``database.py``app.js` 或旧样式覆盖层。
- 账户、会话、管理员与会员双维度权限、私有数据隔离、系统凭据加密和模型密钥不回显已有服务端测试。
- 行情供应商通过唯一 `DataGateway` 和来源策略进入业务层;公开展示源不能进入正式计算。
- 情绪、竞价、观势、观气、观心、选股和复盘的核心确定性计算已有固定样本测试。
- 16 个主工作区、策略跟踪内部页、账户弹窗和系统管理外壳均已建立。
- 数据库迁移、旧库只读迁移、备份、校验恢复、生产静态文件服务和安全响应头已有自动测试。
- PC 统一 Shell、设计令牌、日夜主题和独立移动端布局规则已经建立。
## 阻断“完整迁移”的最终人工验收
1. `U04` 已增加4K内容最大宽度、基础字号、Shell高度和无横向溢出断言,仍需最终人工视觉验收信息密度。
2. 第26节逐页状态证据已登记在`page-state-matrix.md`;4K人工视觉单元格在正式切换前保持未关闭。
## 本地迁移预检
本轮按用户确认仅执行本地预检,未连接NAS或Docker。新版使用`127.0.0.1:8877`,旧版`8765`
未被占用或替换。完整证据见`../evidence/local-preflight-2026-07-30.md`
- 旧库只读迁移到独立新版数据库后,SQLite完整性、外键、迁移版本和未映射类型均通过校验。
- 管理员会员、会员非管理员、普通用户三个真实账户已验证双维权限;普通用户智能工具保持完整结构并锁定。
- 情绪、四类股池、天梯、轮动、竞价、题材、热榜、龙虎榜归档、智能选股、问师、问天、复盘和系统管理均读取到迁移后的真实数据。
- 1920×1080、3840×2160和390×844均无页面级横向溢出;移动端侧栏、底部导航、表格卡片化和44px触控目标已直接验证。
- 移动端长页切换工作区统一回到新页顶部,浏览器前进/后退恢复历史滚动位置;该行为已加入端到端回归。
- 服务进程停止并重新启动后,会话、默认数据日期、20行情绪明细、6只自选和系统配置均保持一致。
- 真实v7迁移库已通过SQLite在线备份生成包含数据库、环境和私有Skill的归档,并恢复到全新目录;源库与恢复库关键表计数一致,恢复实例在独立端口启动和重启后仍可读取真实管理员会话及6只私有自选。
## 已在本轮纠正
- 阶段选股不再在当前阶段无结果时错误回退到第一条运行结果。
- 未执行盘后任务时,阶段流程不再预先显示完成态。
- 首次无快照、后台刷新不重绘、刷新后读取最新真实日期已有直接 E2E。
- 上涨K线空心实体和上下影线不穿体已有几何断言。
- 情绪退潮警示无选股建议、60日末行可达、低行数股池状态栏固定已有直接 E2E。
- 阶段、精选、自定义三类结果切换和策略来源隔离已有直接 E2E。
- 旧库选股归档迁移会将内置策略映射到当前36套目录的稳定ID,统一共享归属并按日期、策略和版本去重;关联跟踪记录重映射到保留运行,未知自建策略仍保持账号私有。
- 旧“多因子综合打分(IC动态加权)”迁移后统一显示为“动态多因子(基础版)”,不继承过度宣称。
- 股票、板块、题材和指数共用唯一实体详情接口;详情涨跌幅按所选真实交易日及对应前收计算。
- 个股详情已包含交易指标、资金流、事件逻辑、自选操作、观势入口和私有个股笔记;题材详情展示成分股。
- 股池、天梯、轮动、题材、人气榜、龙虎榜、智能选股、自选、交易日志、策略跟踪和提醒中的股票代码
共用唯一日K/分时悬浮与详情入口;无悬停设备直接进入详情。
- 系统管理已提供最多15个交易日的历史回补入口;任务结果和失败原因进入统一任务审计。
- 盘中行情刷新、动态竞价、盘后正式刷新、事件补充和盘后选股共用唯一调度器与任务表;同类任务互斥,
成功与失败按任务类型统一冷却,外部接口故障不会每5秒重复写失败记录。
- 盘中正式计算仅使用Tushare全市场实时行情和官方涨跌停价格;覆盖率不达门槛时拒绝写入并保留最后成功快照。
- 涨停、炸板、跌停原因可由iFinD盘后补充,管理员修订具有更高优先级,全部修订历史永久保留。
- 阶段选股四步和候选区已直接表达未执行、执行中、失败、已完成;策略库不再把未执行或失败误写为暂无信号。
- 状态栏读取真实后台任务与最后成功行情状态,不再显示固定占位文字。
- 模型池中的每个模型可由管理员独立测试;测试复用统一LLM网关并记录模型、耗时、成功或失败,
不返回密钥和上游正文,也不计入会员每日额度。
- 自然语言选股只允许由统一LLM网关生成白名单JSON公式;未知因子直接拒绝,LLM不参与股票候选计算,
用户必须核对生成的因子、权重和过滤条件后再保存。
- 自定义选股滚动回测只读取已归档因子快照,以入选日至第3个后续交易日收盘计算;少于20个有效样本
只提示小样本,达到门槛后才显示胜率和平均3日收益,结果按运行持久化且重复读取不漂移。
- 精选策略详情直接展示配置中已有的质量、风险、执行频率、适用环境、失效风险、适用阶段和完整评分权重,
没有补造无法验证的策略元信息。
- 图表夜间加载首帧、主题同步切换、7板布局和观心夜间关键文字对比度均已有浏览器直接断言,不再只依赖截图。
- 16个主工作区、策略跟踪、提醒、复盘助手、账户/会员及系统管理已逐项区分加载、真实空和失败;统一API客户端不会向页面泄露上游错误正文。
- 后台任务不再把`AppError`内部元组直接展示到系统管理;历史记录读取时兼容清理,新增失败按用户可读说明入库。
- 发布候选`310dbba`本轮复核为Ruff、112项pytest、Vue类型检查、7项Vitest、生产构建和
26项Playwright全部通过。
## 本轮范围外项目
- 本机不存在Docker CLI或Docker Desktop,且按用户确认不连接NAS;镜像构建、容器启动和生产数据卷验证仍待正式切换阶段执行。非容器的真实数据库备份、独立恢复和进程重启已完成,不能替代容器证据。
- NAS 生产容器尚未切换;容器级持久化重启、健康检查和回退必须在Docker/NAS中另行验证。
- 旧运行时在正式切换前继续保留。切换 NAS 和清理旧实现必须取得用户最终明确确认。
- 旧实现的逐路径清理、数据归档和清理后验收已固化在 `legacy-cleanup-plan.md`
一次性旧库迁移器也将在回退保留期结束后删除,不进入长期维护面。
## 完成规则
只有以下条件全部满足后,才可恢复“重建完成”的表述:
1. 本文件登记的用户可见功能缺口全部完成并有直接测试。
2. 85 个固定案例逐项标记为“确定性测试”“浏览器直接断言”或“人工视觉验收”;不得使用宽泛截图代替算法证明。
3. `page-state-matrix.md`中的人工验收项由用户确认。
4. Docker 构建、启动、持久化重启、备份恢复和回退在实际容器环境通过。
5. NAS 切换后执行最终冒烟,旧实现只按确认后的清理方案处理。