testsAndMisc/docs/superpowers/evidence/sql-drills-harness-2026-11-01.json
Krzysztof kuhy Rudnicki ee78ae44cc
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
Pre-commit checks / pre-commit (${{ matrix.group }}) (mypy, mypy) (push) Waiting to run
Pre-commit checks / pre-commit (${{ matrix.group }}) (pylint, pylint) (push) Waiting to run
Pre-commit checks / pre-commit (${{ matrix.group }}) (rest, ) (push) Waiting to run
Pre-commit checks / pre-commit (${{ matrix.group }}) (shellcheck, shellcheck) (push) Waiting to run
Python tests / test (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
Shell tests / shell-tests (push) Waiting to run
Shell tests / lib-tests (push) Waiting to run
Shell tests / arch-tests (push) Waiting to run
Add sql_drills MySQL exact-match harness
Docker mysql:8.0.33 container, judge-style output grading, 12 original drills with live-verified references kept in tests only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WzxdWZewj4WS5X6AZyjWDp
2026-11-01 21:13:18 +01:00

34 lines
1.4 KiB
JSON

{
"intent": "Add a Docker-backed MySQL 8.0.33 practice harness that grades SQL by exact output match, with 12 original drills.",
"scope": [
"python_pkg/sql_drills (new package, fixtures, tests, README)",
"meta/pyproject.toml: register the docker pytest marker",
"Non-goal: bumping the pinned mysql image; copying third-party problems"
],
"changes": [
"CLI start/stop/list/show/check over one long-lived tmpfs container",
"Judge-style normaliser and line diff, unit-tested without Docker",
"12 original drills with live-verified reference solutions kept in tests only"
],
"verification": [
{
"command": "python3 -m pytest -q python_pkg/sql_drills (container running)",
"result": "pass",
"evidence": "71 passed, 16 of them live against mysql:8.0.33; package coverage 100% branch"
},
{
"command": "python3 -m python_pkg.sql_drills check <id> <reference> for all 12 drills",
"result": "pass",
"evidence": "every drill prints PASS; wrong query prints a line diff, syntax error exits 2"
}
],
"risks": [
"Local MySQL image must be pulled once; start fails with a clear error otherwise",
"A runaway query is cut off client-side after 30 s but may keep running in the container until stop"
],
"rollback": [
"git revert the commit; run python3 -m python_pkg.sql_drills stop first",
"Check that pytest still collects with the marker line removed"
]
}