Skip to content

문제 검토 파이프라인 추가 (export, review, 판정) - #55

Merged
pwh9882 merged 1 commit into
devfrom
tooling/challenge-review-pipeline
Sep 2, 2026
Merged

문제 검토 파이프라인 추가 (export, review, 판정)#55
pwh9882 merged 1 commit into
devfrom
tooling/challenge-review-pipeline

Conversation

@pwh9882

@pwh9882 pwh9882 commented Sep 2, 2026

Copy link
Copy Markdown

목적

"문제 검토해 줘"라고 하면 조교나 에이전트가 그대로 돌릴 수 있는 한 줄짜리 파이프라인과, 다음 학기 조교가 문서만 보고 따라 할 수 있는 절차를 만듭니다.

변경

  • scripts/export-challenges: 관리자 access token(환경 변수)으로 CTFd에서 SQL 문제 정의를 JSON으로 내보냅니다.
  • scripts/review-challenges: 일회용 MySQL 8.4 + 이 checkout의 judge를 Compose로 띄워 전 문제를 채점하고 검토 판정을 출력한 뒤 정리합니다. judge는 localhost에만 노출됩니다(docker-compose.review.yml).
  • scripts/regrade-challenges --review: 실행 실패, ORDER BY 없음, 정렬 키 동률 행 수, 자동 확인 불가한 정렬 식, ROUND 없는 AVG·나눗셈, 0행·500행 이상, 느린 요청을 문제별로 판정합니다.
  • REVIEW.md: 절차와 판정별 조치 표. README와 AUTHORING.md에서 링크합니다.
  • tests/test_regrade_review.py: 판정 함수 단위 테스트.

검증

지난 학기 문제 61개에 실행한 결과 34개가 확인 대상으로 분류됐습니다. ORDER BY 없음 8, 정렬 키 동률 4(수동 분석에서 옛 엔진과 순서가 달랐던 문제와 일치), 정렬 식 확인 불가 3, ROUND 없는 집계 14, 실행 실패 1(#32 ambiguous GROUP BY)입니다. 문제 SQL 자체는 저장소에 넣지 않았습니다.

scripts/export-challenges pulls SQL challenge definitions from a CTFd
through the admin API (token from the environment), and
scripts/review-challenges starts a disposable MySQL judge from the checkout,
grades every definition with scripts/regrade-challenges --review, prints
authoring findings, and removes the containers.

The review findings cover execution failures, missing ORDER BY, repeated
sort-key values, ORDER BY expressions the tool cannot check, unrounded
AVG/division results, empty or near-limit results, and slow requests.
REVIEW.md documents the procedure and how to act on each finding so a
future TA or an agent can run it unchanged.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-02T06:15:42.202361Z beaa947 PR opened
🔒 Security Review Completed 2026-09-02T06:17:56.386549Z beaa947 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant