质量报告生成技能
目的
此技能生成最终的质量报告,记录有关章节生成和验证的所有内容。报告:
- 汇总所有验证结果(来自之前的关卡)
- 计算质量指标(内容大小、结构复杂性、准确性)
- 生成人类可读的Markdown报告以供审查
- 创建机器可读的JSON指标用于跟踪和CI/CD
- 提供部署决策(通过/失败/需要审查)
这是验证关卡之前的最终技能,产生批准或拒绝章节部署所需的证据。
需要做什么
-
收集所有验证工件
- 加载
validation_structure.json(关卡1结果) - 加载
validation_semantic.json(关卡2结果) - 加载
consolidation_log.json(合并数据) - 加载最终的
chapter_XX.html文件
- 加载
-
从章节提取元数据
- 解析HTML以提取结构
- 计算内容元素(标题、段落、列表)
- 计算字数和内容大小
- 验证CSS类使用情况
-
计算质量指标
- 整体验证分数(0-100)
- 结构合规百分比
- 语义合规百分比
- 内容完整性估计
- 准确度得分(如果有参考数据)
-
生成Markdown报告
- 创建人类可读的验证报告
- 包括摘要状态(✅ 通过 / ⚠️ 审查 / ❌ 失败)
- 记录所有验证结果
- 列出发现和建议
-
生成JSON指标
- 机器可读指标用于跟踪
- 适用于CI/CD管道
- 支持自动质量仪表板
- 支持趋势分析
-
保存两种报告格式
- 保存:
output/chapter_XX/chapter_artifacts/CHAPTER_XX_VERIFICATION.md - 保存:
output/chapter_XX/chapter_artifacts/quality_metrics.json - 为两个文件添加时间戳
- 创建摘要统计数据
- 保存:
输入文件
验证报告(来自之前的关卡):
validation_structure.json- HTML结构验证结果validation_semantic.json- 语义验证结果consolidation_log.json- 页面合并元数据
章节内容:
chapter_XX.html- 最终合并的HTMLpage_artifacts/page_YY/*.html- 单页HTML(可选,用于分析)
参考数据(可选):
page_artifacts/page_YY/02_page_XX.png- 原始PDF页面(用于视觉比较)
质量指标计算
整体验证分数(0-100)
base_score = 100
# 扣除结构问题
if structure_errors > 0:
base_score -= (structure_errors * 10)
# 扣除语义问题
if semantic_errors > 0:
base_score -= (semantic_errors * 5)
# 扣除警告
warning_count = structure_warnings + semantic_warnings
base_score -= (warning_count * 2)
# 语义类奖励
if semantic_classes_ratio > 0.8:
base_score += 5
overall_score = max(0, min(100, base_score))
内容完整性
expected_pages = last_page - first_page + 1
pages_with_content = count_pages_with_substantial_content()
completeness_percent = (pages_with_content / expected_pages) * 100
结构合规性
checks_passed = structure_validation_checks_passed
checks_total = structure_validation_checks_total
compliance_percent = (checks_passed / checks_total) * 100
语义合规性
required_classes = [
'page-container', 'page-content', 'chapter-header',
'section-heading', 'paragraph', 'bullet-list'
]
found_classes = [c for c in required_classes if c in html]
compliance_percent = (len(found_classes) / len(required_classes)) * 100
输出:Markdown报告
路径:output/chapter_XX/chapter_artifacts/CHAPTER_XX_VERIFICATION.md
示例结构:
# 第2章HTML准确性验证报告
## 摘要
**状态**:✅ **VERIFIED ACCURATE**
第2章HTML文档已经经过彻底的准确性和质量验证。所有验证关卡都成功通过。
---
## 整体质量指标
| 指标 | 值 | 目标 | 状态 |
|--------|-------|--------|--------|
| **整体质量分数** | 96/100 | ≥85 | ✅ PASS |
| **结构验证** | 100% | 100% | ✅ PASS |
| **语义验证** | 98% | ≥90% | ✅ PASS |
| **内容完整性** | 100% | 100% | ✅ PASS |
| **视觉准确性** | 94% | ≥85% | ✅ PASS |
---
## 内容摘要
### 页面
- **书籍页面**:16-29(14页)
- **PDF索引**:15-28
- **章节**:2 - 房地产权利
### 内容元素
- **总段落数**:156
- **总标题数**:28(1 h1, 4 h2, 23 h4)
- **总列表数**:12(132总项)
- **总表格/展览**:3
- **总图片数**:5
- **总字数**:12,547
---
## 验证结果
### ✅ HTML结构验证(通过)
所有结构检查通过:
- ✓ HTML5 DOCTYPE有效
- ✓ `<html>`, `<head>`, `<body>`标签正确形成
- ✓ 元字符集和视口标签存在
- ✓ 标题标签具有描述性内容
- ✓ CSS样式表链接正确
- ✓ `<div class="page-container">`包装器存在
- ✓ `<main class="page-content">`结构有效
- ✓ 所有标签正确匹配和关闭
- ✓ 没有未关闭或不正确嵌套的标签
**错误**:0
**警告**:0
### ✅ 语义验证(通过)
所有语义检查通过:
- ✓ 所需的CSS类存在且正确
- ✓ 标题层次结构有效(无跳跃,逻辑流程)
- ✓ 所有段落正确格式化
- ✓ 所有列表结构正确
- ✓ 表格正确格式化
- ✓ 语义类使用一致
- ✓ 页面保持连续格式(无分页)
**错误**:0
**警告**:0
### ✅ 视觉准确性检查(通过)
与原始PDF页面比较:
- 整体相似度:94%
- 页面平均值:94%
- 所有页面≥85%阈值
- 布局与原始匹配
- 内容定位准确
- 文本渲染正确
---
## 合并细节
**章节开头**:第16页(包含章节标题和导航)
**合并**:第16-29页合并为单个连续文档
**合并页面**:14
**移除的页面标题**:13(续页)
**重复内容**:未检测到
**合并日志**:
```json
{
"pages_merged": 14,
"pages_include": [...],
"heading_hierarchy": {
"h1": 1,
"h2": 4,
"h4": 23
},
"content_statistics": {
"paragraphs": 156,
"lists": 12,
"tables": 3,
"images": 5,
"total_words": 12547
}
}
CSS类使用
核心结构:page-container, page-content, chapter-header(6类) 内容:section-heading, subsection-heading, paragraph, bullet-list, bullet-item(12类) 展览:exhibit, exhibit-table, exhibit-title, exhibit-header(4类) 导航:section-navigation, nav-item(2类) 特殊:section-divider, page-footer(2类)
总唯一类:26 找到所需类:6/6(100%)
问题与发现
✅ 未发现关键问题
- ✓ 没有缺少部分
- ✓ 没有缺少内容
- ✓ 没有结构问题
- ✓ 没有内部链接中断
- ✓ 没有无效HTML
- ✓ 没有语义违规
⚠️ 次要注释
- 无 - 所有验证关卡通过
生成过程
提取:从PDF页面提取丰富数据(文本、字体、图像) ASCII预览:为AI参考创建结构布局 AI生成:使用3输入方法生成单页:
- 视觉参考(PDF的PNG渲染)
- 解析的文本数据(带有元数据的JSON)
- 布局结构(ASCII预览) 结构验证:验证HTML5合规性 合并:页面合并为连续章节 语义验证:验证结构和类 质量报告:最终指标和状态
准确性评估
| 标准 | 结果 | 评估 |
|---|---|---|
| 内容完整性 | 100% | 所有部分存在 |
| 页面覆盖 | 14/14 | 所有页面包括 |
| 标题准确性 | ✅ | 正确的层次结构 |
| 列表准确性 | ✅ | 所有项目存在 |
| 表格准确性 | ✅ | 正确的格式 |
| 图片引用 | ✅ | 正确的路径 |
| 语义结构 | ✅ | 适当的类 |
| 视觉保真度 | 94% | 与原始布局匹配 |
建议
✅ 批准部署
本章节已通过所有质量关卡:
- ✓ HTML结构有效
- ✓ 满足语义要求
- ✓ 内容完整且准确
- ✓ 视觉外观与原始匹配
- ✓ 准备用于生产用途
后续步骤:
- 部署到生产网站
- 监控用户反馈
- 存档验证工件
- 进行下一章节
技术细节
生成:2025-11-08T14:40:00Z 生成器:Calypso质量报告系统 报告版本:2.0 章节:2 状态:✅ 通过所有关卡
{
"report_metadata": {
"chapter": 2,
"generated_at": "2025-11-08T14:40:00Z",
"validation_status": "PASS",
"overall_score": 96,
"deployable": true
}
}
报告准备:Calypso验证管道 质量标准版本:2025-11-08 验证状态:✅ 通过
## 输出:JSON指标
**路径**:`output/chapter_XX/chapter_artifacts/quality_metrics.json`
```json
{
"chapter": 2,
"title": "房地产权利",
"book_pages": "16-29",
"pdf_indices": "15-28",
"report_generated_at": "2025-11-08T14:40:00Z",
"overall_status": "PASS",
"overall_quality_score": 96,
"deployment_approved": true,
"validation_results": {
"structure_validation": {
"status": "PASS",
"checks_passed": 10,
"checks_failed": 0,
"checks_total": 10,
"compliance_percent": 100,
"errors": [],
"warnings": []
},
"semantic_validation": {
"status": "PASS",
"checks_passed": 8,
"checks_failed": 0,
"checks_total": 8,
"compliance_percent": 100,
"errors": [],
"warnings": []
},
"visual_accuracy": {
"status": "PASS",
"overall_similarity": 0.94,
"threshold": 0.85,
"page_results": [
{
"page": 16,
"similarity": 0.96,
"status": "PASS"
},
{
"page": 17,
"similarity": 0.93,
"status": "PASS"
}
// ...所有页面
]
}
},
"content_metrics": {
"total_pages": 14,
"total_headings": 28,
"heading_breakdown": {
"h1": 1,
"h2": 4,
"h3": 0,
"h4": 23
},
"total_paragraphs": 156,
"total_lists": 12,
"total_list_items": 132,
"total_tables": 3,
"total_images": 5,
"total_words": 12547,
"estimated_reading_time_minutes": 45
},
"structure_metrics": {
"css_classes_found": 26,
"required_classes_present": 6,
"required_classes_total": 6,
"page_container_valid": true,
"page_content_valid": true,
"continuous_format": true,
"heading_hierarchy_valid": true
},
"content_completeness": {
"expected_pages": 14,
"pages_with_content": 14,
"completeness_percent": 100,
"sections_verified": [
"Chapter Header",
"Real Property Rights",
"Physical Characteristics",
"Interdependence",
"Government Rights",
"Regulations and Licensing"
]
},
"quality_assessment": {
"accuracy_level": "HIGH",
"confidence_level": "HIGH",
"ready_for_deployment": true,
"requires_manual_review": false,
"requires_fixes": false
}
}