- Rename python/configs/usage.md → usage-simple.md so both scripts have a
parallel runnable reference file in the same directory
- Add python/configs/usage-phases.md: runnable sh commands + real expected
output for phases.py against every error-path config, including a note on
the key difference from simple.py (HTTP 4xx exits 0 in phases.py vs 1 in
simple.py because phases.py completes at the network level)
- Update doc cross-links in docs/usage/py-simple.md and py-phases.md
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- python/simple.py: reads a plain-text site list (one URL/line, # comments),
issues a GET per site, prints aligned OK/FAIL + elapsed ms, exits 0/1
- Config format forward-compatible with future key=value annotations
- HTTPError caught separately from URLError so HTTP status code appears in
the FAIL message (e.g. "HTTP Error 404: Not Found")
- python/sites.txt: committed example config
- Makefile: PYTHON/PY_DIR/SITES vars; py-simple-run, py-phases-run, py-run,
py-test, py-check, py-clean targets; umbrella test/check/clean include Python
- docs/plans/2026-07-01-10-39-py-simple.md: design plan
- docs/usage/py-simple.md: flags, format, examples, limitations
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>