AX Agent 창 제목 고정 및 PPT 품질 재루프 고도화
- 채팅창 Windows 제목을 AX Agent로 고정해 작업 표시줄/Alt+Tab에서 대화 제목이 섞이지 않도록 조정 - Assets/ppt manifest와 템플릿 카탈로그를 추가해 basic100/core100 등 고품질 PPT 자산을 실행 폴더, 소스 루트, AppData 템플릿 폴더에서 안정적으로 탐색하도록 개선 - pptx_create 결과에서 asset missing과 color fallback을 구분해 진단 메시지를 남기고 Cowork에서는 PPT quality/slide alerts/Needs work 기준으로 최대 2회 재생성 루프를 타도록 품질 게이트 추가 - PPT 시스템 프롬프트와 pptx-creator 스킬 지시를 document_plan -> pptx_create 중심으로 정렬 - 검증: dotnet build ...verify_ppt_quality_gate 경고 0/오류 0, dotnet test ...PptxSkillTemplatePackTests|PptxSkillAutoRepairTests|PptxSkillGoldenDeckTests|PptQualityGatePolicyTests|PptxTemplateManifestCatalogTests 통과 12
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
using System.IO;
|
||||
using AxCopilot.Services.Agent;
|
||||
using FluentAssertions;
|
||||
using Xunit;
|
||||
|
||||
namespace AxCopilot.Tests.Services;
|
||||
|
||||
public class PptxTemplateManifestCatalogTests
|
||||
{
|
||||
[Fact]
|
||||
public void Resolve_ShouldReturnManifestEntry_ForKnownTemplate()
|
||||
{
|
||||
var entry = PptxTemplateManifestCatalog.Resolve("basic100");
|
||||
|
||||
entry.Should().NotBeNull();
|
||||
entry!.FileName.Should().Be("BASIC100 기준 템플릿 V1.pptx");
|
||||
entry.FallbackTheme.Should().Be("professional");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ResolveTemplate_ShouldFindBundledSourceAsset_FromTestRuntime()
|
||||
{
|
||||
var resolution = PptxTemplateManifestCatalog.ResolveTemplate("basic100");
|
||||
|
||||
resolution.Entry.Should().NotBeNull();
|
||||
resolution.IsResolved.Should().BeTrue();
|
||||
resolution.Status.Should().Be("resolved");
|
||||
File.Exists(resolution.ResolvedPath).Should().BeTrue();
|
||||
Path.GetFileName(resolution.ResolvedPath!).Should().Be(resolution.Entry!.FileName);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void EnumerateCandidateDirectories_ShouldIncludeProjectSourceAssets()
|
||||
{
|
||||
var directories = PptxTemplateManifestCatalog.EnumerateCandidateDirectoriesForTesting(
|
||||
AppContext.BaseDirectory,
|
||||
Environment.CurrentDirectory,
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
|
||||
|
||||
directories.Should().Contain(path =>
|
||||
path.EndsWith(Path.Combine("src", "AxCopilot", "Assets", "ppt"), StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user