Files
2026-09-04 17:00:34 +09:00

1.9 KiB

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 <target>, dotnet build <target> --configuration Debug --no-restore, dotnet test <target> --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 비교 구현