PPT 템플릿 품질 게이트와 manifest 추천 흐름을 고도화한다

- PptxSkill에 template master clone 진단 코드와 Template diagnostics 출력 라인을 추가해 color fallback 원인을 asset missing / clone failure로 구분한다.

- PptQualityGatePolicy와 templates.manifest.json, PptxTemplateManifestCatalog를 확장해 manifest 메타데이터 기반 추천과 원인별 재루프 프롬프트를 연결한다.

- PptQualityGatePolicyTests, PptxTemplateManifestCatalogTests, PptxSkillTemplatePackTests, PptxSkillTemplateDiagnosticsTests를 보강하고 README.md 및 docs/DEVELOPMENT.md 이력을 2026-04-16 00:15 (KST) 기준으로 갱신한다.

검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_ppt_manifest_quality\\ -p:IntermediateOutputPath=obj\\verify_ppt_manifest_quality\\ / dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter PptQualityGatePolicyTests -p:OutputPath=bin\\verify_ppt_manifest_quality_tests\\ -p:IntermediateOutputPath=obj\\verify_ppt_manifest_quality_tests\\ 포함 15건 통과
This commit is contained in:
2026-04-16 00:16:36 +09:00
parent 13061fa3ca
commit db4ccd5df4
10 changed files with 781 additions and 102 deletions

View File

@@ -15,6 +15,18 @@
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_chat_width_wrap\\ -p:IntermediateOutputPath=obj\\verify_chat_width_wrap\\` 경고 0 / 오류 0
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatStreamingUiPolicyTests|ChatWindowSlashPolicyTests" -p:OutputPath=bin\\verify_chat_width_wrap_tests\\ -p:IntermediateOutputPath=obj\\verify_chat_width_wrap_tests\\` 통과 74
업데이트: 2026-04-16 00:15 (KST)
- PPT 템플릿 품질 게이트와 manifest 기반 추천 흐름을 함께 보강했습니다. `src/AxCopilot/Services/Agent/PptQualityGatePolicy.cs`는 이제 `PPT quality` 점수뿐 아니라 `asset missing`, `master clone failed`, `color fallback`을 각각 구분해서 재루프 여부를 판단하고, 원인에 맞는 재생성 프롬프트를 만들도록 확장했습니다.
- `src/AxCopilot/Services/Agent/PptxSkill.cs`는 템플릿 마스터 복제 실패를 `openxml_package_error`, `missing_slide_master`, `missing_slide_layout` 같은 진단 코드로 남기고, 결과 문자열에 `Template diagnostics:` 라인을 추가합니다. 이로써 이전처럼 모든 실패가 단순 `color fallback`으로만 보이지 않고, 실제 실패 원인을 로그와 품질 게이트가 함께 사용합니다.
- `src/AxCopilot/Services/Agent/PptxTemplateManifestCatalog.cs``src/AxCopilot/Assets/ppt/templates.manifest.json``tone`, `density`, `fidelityTier`, `objectiveKeywords`, `audienceKeywords`, `supportsMasterClone` 메타데이터를 갖는 구조로 확장했습니다. 이제 템플릿 팩 선택 시 단순 고정 `PreferredTemplate`만 보는 대신 manifest 점수화로 추천 템플릿을 고르고, 결과에도 `Template recommendation:`을 남깁니다.
- 테스트:
- `src/AxCopilot.Tests/Services/PptQualityGatePolicyTests.cs`
- `src/AxCopilot.Tests/Services/PptxTemplateManifestCatalogTests.cs`
- `src/AxCopilot.Tests/Services/PptxSkillTemplatePackTests.cs`
- `src/AxCopilot.Tests/Services/PptxSkillTemplateDiagnosticsTests.cs`
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_ppt_manifest_quality\\ -p:IntermediateOutputPath=obj\\verify_ppt_manifest_quality\\` 경고 0 / 오류 0
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "PptQualityGatePolicyTests|PptxTemplateManifestCatalogTests|PptxSkillTemplatePackTests|PptxSkillTemplateDiagnosticsTests|PptxSkillAutoRepairTests|PptxSkillGoldenDeckTests" -p:OutputPath=bin\\verify_ppt_manifest_quality_tests\\ -p:IntermediateOutputPath=obj\\verify_ppt_manifest_quality_tests\\` 통과 15
- 업데이트: 2026-04-15 22:45 (KST)
- HTML 보고서 뒤쪽으로 갈수록 폰트 크기와 카드 레이아웃이 흔들리던 raw body 호환 문제를 보강했습니다. `src/AxCopilot/Services/Agent/TemplateService.cs``h4`, `dl`, `matrix`, `comparison`, `decision_matrix`, `board_report`, `metrics`, `roadmap` 같은 레거시 블록 전용 CSS를 추가해, 구조화 섹션이 아닌 자유 본문 HTML로 생성된 보고서도 앞부분과 같은 문서 톤을 유지하도록 맞췄습니다.