# 沙箱端到端验证报告 - site_id: `2790685415443269` - sandbox_date: `2025-09-01` - 生成时间: `2026-05-02T12:56:36` ## 1. 视图层(C 方案) sandbox 模式下,max(各日期列) 必须 <= sandbox_date。 | 视图.列 | 取值 | 结果 | |---|---|---| | `app.v_dws_finance_area_daily.stat_date` | 2025-09-01 | PASS | | `app.v_dws_finance_daily_summary.stat_date` | 2025-09-01 | PASS | | `app.v_dws_member_visit_detail.visit_date` | 2025-09-01 | PASS | | `app.v_dws_member_consumption_summary.stat_date` | None | OK (None) | | `app.v_dws_assistant_daily_detail.stat_date` | 2025-09-01 | PASS | | `app.v_dws_assistant_monthly_summary.stat_month` | 2025-09-01 | PASS | | `app.v_dws_assistant_salary_calc.salary_month` | 2025-09-01 | PASS | | `app.v_dwd_settlement_head.create_time` | 2025-09-01 | PASS | | `app.v_dwd_assistant_service_log.create_time` | 2025-09-01 | PASS | | `app.v_dwd_recharge_order.pay_time` | 2025-09-01 | PASS | | `app.v_dws_member_winback_index.last_visit_time` | 2025-09-01 | PASS | | `app.v_dws_assistant_customer_stats.stat_date` | None | OK (None) | | `app.v_dws_member_assistant_intimacy.calc_time` | None | OK (None) | | `app.v_dws_member_newconv_index.stat_date` | 2025-09-01 | PASS | | `app.v_dws_finance_board_cache.computed_at` | None | OK (None) | | `app.v_finance_daily.stat_date` | 2025-09-01 | PASS | ### live 模式 baseline(同样 site_id,无 GUC) | 视图.列 | 取值 | 备注 | |---|---|---| | `app.v_dws_finance_area_daily.stat_date` | 2026-04-27 | live (CURRENT_DATE 行为) | | `app.v_dws_finance_daily_summary.stat_date` | 2026-04-27 | live (CURRENT_DATE 行为) | | `app.v_dws_member_visit_detail.visit_date` | 2026-04-27 | live (CURRENT_DATE 行为) | | `app.v_dws_member_consumption_summary.stat_date` | 2026-05-01 | live (CURRENT_DATE 行为) | | `app.v_dws_assistant_daily_detail.stat_date` | 2026-04-26 | live (CURRENT_DATE 行为) | | `app.v_dws_assistant_monthly_summary.stat_month` | 2026-04-01 | live (CURRENT_DATE 行为) | | `app.v_dws_assistant_salary_calc.salary_month` | 2026-04-01 | live (CURRENT_DATE 行为) | | `app.v_dwd_settlement_head.create_time` | 2026-04-28 | live (CURRENT_DATE 行为) | | `app.v_dwd_assistant_service_log.create_time` | 2026-04-26 | live (CURRENT_DATE 行为) | | `app.v_dwd_recharge_order.pay_time` | 2026-04-21 | live (CURRENT_DATE 行为) | | `app.v_dws_member_winback_index.last_visit_time` | 2026-04-27 | live (CURRENT_DATE 行为) | | `app.v_dws_assistant_customer_stats.stat_date` | 2026-05-01 | live (CURRENT_DATE 行为) | | `app.v_dws_member_assistant_intimacy.calc_time` | 2026-02-08 | live (CURRENT_DATE 行为) | | `app.v_dws_member_newconv_index.stat_date` | 2026-05-01 | live (CURRENT_DATE 行为) | | `app.v_dws_finance_board_cache.computed_at` | 2026-03-29 | live (CURRENT_DATE 行为) | | `app.v_finance_daily.stat_date` | 2026-04-27 | live (CURRENT_DATE 行为) | ## 2. 应用层(B 方案 / RuntimeContext / fdw_queries / AI prompt) | 调用 | 取值 | 结果 | |---|---|---| | `ctx.is_sandbox` | True | PASS | | `ctx.business_date` | 2025-09-01 | PASS / =bd | | `ctx.business_now` | 2025-09-01 | PASS | | `as_runtime_today_param` | 2025-09-01 | PASS | | `as_runtime_year_month_param` | 2025-09 | PASS | | `as_runtime_business_now_str` | 2025-09-01 12:56:29 | OK | | `board.month range end` | 2025-09-01 | PASS / =bd | | `board.quarter range end` | 2025-09-01 | PASS | | `board.week range end` | 2025-09-01 | PASS | | `pick member_ids` | [2854141942400709, 2799207305578245, 2848686922632133, 2848686922632133, 2799207290996485] | OK | | `fdw.get_customer_board_recent(items=10)` | 2025-09-01 | PASS | | `fdw.get_customer_board_recharge(items=10)` | 2025-09-01 | PASS | | `fdw.get_customer_board_freq60(items=0)` | None | OK (no date in items) | | `fdw.get_customer_board_recall(items=10)` | None | OK (no date in items) | | `AI prompt current_time(date)` | 2025-09-01 | PASS | ## 3. 汇总 - 总检查项: 31 - PASS / OK: 31 - FAIL / ERROR: 0 - 其他: 0 **结论:PASS — sandbox 模式下,所有关键读取路径都被截到 sandbox_date 之前。**