1.9 KiB
1.9 KiB
Step 0: Abaqus Input Contract
읽어야 할 파일
/AGENTS.md/docs/PRD.md/docs/ARCHITECTURE.md/docs/ADR.md/docs/superpowers/specs/2026-07-29-abaqus-assembly-reference-design.md/docs/superpowers/plans/2026-07-29-fesa-phase-1.md/include/fesa/io/abaqus//reference/cantilever beam/cantilever beam.inp
작업
production parser를 수정하기 전에 docs/ABAQUS_INPUT_SUBSET.md를 normative contract로
작성하고 valid/invalid fixture matrix를 등록한다.
문서에 각 keyword의 허용 scope, parameter, data line, diagnostic을 정확히 정의한다.
*NODE,*ELEMENT,TYPE=B31*PART/*END PART,*ASSEMBLY/*END ASSEMBLY,*INSTANCE/*END INSTANCE*NSET,*ELSET,GENERATE, nested set,INSTANCE=*MATERIAL,*ELASTIC,*BEAM GENERAL SECTION- optional
*TRANSVERSE SHEAR STIFFNESS *BOUNDARY,*CLOAD,*STEP,*STATIC,*END STEP- no-op
*HEADING,*PREPRINT,*RESTART,*OUTPUT
tests/fixtures/abaqus/valid와 invalid에 최소 한 규칙당 fixture를 정의하고
data-driven contract test를 먼저 실패시킨다.
Acceptance Criteria
cmake --build --preset windows-debug
ctest --preset windows-debug -R AbaqusInputContract --output-on-failure
ctest --preset windows-debug --output-on-failure
검증 절차
- 문서와 fixture manifest를 먼저 작성한다.
- 아직 미구현인 계약 테스트가 실패하는 것을 확인한다.
- 이 step에서는 parser behavior를 확장하지 않는다.
- index summary에 계약 문서와 미통과 fixture 범위를 기록한다.
금지사항
- Abaqus 전체 문법 지원을 약속하지 마라. 이유: 명시된 subset만 대상이다.
- unknown keyword ignore 규칙을 만들지 마라. 이유: 조용한 모델 손실을 유발한다.
- reference 원본을 고치지 마라. 이유: golden provenance를 보존해야 한다.