fix: 批量匹配跳过画像待补录教师 + render-html 按行重建 + 金标准 fixtures 业务化(P0+P1)

- run_match 新增 skip_incomplete:批量缺省跳过画像不完整教师并记录 skipped,指定单教师仍 PROFILE_INCOMPLETE;汇总页出"画像待补录"行
- render-html 补 --report-id 行上下文(inputMapping $row.$pk),CLI 容错解析回退最近 10 份
- report_service 日志改容错 _log(),修复未 setup 时单跑测试崩溃的顺序依赖
- fixtures 替换为教师画像/赛道/期望结论金标准样例,新增 sample_tracks.json
- 新增 4 个批量跳过用例(314 项,除 3 个已知 jsonschema 环境失败外全绿)
- tests/README 增补本机无共享 runtime 的测试方式;TUTORIAL/ACTIONS.md 同步表述
This commit is contained in:
chenfuqiang
2026-09-24 18:01:41 +08:00
parent 7c1f40b0e6
commit 4a8613b27e
15 changed files with 267 additions and 47 deletions

View File

@@ -777,6 +777,12 @@ HINT: <next step>
完整 JSON 形状见 [`../assets/examples/render-html.action.example.json`](../assets/examples/render-html.action.example.json)。最小页面壳见 [`../assets/html/example-report.html`](../assets/html/example-report.html)(已含数据管理 iframe 预览的布局基线;复制后可按需扩展 `{{BODY}}` 内结构)。
**本技能的行上下文写法**:`render-html` 的 `entrypoint.args` 为 `["--report-id", "{{id}}"]`,行 id 经 `bind.inputMapping: { "id": "$row.$pk" }` 注入、并在 `inputSchema.properties.id` 声明(模板参数必须声明,见上文规则)。行为约定:
- 数据管理在"推荐报告"表**选中某行**点「生成建议书」→ 只重建该报告(`report-{id}.html`)。
- 从 **HTML 右键重新生成 / skill-detail / 对话** 触发时**无行上下文**:宿主省略空的可选数字字段或占位未解析;CLI(`scripts/cli/app.py` `_handle_render_html`)对 `--report-id` 为 `""` / 非数字 / 缺值一律回退为"重建最近 10 份",不会报错。
- 因此 `--report-id` 在 argparse 上是可选值(`nargs="?"`),这是对宿主省略行为的容错,勿删。
### 宿主预览布局
数据管理在 **iframe** 内预览 `html/*.html`;宿主 iframe 已占满右侧预览区,**技能页不应再人为收窄正文**(尤其数据管理窗口通常较窄)。