openlayer-ai/jevals는 2026-11-02(UTC) 커밋 70d5e9b에서 CI 구성을 손봤다. GitHub Actions를 태그(v4, v5)로 참조하던 자리를 전부 전체 커밋 SHA로 고정하고, workflow 토큰 권한은 `contents: read`로 낮췄다. .github/dependabot.yml이 새로 추가됐고 ci.yml과 publish.yml이 수정됐다. 변경 규모는 34줄이며 27줄 추가와 7줄 삭제에 그친다.
jevals는 에이전트 평가(eval)와 가드레일을 한 요청 한 번의 판단으로 제공하는 프로젝트로, 저장소 설명은 로컬 실행을 지원한다고 밝힌다. 손을 본 곳은 애플리케이션 코드가 아니라 CI 쪽이다. 태그는 옮겨 쓸 수 있는 참조라 그 시점의 다른 값을 가리킬 수 있지만, 커밋 SHA는 커밋 하나를 정확히 묶어 둔다. 고정된 대상은 actions/checkout(v4.4.0), astral-sh/setup-uv(v5.4.2), actions/upload-artifact(v4.6.2), actions/download-artifact(v4.3.0), pypa/gh-action-pypi-publish(v1.14.3)다. ci.yml은 Python 3.10·3.12·3.13 매트릭스에서 uv 동기화와 pytest를 돌리고, publish.yml은 v* 태그에 빌드한 산출물을 PYPI_API_TOKEN으로 PyPI에 올린다. 유지보수는 Dependabot이 맡았다. 매주 한 번 모든 Actions 갱신을 하나의 PR로 묶고, `chore(ci)` 접두사가 붙는 커밋으로 SHA와 버전 주석을 함께 올린다.
다만 이 변경이 건드린 범위는 CI 참조 고정과 토큰 권한 축소까지다. 커밋 메시지는 권한 블록이 없던 워크플로에 기본값을 넣었다고 적었으니, 이미 권한 블록이 있는 다른 워크플로는 그대로다. 이 커밋에는 런타임 성능이나 평가 결과를 재는 수치가 없다. 버전 주석에 적힌 값도 그 시점의 고정값이고 갱신은 주간 Dependabot PR에 얹혀 진행되니 실제 고정 버전은 이번 커밋과 다른 시점에 움직인다. 라이선스와 별 수, 채점 결과 같은 비교 재료는 주어지지 않아 판단하기 이르다.