外观
验收报告 · 2026-11-03
本报告只描述本次交付包,不是历史HanLink的运行报告。源码实现、模拟能力、真实基础设施验证和未验证的外部环境分别记录。
总体交付
- 58篇VitePress文档:四周路线、事实边界、覆盖矩阵、14篇核心原理、12组概念对比、架构/源码/API/实验/排障、面试与部署说明。
- 24道主问题,每题两层追问与一处分支,共96组直接答案与STAR;三套45/60/75分钟模拟,以及自我介绍和2/5/深入项目讲稿。
- 独立Docker教材系统:操作工作台、API、后台worker、LangGraph、PostgreSQL/pgvector、FFmpeg、真实服务适配器、迁移、seed、配置与锁文件。
- VitePress构建产物、固定评测原始结果、自动化测试与完整交付ZIP样例。
系统验证
自动化测试:38项通过。原始记录在evidence/pytest.log与evidence/pytest.xml。测试会创建独立随机数据库;没有清空用户业务库。
| 验收项 | 实际执行与结果 | 证据类型 |
|---|---|---|
| 初始化/迁移/pgvector | 在新建隔离数据库执行SQL、扩展和PostgresSaver初始化;可重复迁移 | 原生真实数据库;非Docker启动 |
| 完整生成→评审→修订→人工→交付 | v1错误答案、v2仅修答案、人工通过、6个素材任务、ZIP成功 | 真实流程;模型/素材内容为demo |
| JSON错误与业务错误 | 格式错误触发Schema修复;合法结构的答案错误进入评审报告 | 模拟故障+真实校验代码 |
| 空检索/地区过滤/冲突/更新 | 严格范围不跨区兜底;冲突转人工;旧资料可追踪 | 真实pgvector,demo哈希向量 |
| 追加检索来源 | 工具追加来源合并进教材快照,并记录工具结果 | 集成测试 |
| 上下文与工具权限 | 评审不继承生成对话;越权素材请求被服务端拒绝 | 权限执行测试;非真实攻击抵抗率 |
| 修订上限与人工操作 | 达到上限转人工;编辑、退回、终止、恢复及旧决定拒绝 | 真实LangGraph interrupt/Command |
| 跨章节一致性 | 对规则facts及同book已批准版本的角色事实进行冲突检查 | 结构化事实检查;非任意文本语义检测 |
| 进程中断恢复 | 子进程在生成后被SIGKILL;租约过期后新进程从checkpoint恢复,不重复生成版本 | 实际杀进程与重启执行 |
| 租约与旧worker | 新lease_token领取后旧token无法提交状态 | 数据库条件更新测试 |
| 素材超时与结果不明 | 可安全重试的demo超时有限重试;真实HTTP超时契约进入unknown | 故障注入/MockTransport,不是线上服务故障 |
| 去重与回执恢复 | 重复计划保持同一任务集合;本地receipt可重建assets登记 | 实际文件与数据库 |
| 内容变化与旧结果 | 改c1时c2素材复用;旧任务运行中更新教材后不能提交新版本状态 | 含并发在途结果场景 |
| 编辑事务 | 注入入队失败时,内容版本与epoch一起回滚 | 事务故障测试 |
| 交付完整性 | 核对批准、版本、任务集合、sha256与媒体有效性;损坏文件阻止交付 | 真实文件检查与FFprobe |
| 模式隔离 | worker不处理与当前模式不一致的任务;真实模式无密钥不回退 | 模式及适配器测试 |
| LLM/Embedding/图片/TTS适配 | 检查请求参数、工具往返、错误分类、用量缺失和计划预算 | HTTP契约测试,未连接供应商 |
完整演示证据在evidence/smoke-run.json、evidence/smoke.log和evidence/demo-delivery.zip。ZIP里的图片为占位图、音频为静音;视频编码、音轨和字幕轨由本地FFmpeg真实生成。
网站与文档验证
| 项目 | 状态与边界 |
|---|---|
| VitePress构建 | 实际运行构建,产物位于docs/.vitepress/dist;日志见evidence/vitepress-build.log |
| 页面/导航/内部链接 | 扫描全部生成HTML的本地href/src及锚点,结果见site-links.json |
| 本地搜索 | 读取构建后的MiniSearch索引,对LangGraph、pgvector、局部修订、结果不明、MQTT、Cloudflare、Reranker共7组查询验证目标命中 |
| Mermaid | 7幅图通过语法解析;用DOM shim辅助解析,不是浏览器视觉检查 |
| 核心最小示例 | 13个Python示例实际执行通过;见core-examples.json |
| 对比最小示例 | 11个独立Python示例执行记录位于docs/comparisons/snippet-check.json |
| 工作台静态检查 | JavaScript语法和元素引用通过;主要操作路径通过API测试验证 |
| 浏览器点击/移动视觉 | 未验证:受支持预览服务返回preview relay unavailable,未用其他路径冒充浏览器验收 |
| Cloudflare配置 | 已提供构建命令、目录、Wrangler配置与首次/更新步骤;未实际部署 |
源码和文档采用相同文件路径、Schema、API和实验入口。Docker命令已根据交付配置核对,但没有把它们标记为本环境实际执行过。
固定评测
已运行6查询×3检索策略、3生成样本×2修订预算、5评审样本×2组合。记录命中、问题数、调用次数、耗时与成本口径,见评测说明及evidence/evaluation.json。
样本很小且含主动注入错误;demo哈希Embedding与模板模型不能用于宣称真实模型效果。真实费用缺失标为null,不假装0。没有产生历史业务的性能提升或成本下降数据。
环境与未完成验证
实际原生验证环境:Python3.12.14、PostgreSQL16.2、pgvector0.8.1、Node24.22.1、FFmpeg7.1.5;完整包版本在evidence/environment.json。容器基线为Python3.12.14、PostgreSQL16系列与Debian FFmpeg包,目标环境仍需实测。
- Docker镜像构建、Compose干净启动与amd64/arm64验证未执行:当前环境没有Docker。Compose YAML结构检查不等于Compose运行验收。
- 真实LLM、Embedding、图片和TTS线上调用未执行:缺少有效凭据。代码与验证步骤已交付,不能据此保证账号、模型或费用。
- Cloudflare Pages线上部署未执行:未连接用户账号;没有虚构pages.dev地址。
- 浏览器视觉与移动端操作未执行:预览基础设施不可用,静态检查与索引测试不能替代这部分。
这些未验证项应在目标环境按启动指南、真实模式和Cloudflare部署逐项补齐,再作为相应能力的验收证据。其他已知范围见限制说明。