3.7 KiB
3.7 KiB
WORKNOTE.md
Purpose
이 파일은 다음 AI Agent가 같은 시행착오를 반복하지 않도록 실수, 실패한 명령, 잘못된 가정, 우회 방법을 기록한다. 단순 진행 상황은 PROGRESS.md에 기록한다.
Notes
phases/디렉터리는 처음에 없었으므로 3D Euler beam UEL phase scaffold를 새로 만들었다.AGENTS.md는 이미 작업 중인 변경이 있는 상태였다. 이후 agent는 기존 변경을 되돌리지 말고 필요한 범위만 추가 수정해야 한다.- PowerShell에서 기본 출력 인코딩에 따라 Korean text가 깨져 보일 수 있다.
Get-Content -Raw -Encoding UTF8 AGENTS.md처럼 UTF-8을 명시하면 정상 확인 가능하다. scripts/execute.py는 phase step을 Codex subprocess로 실행하고, 각 step이phases/<phase>/index.json의 status를 직접 갱신해야 한다. Step 지시문에는 이 요구가 명확해야 한다.python scripts/validate_workspace.py는 Fortran manifest가 없으면validate_fortran.py에서 "No Fortran validation commands configured."를 출력하고 성공할 수 있다. 이것은 구현 전 scaffold 상태에서는 정상이다.- Step 6에서
tests/fortran/manifest.json을 추가한 뒤 기본python scripts/validate_fortran.py가 nestedcmdlookup에서 먼저 실패했다. PowerShell/Python은cmd.exe를 찾지만 childcmd.exe가%PATH%를 빈 값으로 보았다. RED compile evidence는$env:PATH='C:\Windows\System32;C:\Windows;C:\Users\user\miniforge3'; C:\Users\user\miniforge3\python.exe scripts/validate_fortran.py로 확인했으며, 이때ifx가 실행되고 missingsrc/fortran/uel_3d_euler_beam_kernel.f90compile failure가 발생했다. - Step 7에서 위 PATH 문제는
scripts/fortran_toolchain.py가ComSpec/절대cmd.exe와 최소 Windows PATH를 사용하도록 수정해 해결했다. 또한scripts/validate_fortran.py가 per-test build directory를 만들지 않아LNK1104가 발생했으므로build_dir.mkdir(parents=True, exist_ok=True)를 추가했다. - 2026-06-12 사용자 UEL 포맷 재조사에서 제공된
default.htm?startat=ch01s01asb44.html는 프레임 진입점이며ch01s01asb44.html자체는 2016 문서의UMAT섹션이다. UEL 직접 문서는https://ceae-server.colorado.edu/v2016/books/sub/ch01s01asb28.html이다. - 같은 조사에서 현재
src/fortran에는 Abaqus가 직접 호출할 top-level externalSUBROUTINE UEL(...)wrapper가 없고,uel3deb_abi_static은 no-Abaqus adapter일 뿐임을 확인했다. 다음 구현 보정에서는 manual signature와ABA_PARAM.INCinclude를 보존하는 wrapper가 필요하다. docs/io-definitions/uel-3d-euler-beam.md의VARIABLES=0/NSVARS=0정책은 Abaqus*USER ELEMENT문서의VARIABLES값이 0보다 커야 한다는 규칙과 충돌할 가능성이 있다. 실제 Abaqus-facing 계약은VARIABLES=1이상 또는 target-version 근거가 있는 예외로 보정해야 한다.- PowerShell에서
git add ... && git status --short를 실행하면 이 환경에서는&&가 statement separator로 인식되지 않아 실패한다. 명령은 분리해서 실행한다. - 2026-06-12 UEL ABI correction에서 TDD guard는 production file basename token을
tests/아래 테스트 파일명에서 찾는다.scripts/test_uel_3d_euler_beam_uel.py만으로는src/fortran/uel_3d_euler_beam_uel.for변경이 차단되어,tests/test_uel_3d_euler_beam_uel.pyshim을 함께 추가했다. tests/fortran/uel_3d_euler_beam/test_invalid_inputs.f90의 helper 인자 순서를 바꿀 때NDLOAD케이스가lflag3=0으로 들어가E016보다E015가 먼저 발생했다. negative test는 목표 조건 외의 request flag를 모두 유효값으로 유지해야 한다.