# 연구 브리프 작성 가이드

이 디렉터리는 Research Agent가 작성하거나 제안한 기능별 연구 브리프를 보관하는 위치다.

기본 파일명은 `docs/research/<feature-id>-research.md` 형식을 사용한다. 각 브리프는 Requirement Agent의 요구조건을 입력으로 받아 Formulation Agent, Numerical Review Agent, Reference Model Agent, Implementation Planning Agent가 사용할 수 있는 근거 자료를 제공해야 한다.

## Research Agent 역할

Research Agent는 FEM 이론, benchmark, verification reference, solver manual, 논문 자료를 조사한다.

수행한다:
- 기능 요구조건과 관련된 이론 자료를 조사한다.
- 요소별 benchmark, patch test, MMS, MES, convergence study 후보를 찾는다.
- Abaqus/Nastran 결과와 비교 가능한 공개 benchmark 또는 문헌 해를 정리한다.
- 자료의 신뢰도, 적용 범위, 한계, 상충 여부를 평가한다.
- downstream agent가 사용할 수 있도록 출처와 근거를 추적 가능하게 남긴다.

수행하지 않는다:
- C++ 코드를 구현하지 않는다.
- 유한요소 정식화를 확정하지 않는다.
- C++ API나 파일 구조를 설계하지 않는다.
- Abaqus, Nastran 또는 레퍼런스 솔버를 직접 실행하지 않는다.
- Abaqus reference CSV 파일을 생성하거나 수정하지 않는다.
- 기능 완료 여부를 승인하지 않는다.

## Source Reliability Tier

| tier | source type | examples | use |
| --- | --- | --- | --- |
| Tier 1 | 공식 표준, 공식 solver manual, 공식 benchmark, 공공기관 자료 | ASME V&V 10, Abaqus Verification Guide, Abaqus Benchmarks Guide, NAFEMS benchmarks, NASA FEMCI, official solver manuals | 우선 근거 |
| Tier 2 | peer-reviewed paper, reproducible arXiv preprint, textbook | MMS/MES 논문, finite element textbook | 이론/검증 후보 |
| Tier 3 | vendor example, university course note, technical blog | 공개 강의노트, 기술 블로그 | 보조 근거 |
| Reject | forum answer, LLM summary, unsourced page, illegal PDF mirror, citation 없는 wiki성 문서 | forum, mirror PDF, 출처 없는 요약 | primary evidence로 사용 금지 |

## 문서 템플릿

```markdown
# <feature title> Research Brief

## Metadata
- feature_id: <feature-id>
- source_requirement: docs/requirements/<feature-id>.md
- status: draft | needs-user-decision | ready-for-formulation
- owner_agent: research-agent
- date: <YYYY-MM-DD>

## Research Questions
- <Requirement Agent 또는 사용자가 넘긴 조사 질문>

## Source Inventory

| source_type | title | author_or_org | URL_or_DOI | access_date | reliability_tier | notes |
| --- | --- | --- | --- | --- | --- | --- |
| standard | ASME V&V 10 | ASME | <URL> | <YYYY-MM-DD> | Tier 1 | VVUQ framework |

## Extracted Facts
- <정식화에 필요한 사실, benchmark 조건, 검증 물리량, 재료/좌표/단위 가정>

## Candidate Benchmarks

| benchmark_id | source | benchmark_type | physics | target_quantities | artifact_needs | applicability |
| --- | --- | --- | --- | --- | --- | --- |
| <id> | <source title> | analytical \| NAFEMS \| Abaqus Verification/Benchmark \| NASA/FEMCI \| paper-derived | <physics> | <targets> | <needed artifacts> | <limits> |

## Verification Relevance
- code_verification: <관련성>
- solution_verification: <관련성>
- validation: <관련성>
- reference_comparison: <관련성>

## Applicability Limits
- linear_or_nonlinear: <scope>
- deformation: small | large | TBD
- element_type: <scope>
- material_model: <scope>
- geometry: <scope>
- boundary_conditions: <scope>
- loads: <scope>
- coordinate_system: <scope>
- units: <scope>

## Open Issues
- <근거 부족, 상충 자료, 유료/비공개 자료, 사용자 결정 필요 사항>

## Downstream Handoff

### Formulation Agent
- <이론 사실, governing assumptions, candidate equations, unresolved formulation questions>

### Numerical Review Agent
- <수치 위험, convergence expectations, patch test/MMS/MES evidence, source disagreements>

### Reference Model Agent
- <benchmark candidates, required reference artifacts, target quantities, source limitations>

### Implementation Planning Agent
- <verification scenarios and testable acceptance evidence>
```

## 품질 기준

- 모든 외부 근거는 source metadata와 reliability tier를 가져야 한다.
- verified fact와 inference를 구분해야 한다.
- benchmark 후보는 target quantity와 applicability limit을 가져야 한다.
- Abaqus Benchmarks Guide와 Abaqus Verification Guide의 용도를 구분해야 한다.
- NAFEMS benchmark는 independent standard test와 target value 후보로 기록해야 한다.
- MMS/MES 자료는 code verification 후보로 기록하되 정식화 확정으로 취급하지 않는다.
- 사용 불가능하거나 유료/비공개인 자료는 Open Issues에 남겨야 한다.
