문서 고도화 다음 단계를 반영해 XLSX·HTML·PPT 품질 게이트를 강화했습니다
핵심 수정사항: - ExcelSkill summary_sheet에 trend_series를 추가해 Trend Dashboard 블록을 렌더링하고, workbook quality review가 dashboard형 summary 구성을 더 정확히 평가하도록 확장했습니다. - HtmlSkill은 print=true인데 print_header/print_footer가 없는 경우 기본 print frame을 자동 생성하도록 보강했고, ArtifactQualityReviewService는 print-ready 문서의 frame/decision/evidence/cover 부족을 추가 경고로 반환합니다. - DeckPlanningService는 comparison, roadmap, executive_summary, kpi_dashboard 슬라이드의 최소 구조를 자동 보정하고, DeckQualityReviewService는 slide-level quality gate를 추가해 긴 headline, 과밀 슬라이드, 옵션 부족, 표/차트 데이터 누락을 Slide N 경고로 요약합니다. - DeckQualityReviewServiceTests, ExcelSkillDashboardSummaryTests, HtmlSkillPrintFrameTests를 확장해 회귀 검증을 강화했습니다. 검증 결과: - dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next3\\ -p:IntermediateOutputPath=obj\\verify_doc_next3\\ : 경고 0 / 오류 0 - dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DeckQualityReviewServiceTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests|ExcelSkillDashboardSummaryTests|ExcelSkillSummarySheetTests|HtmlSkillPrintFrameTests|HtmlSkillConsultingSectionsTests|ArtifactQualityReviewServiceTests" -p:OutputPath=bin\\verify_doc_next3_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next3_tests\\ : 통과 13
This commit is contained in:
@@ -29,6 +29,9 @@ public sealed record ArtifactQualityReport(
|
||||
var parts = new List<string> { $"Quality score {Score}/100" };
|
||||
if (strengths.Count > 0)
|
||||
parts.Add("Strengths: " + string.Join(", ", strengths));
|
||||
var slideAlertCount = Issues.Count(issue => issue.Message.StartsWith("Slide ", StringComparison.OrdinalIgnoreCase));
|
||||
if (slideAlertCount > 0)
|
||||
parts.Add($"Slide alerts: {slideAlertCount}");
|
||||
if (issues.Count > 0)
|
||||
parts.Add("Needs work: " + string.Join(", ", issues));
|
||||
else
|
||||
@@ -148,6 +151,12 @@ public static class ArtifactQualityReviewService
|
||||
issues.Add(new($"Found {placeholderCount} placeholder or unfinished marker(s).", ArtifactReviewSeverity.Critical));
|
||||
if (!ContainsAny(html, ExecutiveKeywords))
|
||||
issues.Add(new("Executive summary or summary section is missing.", ArtifactReviewSeverity.Warning));
|
||||
if (printReady && !hasPrintFrame)
|
||||
issues.Add(new("Print-ready export is missing a print header/footer frame.", ArtifactReviewSeverity.Info));
|
||||
if (printReady && sectionCount >= 4 && decisionCount + evidenceCardCount == 0)
|
||||
issues.Add(new("Print-ready business report would benefit from decision summary or evidence cards.", ArtifactReviewSeverity.Warning));
|
||||
if (printReady && !hasCover && sectionCount >= 5)
|
||||
issues.Add(new("Print-ready report could benefit from a cover page.", ArtifactReviewSeverity.Info));
|
||||
|
||||
return BuildReport("html", strengths, issues);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user