홈 / Skills / 개발 생산성 / Verify and Stop 검증 후 멈춤
개발 생산성

Verify and Stop 검증 후 멈춤

Julius BrusseeApache-2.0Skill 언어: 영어
라이선스 확인됨스크립트 없음
데모실행 기록 · claude-opus-5-5 · 2026년 10월
Can you check whether this ticket is done? I only want to know if the acceptance criteria are met. Ticket ACME-88 acceptance criteria: 1. `GET /health` returns HTTP 200 with JSON body `{"status": "ok"}`. 2. The endpoint does not require authentication. 3. A test covers the endpoint. The developer's diff: ```python # app/routes.py @app.get("/health") @require_login def health(): return {"status": "ok"}, 200 ``` ```python # tests/test_health.py def test_health(client, logged_in_user): resp = client.get("/health") assert resp.status_code == 200 assert resp.json == {"status": "ok"} ``` CI output: `tests/test_health.py::test_health PASSED` and `142 passed in 8.31s`.
Skill: verify-and-stop

No, ACME-88 isn't done. Criterion 2 fails, and the test that's supposed to cover the endpoint wouldn't catch that failure.

# Criterion Result Evidence
1 GET /health returns 200 with {"status": "ok"} Pass, but only for logged-in users The handler returns {"status": "ok"}, 200. The test checks both the status code and the JSON body, and CI shows it passing.
2 No authentication required Fail app/routes.py puts @require_login on health(), so the endpoint requires login.
3 A test covers the endpoint Partial test_health exists and passes. But it uses the logged_in_user fixture, so it only tests a logged-in request. That's why CI passes even though criterion 2 fails.

To close the ticket:

  • Remove @require_login from health().
  • Remove logged_in_user from the test so it makes the request without logging in. That way the test also proves criterion 2.

How I checked: There's no repository in this workspace, so I didn't run anything. This is based only on the diff and CI output you pasted. I'm also assuming @require_login blocks requests that aren't logged in (with a 401, 403 or a redirect), as its name suggests. I couldn't see its code to confirm that.

Real run recorded with claude-code / claude-opus-5-5. Output is shown verbatim, unmodified.

하는 일

검증만 하는 작업을 위한 규칙입니다. 인수 조건을 그것을 증명하는 최소한의 검사로 바꾸고, 결과를 보고한 뒤 멈춥니다.

작동 방식

  1. 인수 조건마다 최소한이면서 충분한 증명을 정하고, 현재 코드에 여전히 맞는 기존 결과는 다시 씁니다.
  2. 범위가 좁은 검사부터 넓은 검사 순으로 실행하고, 각 결과를 통과, 실패, 실행 불가, 차단 중 하나로 정확히 보고합니다.
  3. 요청이 없으면 제품 코드를 고치지 않고, 조건을 충족한 뒤에는 다듬기, 정리, 테스트 추가를 하지 않습니다.

이럴 때 좋습니다

'이 티켓 끝났나요?' 확인, 머지 전 검증, 마지막 단계 확인.

알아 둘 점

오픈소스 프로젝트 Caveman에 포함된 범용 작업 패턴 중 하나입니다. 지시문 자체에는 Caveman 브랜드 요소가 없어 어떤 프로젝트에서도 쓸 수 있습니다.

참고 및 위험

지시문만 담긴 파일입니다. 스크립트가 없고, 네트워크에 연결하지 않으며, 파일을 쓰지 않습니다. 패키지에는 LICENSE, NOTICE, agents/openai.yaml(Codex용 표시 이름과 기본 프롬프트)도 들어 있습니다.