From a6097ac796faa2aa82151670fb60ed726b5d3494 Mon Sep 17 00:00:00 2001 From: alextaghiashvili Date: Thu, 13 Aug 2026 05:03:10 +0400 Subject: [PATCH 1/2] Improve report wording for failed formatting checks - Translate Chinese headers to English for broader accessibility - Add explanatory subheader guiding users to penalties and diagnostics - Clarify section titles: 'What Failed', 'What to Fix Next', 'Feature Details' - Scoring semantics unchanged Closes #5 Signed-off-by: alextaghiashvili --- paper_format_agent/scorer.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/paper_format_agent/scorer.py b/paper_format_agent/scorer.py index d0242b3..a8c57cd 100644 --- a/paper_format_agent/scorer.py +++ b/paper_format_agent/scorer.py @@ -564,17 +564,17 @@ def save_reports(report: dict[str, Any], out_json: str | Path, out_html: str | P ".score-box{display:inline-block;padding:15px 30px;background:#667eea;color:white;border-radius:8px;font-size:24px;font-weight:bold}" "" "
" - "

๐ŸŽ“ ่ฎบๆ–‡ๆ ผๅผ่ดจ้‡่ฏ„ๅˆ†ๆŠฅๅ‘Š

" + "

๐Ÿ“„ Format Quality Score Report

Review the penalties and diagnostics below to understand what failed and what to fix next.

" + comparison_html + - f"

ๆœ€็ปˆๅพ—ๅˆ†๏ผš{score_display} / 100

" - f"

ๅŽŸๅง‹่ดจ้‡ๅˆ†๏ผš{report.get('raw_quality_score', report['score'])}

" - "

โš ๏ธ ๆ‰ฃๅˆ†้กน

" + f"

Final Score: {score_display} / 100

" + f"

Raw Quality Score: {report.get('raw_quality_score', report['score'])}

" + "

โš ๏ธ Penalties โ€” What Failed

้กนๆ‰ฃๅˆ†
" + "".join(rows) + "
CheckPoints Deducted
" - + "

Actionable diagnostics

" + + "

๐Ÿ”ง Diagnostics โ€” What to Fix Next

SeverityCheckProblemSuggested fix
" + "".join(diag_rows) + "
SeverityCheckProblemSuggested Fix
" - + "

๐Ÿ“‹ ็‰นๅพ่ฏฆๆƒ…

" + + "

๐Ÿ“‹ Feature Details

้กนๅ€ผ
" + "".join(feat_rows) + "
FeatureValue
" ) From a517255ca716cceee4abef8fa657ce94cc7c1e6b Mon Sep 17 00:00:00 2001 From: alextaghiashvili Date: Thu, 13 Aug 2026 05:04:53 +0400 Subject: [PATCH 2/2] Add synthetic regression cases with expected outputs and validation commands (closes #3) Signed-off-by: alextaghiashvili --- docs/regression_manifest.sample.json | 39 +++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/docs/regression_manifest.sample.json b/docs/regression_manifest.sample.json index 7eea5b8..4864be9 100644 --- a/docs/regression_manifest.sample.json +++ b/docs/regression_manifest.sample.json @@ -10,6 +10,43 @@ "require_engine_success": true, "min_score_after": 90, "min_score_improvement": 3 + }, + { + "name": "minimal_paper_case", + "format_file": "examples/fixtures/synthetic_format_guide.docx", + "paper_file": "examples/fixtures/synthetic_paper.docx", + "engine": "python", + "strict_required_sections": false, + "require_content_unchanged": true, + "require_engine_success": true, + "min_score_after": 50, + "min_score_improvement": 1, + "validation_command": "python -m paper_format_agent.cli --format examples/fixtures/synthetic_format_guide.docx --paper examples/fixtures/synthetic_paper.docx --output /tmp/test_output" + }, + { + "name": "strict_sections_case", + "format_file": "examples/fixtures/synthetic_format_guide.docx", + "paper_file": "examples/fixtures/synthetic_paper.docx", + "engine": "python", + "strict_required_sections": true, + "require_content_unchanged": true, + "require_engine_success": true, + "min_score_after": 80, + "min_score_improvement": 2, + "validation_command": "python -m paper_format_agent.cli --format examples/fixtures/synthetic_format_guide.docx --paper examples/fixtures/synthetic_paper.docx --strict-sections --output /tmp/test_output" + }, + { + "name": "no_engine_case", + "format_file": "examples/fixtures/synthetic_format_guide.docx", + "paper_file": "examples/fixtures/synthetic_paper.docx", + "engine": "none", + "strict_required_sections": false, + "require_content_unchanged": true, + "require_engine_success": false, + "min_score_after": 40, + "min_score_improvement": 0, + "validation_command": "python -m paper_format_agent.cli --format examples/fixtures/synthetic_format_guide.docx --paper examples/fixtures/synthetic_paper.docx --no-engine --output /tmp/test_output", + "expected_output": "format_report.json with score >= 40 and no engine_report.json" } ] -} +} \ No newline at end of file