Repository navigation
DI 기반 스킬 실행 의존성 구성 - #327
Merged
Merged
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
The focused refactor preserves validation safeguards, aligns registrations and callers, and has no identified blocking issues; tests were not independently executed.
No open issues 🎉
What changed in this PR
This PR centralizes Windows Managed AI dependency configuration in the app’s dependency injection layer. Skill execution now requires an injected host executable path and shared runtime manager while retaining existing execution safeguards.
Changes:
- Consolidates Windows AI registrations in
AddManagedAiWindows. - Removes host-path inference and fallback runtime-manager creation.
- Adds composition tests and documents dependency injection principles.
| File | Description |
|---|---|
src/TableCloth.Test/ManagedAiDependencyInjectionTests.cs |
Tests singleton lifetimes, injected paths, and missing dependencies. |
src/TableCloth.ManagedAi.Windows/WindowsManagedAiSkillExecution.cs |
Requires explicit dependencies and removes fallback resolution. |
src/TableCloth.ManagedAi.Windows/TableCloth.ManagedAi.Windows.csproj |
Removes the obsolete test-assembly internals access. |
src/TableCloth.ManagedAi.Test/SkillExecutionBridgeTests.cs |
Updates constructor calls and tests invalid injected hosts. |
src/TableCloth.App/DependencyInjection/UseTableClothExtensions.cs |
Delegates Windows AI registration to the dedicated extension. |
src/TableCloth.App/DependencyInjection/ManagedAiWindowsServiceCollectionExtensions.cs |
Registers shared services and injects the configured executable path. |
DEVELOPMENT.md |
Documents service composition and environment-path injection. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WindowsManagedAiSkillExecution이 실행 파일 경로를 별도로 추론하거나 런타임 관리자를 직접 생성하던 경로를 제거했습니다. 앱의AddManagedAiWindows등록 함수가ISharedLocations.ExecutableFilePath와 공용 singleton 런타임 관리자를 필수 생성자 인수로 전달합니다. 기존 경로 검증, 스크립트 해시 검증과 AppContainer 정책을 유지합니다.DEVELOPMENT.md에 DI를 통한 서비스 구성과 환경 경로 주입 원칙을 추가했습니다. 구성 테스트는 실제 등록 함수를 사용하여 잘못된 주입값의 차단, 대체 실행 파일 탐색 방지와 singleton 공유를 검증합니다.검증 결과:
UseTableCloth등록을 사용하는 별도dotnet세션에서 식탁보 전용 Codex CLI 0.156.1과 실제 제품TableCloth.exe중계 확인wasAppContainer=true,exitCode=0, BMI28.03및turn.completed확인태그와 릴리스 자산은 변경하지 않습니다.