Files
FESADev/tests/AGENTS.md
T

27 lines
2.2 KiB
Markdown

# 검증과 reference evidence
Tests는 solver 동작·수학적 일관성·외부 비교와 C++ 개발 규약의 검증을 소유한다.
테스트를 통과시키기 위해 제품 계약이나 reference 원본을 변경하지 않는다.
- C++ unit·integration·reference와 Python suite는 서로 다른 범위다. CTest 성공을
Python 통과로 보고하지 않는다. CMake/MSVC x64 Debug 기준과 실제 실행 결과를 기록한다.
- 수치 변화는 analytical/invariant와 독립 review를 결합한다. Finite/solve 성공만 검사하거나
implementation 식을 그대로 복사한 oracle로 correctness를 주장하지 않는다.
- 비교 전에 source identity·location·component·finite를 검증한다. Missing/extra/duplicate를
허용하지 않고 node averaging으로 beam endpoint를 collapse하지 않는다.
- MITC4 U blocking·UR warning-only와 승인된 eigen first-implementation 예외를 유지한다.
기준 경계·zero scale·family 분리와 결정적 보고를 테스트한다.
- Reference의 경로·값·naming·metadata를 임의 수정하지 않는다. 검증용 algebra fixture의
입력 자유도를 공개 CLI 지원으로 승격하지 않는다.
- 미실행·skip·제외·실패를 PASS로 계산하거나 폐기된 workflow를 복원하지 않는다.
- 직접 MSVC와 CMake의 세 executable 전체 등록 identity를 대조한다. 이번 병합은
2026-10-18 사용자 변경에 따라 정적·공통 계약 검사를 명시적으로 선택해 직렬 실행한다.
두 실행의 TMP/TEMP·XML·raw 경로를 분리하고 inherited filter/sharding을 제거한다.
실제 선택·제외 identity와 body 기반 이유를 남긴다. HHT·dynamic·eigen·transient thermal은
이번 실행 범위에서 제외하며, 제외를 통과나 테스트 삭제 근거로 삼지 않는다.
- `reference/temp`는 검증에 사용하지 않는다. 정식 reference 부재는 자료 누락으로 기록한다.
승인된 정적 통합 검증 전에는 중복·폐기 내부구조 검사도 최종 삭제하지 않는다.
자료 없는 비교의 유일 검증과 비정적 테스트는 유지한다. 삭제 시 이관표에
동등한 대체 identity·실패 경계·수치 조건 또는 폐기 구조를 연결한다.