feat: restore source parity and harden agent runtime

This commit is contained in:
2026-06-22 11:17:26 +08:00
parent e33f08277b
commit 0793eb82d6
596 changed files with 168879 additions and 290 deletions
@@ -0,0 +1,61 @@
# Golden Test Fixtures
运行:`python -m online_dev.report_manager.engine.test_golden`
## 格式
```json
{
"name": "用例名",
"snapshot": { "sheets": { ... } },
"cells": { "cells": [ ... ] },
"datasets": { "别名": [ { ... } ] },
"params": {},
"column_list": [],
"expect": {
"sheet1": { "行,列": "期望值" }
}
}
```
## Golden 样例(23 fixtures
运行后应输出 `ok (23 fixtures)`
### JNPF DB 真实样例
从 JNPF `jnpf_db_init.sql` 提取(人员花名册 列表/分组/行列):
```bash
cd backend-fastapi
python -m online_dev.report_manager.engine.fixtures.extract_jnpf_fixtures
```
| 文件 | 场景 |
|------|------|
| `golden_jnpf_db_user_list.json` | 列表 portrait |
| `golden_jnpf_db_user_group.json` | 分组 |
| `golden_jnpf_db_user_matrix.json` | 行列 landscape |
手写对标样例仍放在 `golden_jnpf_*.json` / `golden_*.json`
`expect` 中填写本引擎 `transform()` 后应对的单元格值。
参考样例:`golden_jnpf_style.json`(参数 + 双列列表 + 占位符)。
## 阶段说明
| 阶段 | 能力 |
|------|------|
| 已完成 | transform 流水线、分栏、表达式、图表 chartData、fillEmptyRows |
| Phase 8 | 父格拓扑扩展、`polymerizationType`、JNPF golden、图表拾色器 |
| Phase 8+ | 跨行上父格、全表 `row_registry``parent_scoped` 子格数据切片 |
## JNPF 父格 Golden
| 文件 | 场景 |
|------|------|
| `golden_jnpf_parent_group.json` | 左父格 + 分组/列表 |
| `golden_jnpf_top_parent.json` | 同行上父格链(年→月→金额) |
| `golden_jnpf_cross_row.json` | 跨行上父格(同列子格优先显示) |
| `golden_jnpf_poly_summary.json` | 汇总格 |
| `golden_jnpf_export_list.json` | 字符串行列 + fillDirection |