fix(lint): 修复 PR #14 引入的 lint 回退 (119→0)
PR #14 从旧分支复制文件导致回退了 PR #10 的 lint 修复。 修复内容: - autoflake 移除未使用导入/变量 - autopep8 修复缩进/空格 - 手动修复 F821(pathlib→Path), F541(f-string), F841(未使用变量) - 所有修复均通过 flake8 --max-line-length=120 --extend-ignore=E501 检查 (0 errors)
This commit is contained in:
+15
-11
@@ -8,15 +8,12 @@ from __future__ import annotations
|
||||
|
||||
import json
|
||||
import logging
|
||||
import re
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
from pathlib import Path
|
||||
from typing import Any, Callable, Dict, List, Optional, Tuple
|
||||
from typing import Any, Callable, Dict, List, Optional
|
||||
|
||||
from src.blackboard.models import Task
|
||||
from src.blackboard.operations import Blackboard
|
||||
from src.blackboard.queries import Queries
|
||||
|
||||
logger = logging.getLogger("moziplus-v2.review")
|
||||
|
||||
@@ -151,12 +148,14 @@ class ReviewPipeline:
|
||||
) -> ReviewResult:
|
||||
"""Step 2: 格式合规"""
|
||||
if not outputs:
|
||||
return ReviewResult("format", ReviewVerdict.FAIL, 0.0, "No outputs")
|
||||
return ReviewResult(
|
||||
"format", ReviewVerdict.FAIL, 0.0, "No outputs")
|
||||
|
||||
issues = []
|
||||
for out in outputs:
|
||||
# output.md 必须存在且非空
|
||||
if out.get("type") == "markdown" or out.get("path", "").endswith(".md"):
|
||||
if out.get("type") == "markdown" or out.get(
|
||||
"path", "").endswith(".md"):
|
||||
content = out.get("content", "")
|
||||
if not content and out.get("path"):
|
||||
try:
|
||||
@@ -167,7 +166,8 @@ class ReviewPipeline:
|
||||
issues.append(f"Output too short: {out.get('path', '?')}")
|
||||
|
||||
# 结论 JSON 必须有效
|
||||
if out.get("type") == "json" or out.get("path", "").endswith(".json"):
|
||||
if out.get("type") == "json" or out.get(
|
||||
"path", "").endswith(".json"):
|
||||
content = out.get("content", "")
|
||||
if not content and out.get("path"):
|
||||
try:
|
||||
@@ -177,7 +177,8 @@ class ReviewPipeline:
|
||||
try:
|
||||
data = json.loads(content)
|
||||
if not isinstance(data, dict):
|
||||
issues.append(f"JSON not a dict: {out.get('path', '?')}")
|
||||
issues.append(
|
||||
f"JSON not a dict: {out.get('path', '?')}")
|
||||
except (json.JSONDecodeError, TypeError):
|
||||
issues.append(f"Invalid JSON: {out.get('path', '?')}")
|
||||
|
||||
@@ -194,7 +195,8 @@ class ReviewPipeline:
|
||||
) -> ReviewResult:
|
||||
"""Step 3: 内容质量(自定义检查)"""
|
||||
if not outputs:
|
||||
return ReviewResult("quality", ReviewVerdict.FAIL, 0.0, "No outputs")
|
||||
return ReviewResult(
|
||||
"quality", ReviewVerdict.FAIL, 0.0, "No outputs")
|
||||
|
||||
suggestions = []
|
||||
total_score = 0.0
|
||||
@@ -215,7 +217,8 @@ class ReviewPipeline:
|
||||
avg = 1.0 # 无自定义检查默认通过
|
||||
|
||||
verdict = ReviewVerdict.PASS if avg >= 0.6 else ReviewVerdict.FAIL
|
||||
return ReviewResult("quality", verdict, round(avg, 2), suggestions=suggestions)
|
||||
return ReviewResult("quality", verdict, round(
|
||||
avg, 2), suggestions=suggestions)
|
||||
|
||||
def _determine_gate(
|
||||
self, task: Task, results: List[ReviewResult]
|
||||
@@ -329,6 +332,7 @@ class RebuttalManager:
|
||||
return 0
|
||||
try:
|
||||
observations = self.bb.get_observations(task_id=task_id)
|
||||
return sum(1 for o in observations if "Rebuttal round" in (o.body or ""))
|
||||
return sum(
|
||||
1 for o in observations if "Rebuttal round" in (o.body or ""))
|
||||
except Exception:
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user