演示真实运行记录 · 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_loginfromhealth(). - Remove
logged_in_userfrom 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.
它做什么
一条用于纯验证任务的工作规则:把验收条件转成能证明它们的最少检查,报告结果,然后停下。
工作方式
- 为每条验收条件找到最少且足够的证明,仍然对应当前代码的已有结果直接复用。
- 先跑针对性的检查,再跑范围更大的检查;每项结果准确标为通过、失败、无法执行或被阻塞。
- 没被要求就不改业务代码;条件满足后不再润色、清理或加测试。
适合场景
"这个工单做完了吗"的核对、合并前验证和最后一步的确认。
需要了解
出自开源项目 Caveman 的一组通用工作方式。指令本身不带 Caveman 品牌,放到任何项目里都能用。
说明与风险
纯指令文件:没有脚本、不联网、不写文件。 压缩包里另有 LICENSE、NOTICE 和 agents/openai.yaml(供 Codex 使用的显示名和默认提示词)。