# admin-web 沙箱验证报告

- site_id: `2790685415443269`
- sandbox_date: `2025-09-01`
- 生成时间: `2026-05-02T16:30:27`
- 范围: admin-web 后端 service 实现 + AI prompt 构建 + 缓存 / 任务隔离

## RuntimeContext 页 / Banner（/api/admin/runtime-context）

| 检查项 | 取值 | 结果 |
|---|---|---|
| `ctx.mode` | sandbox | PASS |
| `ctx.is_sandbox` | True | PASS |
| `ctx.sandbox_date` | 2025-09-01 | PASS |
| `ctx.business_date` | 2025-09-01 | PASS |
| `ctx.sandbox_instance_id` | sbx_ad3700e931844c4ebed20ac1 | PASS |

## AIRunLogs 抽屉（Request Prompt 内 current_time）

| 检查项 | 取值 | 结果 |
|---|---|---|
| `App3 prompt` | None | SKIP (no member with service_log) |
| `App2 prompt.当前时间` | 2025-09-01 16:30 | PASS |

## AIRunLogs 列表（按真实时间 created_at）

| 检查项 | 取值 | 结果 |
|---|---|---|
| `list_run_logs total` | 1171 | OK |
| `list_run_logs page items` | 5 | OK |
| `list_run_logs[0].created_at` | 2026-05-01T01:53:53 | OK (写入按真实时间) |

## AIOperations Card 2 缓存命名隔离

| 检查项 | 取值 | 结果 |
|---|---|---|
| `namespace_ai_target_id('12345')` | sbx_ad3700e931844c4ebed20ac1:12345 | PASS |
| `runtime_insert_columns.cols` | runtime_mode, sandbox_instance_id | PASS |
| `runtime_insert_columns.values[0]` | sandbox | PASS |
| `runtime_insert_columns.values[1]` | sbx_ad3700e931844c4ebed20ac1 | PASS |

## TaskManager 队列 / 历史 任务隔离

| 检查项 | 取值 | 结果 |
|---|---|---|
| `task_runtime_filter clause` | AND ct.runtime_mode = %s AND ct.sandbox_instance_id = %s | PASS |
| `task_runtime_filter params` | ['sandbox', 'sbx_ad3700e931844c4ebed20ac1'] | PASS |
| `biz.coach_tasks 全量 (site)` | 396 | OK |
| `biz.coach_tasks 仅 sandbox 实例` | 0 | OK |
| `task_runtime_filter 过滤后 = sandbox 实例?` | 0 | PASS |

## TriggerManager 全局触发器（不应被 sandbox 暂停）

| 检查项 | 取值 | 结果 |
|---|---|---|
| `biz.trigger_jobs 总数` | 9 | OK |
| `biz.trigger_jobs 未被 sandbox 暂停` | 9 | PASS |

## AIDashboard 指标（按真实时间）

| 检查项 | 取值 | 结果 |
|---|---|---|
| `Dashboard.range=1 today_total` | ? | OK (按真实时间，不受沙箱影响) |
| `Dashboard.app_health 数量` | 7 | OK |
| `Dashboard.budget 字段存在` | True | PASS |

## 汇总

- PASS: 15
- FAIL/ERROR: 0

**结论：PASS — admin-web 各页面后端依赖在 sandbox 下行为符合预期。**