fix: align audit and payment failure contracts with real behavior

This commit is contained in:
Hermes Agent
2026-06-18 16:00:57 +08:00
parent d415d8a494
commit ede9ffedd7
7 changed files with 156 additions and 27 deletions

View File

@@ -44,10 +44,10 @@
项目当前准确定位为:
- 已完成: 人工服务运营增强系统(闲鱼 / 微信 / 学校渠道)
- 已完成: 管理后台、订单、分享、渠道同步、AI 审核、CI/CD、性能与安全加固
- 已完成: 管理后台、订单、分享、渠道同步、AI 审核基础校验、CI/CD、性能与安全加固
- 已完成/已验证:
- `Phase2 major_validation` 已接入 `AuditEngine`
- `gaokao-cli audit run --json` 已可基于专业目录做 major 校验
- `gaokao-cli audit run --json` 当前只承认两类真实检查:省份规则 + 专业目录状态
- 规则/专业目录/CLI 三层都已具备可回归验证入口
- 当前仍在推进:
- 已完成且已本地验证: `mock` / `alipay_sim` / `alipay` 三层支付代码链与 notify/return 路由退款状态闭环、portal token secret 分离、payment webhook fail-closed、删除/匿名化扩围、分享 allowlist、channel_sync DB 隔离与 DAO 真相收敛
@@ -193,7 +193,8 @@
允许对外说:
- 已具备人工服务运营后台能力
- 已具备 AI 审核、反扎堆、数据溯源、分享、渠道同步能力
- 已具备 AI 审核基础校验、数据溯源、分享、渠道同步能力
- `audit run` 当前只承认省份规则 + 专业目录状态校验,不应对外表述为“已包含反扎堆/综合评分闭环”
- 已完成 v2.1 当前计划闭环
不应对外说:

View File

@@ -97,13 +97,13 @@
### 2.2 v2.1新增技术栈
```
├── AI审核服务
│ ├── 方案解析: PDF (pdfplumber) / 文本 / 截图(OCR待定)
│ ├── 政策检查: 调用 gaokao-spec-checker
│ ├── 扎堆检测: 大厂AI推荐数据库(本地JSON)
│ └── 报告生成: weasyprint (PDF)
├── AI审核服务(当前已落地部分)
│ ├── 方案输入: JSON plan
│ ├── 政策检查: 省份规则上限 / 结构约束
│ ├── 专业目录检查: majors catalog active / deprecated / missing
│ └── 报告输出: JSON payload非综合评分
├── 反扎堆检测
├── 反扎堆检测Target / 未接入当前 audit run
│ ├── 推荐库: JSON文件 (data/crowd_db/)
│ ├── 比对算法: Python fuzzy match
│ └── 风险评估: 规则引擎
@@ -180,22 +180,21 @@ report_generator.py 输出PDF
#### 关键接口
```python
# 审核服务接口
def audit_plan(plan_content: str, plan_format: str) -> AuditResult:
# 当前 audit run 接口(已落地)
def audit_plan(province: str, plan: dict[str, Any]) -> dict[str, object]:
"""
审核大厂AI生成的志愿方案
当前只执行两类真实检查:
Args:
plan_content: 方案内容PDF文本/原始文字)
plan_format: 'pdf_text' | 'text' | 'screenshot_ocr'
1. 省份规则:例如 max_volunteers
2. 专业目录状态missing / deprecated / non-active
Returns:
AuditResult: {
'policy_errors': [...], # 政策错误
'crowd_risks': [...], # 扎堆风险
'data_issues': [...], # 数据问题
'suggestions': [...], # 修正建议
'overall_score': int, # 综合评分 0-100
返回:
{
'province': str,
'overall_pass': bool,
'issues': list[dict],
'checks_executed': ['province_rules', 'majors_catalog'],
'checks_not_executed': ['crowd_risk', 'overall_score'],
}
"""
```