Files
2026-07-29 23:32:26 +09:00

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/validinvalid에 최소 한 규칙당 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

검증 절차

  1. 문서와 fixture manifest를 먼저 작성한다.
  2. 아직 미구현인 계약 테스트가 실패하는 것을 확인한다.
  3. 이 step에서는 parser behavior를 확장하지 않는다.
  4. index summary에 계약 문서와 미통과 fixture 범위를 기록한다.

금지사항

  • Abaqus 전체 문법 지원을 약속하지 마라. 이유: 명시된 subset만 대상이다.
  • unknown keyword ignore 규칙을 만들지 마라. 이유: 조용한 모델 손실을 유발한다.
  • reference 원본을 고치지 마라. 이유: golden provenance를 보존해야 한다.