# PRD: C#/.NET Harness ## 목표 Codex Harness가 C#/.NET SDK 프로젝트에서 phase planning, TDD guard, commit validation, workspace validation을 일관되게 수행하게 한다. ## 기술 스택 - C#/.NET SDK - `dotnet` CLI - Harness scripts in Python 3 ## 사용자 - `dotnet` CLI 기반 C#/.NET 개발자 - Harness phase를 작성하고 실행하는 Codex agent - Harness 결과를 검토하는 reviewer ## 핵심 기능 1. 기본 진입점은 `python scripts/validate_workspace.py`이며, `HARNESS_VALIDATION_COMMANDS`가 설정되어 있으면 자동 탐색보다 우선한다. 2. 자동 탐색은 루트의 단일 `.sln`을 우선하고, solution이 없으면 루트의 단일 SDK-style `.csproj`를 선택한다. 동일 우선순위 대상이 여러 개면 임의 선택하지 않고 오류로 중단한다. 3. 선택한 target에 대해 `dotnet restore `, `dotnet build --configuration Debug --no-restore`, `dotnet test --configuration Debug --no-build --no-restore` 순서로 검증한다. 4. PATH에 설치된 `dotnet`을 사용하며 Harness는 .NET SDK 버전이나 `global.json`을 생성하거나 고정하지 않는다. 5. C# production `.cs` 변경에 관련 C# test file을 요구하는 엄격한 TDD guard를 제공한다. 6. 다중 project 저장소는 루트 solution에 모든 build/test 대상을 포함해야 하며, 단일 `.csproj` fallback은 단일-project 저장소에서만 사용한다. 7. solution/project가 아직 없으면 안내 후 성공 종료하여 Harness 자체 테스트를 허용한다. 8. commit hook은 Python Harness self-test를 먼저 실행한 뒤 workspace validation을 실행한다. ## 제외 사항 - 언어별 profile 또는 registry - 다른 언어 validation fallback - .NET SDK 버전 선택, 설치 또는 `global.json` 생성 - C# sample application 또는 project 생성 - 이전 FESA solver source tree 복원 - Abaqus reference artifact 생성 또는 solver reference 비교 구현