8.9 KiB
8.9 KiB
产品规格覆盖矩阵
本文件记录第25节固定案例的当前直接证据。84个案例已由确定性测试或浏览器直接断言证明;
U04的结构边界已自动验证,但4K信息密度仍需人工视觉验收,因此当前不得表述为“85/85完成”。 第26节逐页状态证据见page-state-matrix.md,最终完成度见completion-audit.md。
本矩阵以《小白复盘完整产品规格说明书》第25节的85个固定案例为唯一编号源。 “自动”表示确定性单元/API测试;“浏览器”表示Playwright交互、响应式断言和阶段截图共同验收。 两者都不是仅检查页面能否打开。
账户、权限与隔离
| 编号 | 证据 | 状态 |
|---|---|---|
| A01 | test_first_account_is_admin_and_second_is_regular_user |
自动通过 |
| A02 | 同A01及stage4.spec.js普通账号流程 |
自动+浏览器通过 |
| A03 | test_membership_and_admin_are_independent_dimensions |
自动通过 |
| A04 | 同A03,管理员智能权限与会员标识分别断言 | 自动通过 |
| A05 | stage4.spec.js非会员完整锁定结构 |
浏览器通过 |
| A06 | test_watchlist_repository_isolates_accounts |
自动通过 |
| A07 | test_private_review_records_are_strictly_scoped_and_daily_notes_upsert |
自动通过 |
| A08 | test_non_admin_cannot_read_or_write_system_credentials |
自动通过 |
| A09 | test_csrf_password_change_and_other_session_revocation |
自动通过 |
| A10 | stage4.spec.js账户五项菜单与弹窗 |
浏览器通过 |
日期与数据真相
| 编号 | 证据 | 状态 |
|---|---|---|
| D01 | test_latest_daily_chart_drops_empty_premarket_bar及交易上下文样本 |
自动通过 |
| D02 | test_trade_context_keeps_real_snapshot_date |
自动通过 |
| D03 | iFinD时间戳规范化测试及stage5.spec.js摘要时间 |
自动+浏览器通过 |
| D04 | 市场快照最终态测试及stage5.spec.js |
自动+浏览器通过 |
| D05 | 请求日、实际日分离的市场上下文测试 | 自动通过 |
| D06 | test_trade_context_keeps_real_snapshot_date的沿用快照断言 |
自动通过 |
| D07 | stage4.spec.js首次无快照空态 |
浏览器通过 |
| D08 | stage4.spec.js后台刷新保持当前工作区 |
浏览器通过 |
| D09 | stage6.spec.js默认情绪周期与最新日期 |
浏览器通过 |
图表与详情
| 编号 | 证据 | 状态 |
|---|---|---|
| C01 | test_latest_daily_chart_drops_empty_premarket_bar |
自动通过 |
| C02 | stage5.spec.js历史页面日期与最新悬浮行情分离 |
浏览器通过 |
| C03 | test_minute_chart_contract_has_real_session_bounds_and_hides_source |
自动通过 |
| C04 | MarketChart.vue实体/影线分段及阶段5截图 |
浏览器通过 |
| C05 | stage5.spec.js在夜间图表请求延迟期间直接检查画布、预览和加载面背景 |
浏览器通过 |
| C06 | test_entity_detail_uses_selected_bar_previous_close_and_complete_stock_sections及stage5.spec.js完整入口 |
自动+浏览器通过 |
| C07 | stage5.spec.js非个股详情边界 |
浏览器通过 |
| C08 | 同C06直接断言所选交易日、对应前收、涨跌幅及页面摘要 | 自动+浏览器通过 |
情绪与市场页面
| 编号 | 证据 | 状态 |
|---|---|---|
| M01 | test_sentiment_has_all_weighted_components_and_extreme_risk_cap |
自动通过 |
| M02 | test_sentiment_phase_transitions_require_confirmed_recovery_and_fermentation |
自动通过 |
| M03 | 同M02的连续发酵确认断言 | 自动通过 |
| M04 | stage6.spec.js当前阶段警示文本 |
浏览器通过 |
| M05 | stage6.spec.js明细范围、整页滚动和末行可达 |
浏览器通过 |
| M06 | stage6.spec.js低行数股池固定状态栏 |
浏览器通过 |
| M07 | stage7.spec.js天梯展开、收起、滚动与等宽格 |
浏览器通过 |
| M08 | stage6.spec.js直接测量7张板高卡、结论顶部/右侧对齐和页面无溢出 |
浏览器通过 |
| M09 | test_sector_members_are_normalized_and_persistently_cached及stage7.spec.js |
自动+浏览器通过 |
竞价、题材、热榜与龙虎榜
| 编号 | 证据 | 状态 |
|---|---|---|
| X01 | test_auction_lifecycle_uses_live_snapshot_then_archives_925_result |
自动通过 |
| X02 | test_observing_without_dynamic_data_never_disguises_previous_archive |
自动通过 |
| X03 | X01的9:26选定态断言 | 自动通过 |
| X04 | test_auction_keeps_market_cores_and_isolates_real_limit_price |
自动通过 |
| X05 | 同X04的新规ST 10%涨跌幅样本 | 自动通过 |
| X06 | 同X04的市场核心超限保留断言 | 自动通过 |
| X07 | 竞价成交额单一聚合结果及stage8.spec.js摘要/柱图 |
自动+浏览器通过 |
| X08 | stage8.spec.js题材悬浮统一预览与无固定K线模块 |
浏览器通过 |
| X09 | test_popularity_preserves_single_source_without_false_consensus及阶段8空态 |
自动+浏览器通过 |
| X10 | test_dragon_list_distinguishes_missing_and_unclassified_seats |
自动通过 |
| X11 | stage8.spec.js左名录右详情、无弹窗 |
浏览器通过 |
智能选股
| 编号 | 证据 | 状态 |
|---|---|---|
| S01 | test_curated_strategies_run_independently_of_emotion_phase |
自动通过 |
| S02 | test_missing_required_factor_and_complete_no_match_are_distinct |
自动通过 |
| S03 | 同S02的数据不足分支 | 自动通过 |
| S04 | test_formula_is_deterministic_and_best_value_scores_first及幂等运行测试 |
自动通过 |
| S05 | 按策略标识持久化运行及stage9.spec.js模式切换 |
自动+浏览器通过 |
| S06 | 多策略独立运行Repository测试及策略面板切换 | 自动+浏览器通过 |
| S07 | stage9.spec.js三模式独立结果容器 |
浏览器通过 |
| S08 | stage9.spec.js未执行/无信号状态 |
浏览器通过 |
| S09 | 自定义公式确定性引擎测试;LLM仅编译受控公式 | 自动通过 |
| S10 | test_formula_weights_must_total_one_hundred_percent |
自动通过 |
| S11 | test_running_a_strategy_never_creates_tracking_rows |
自动通过 |
| S12 | stage9.spec.js手动加入及入选价 |
自动+浏览器通过 |
| S13 | test_custom_strategies_and_tracks_are_account_isolated |
自动通过 |
| S14 | test_tracking_statistics_and_milestone_events_are_persistent_and_idempotent |
自动通过 |
问师、问天与LLM
| 编号 | 证据 | 状态 |
|---|---|---|
| L01 | test_stream_accumulator_does_not_repeat_final_snapshot |
自动通过 |
| L02 | test_main_failure_before_first_delta_falls_back_and_counts_once |
自动通过 |
| L03 | test_failure_after_first_delta_keeps_partial_and_never_falls_back |
自动通过 |
| L04 | test_context_profiles_are_distinct_and_dragon_data_is_question_driven |
自动通过 |
| L05 | 阶段10、11、12三个非会员同结构锁定E2E | 浏览器通过 |
| W01 | stage11.spec.js观势初始空态 |
浏览器通过 |
| W02 | test_small_sector_with_five_of_five_quotes_passes_all_gates |
自动通过 |
| W03 | test_manual_objective_sector_value_recomputes_without_overwriting_valid_data |
自动通过 |
| W04 | test_missing_one_formal_index_fails_closed |
自动通过 |
| W05 | test_daily_fortune_is_created_once_even_before_interpretation |
自动通过 |
| W06 | heartTiming.test.ts及stage11.spec.js |
自动+浏览器通过 |
| W07 | test_each_heart_cast_appends_exactly_one_line |
自动通过 |
| W08 | test_hexagram_is_deterministic_and_contains_only_six_lines及阶段11页面断言 |
自动+浏览器通过 |
| W09 | stage11.spec.js直接计算提示、历史、静音和重新观心文字对比度均不低于4.5 |
浏览器通过 |
复盘、主题与响应式
| 编号 | 证据 | 状态 |
|---|---|---|
| R01 | stage12.spec.js交易日志保存、Toast与无异常弹窗 |
浏览器通过 |
| R02 | test_trade_summary_uses_only_realized_fields_and_keeps_zero_in_denominator |
自动通过 |
| R03 | test_private_review_records_are_strictly_scoped_and_daily_notes_upsert |
自动通过 |
| R04 | stage12.spec.js历史展开、收起与滚动 |
浏览器通过 |
| U01 | stage4.spec.js直接检查主题切换同步表面及夜间重载首帧;stage5.spec.js覆盖图表加载态 |
浏览器通过 |
| U02 | 阶段6的1920×1080整页滚动与明细可达 | 浏览器通过 |
| U03 | 阶段11观气/观心滚动与背景断言 | 浏览器通过 |
| U04 | stage13.spec.js自动验证4K最大宽度、字号、Shell和无溢出;信息密度 |
人工待验 |
| U05 | stage13.spec.js390×844、五入口、44px触控目标及长页切换滚动复位 |
浏览器通过 |
| U06 | stage13.spec.js320px 16工作区、纵向记录/局部横滚 |
浏览器通过 |
汇总
- 固定案例:84/85已完成直接验收,
U04保留最终人工视觉验收。 - 确定性、权限、隔离和失败语义均由自动测试覆盖;视觉案例保留真实浏览器断言和阶段截图。
- Docker镜像构建、NAS容器重启与正式端口切换不属于85个页面案例,但仍是切换前阻断项,见
cutover-checklist.md。