31 lines
1.7 KiB
Markdown
31 lines
1.7 KiB
Markdown
# Verification report
|
|
|
|
## Reproducible validation commands
|
|
|
|
Run these from the repository root in a Python 3.12 environment:
|
|
|
|
```bash
|
|
python -m pip install -e '.[dev]'
|
|
ruff format --check .
|
|
ruff check .
|
|
mypy app
|
|
pytest
|
|
docker build -t endpoint-monitor:verify .
|
|
docker run --rm -d --name endpoint-monitor-verify -p 18000:8000 endpoint-monitor:verify
|
|
curl --fail http://127.0.0.1:18000/healthz
|
|
curl --fail http://127.0.0.1:18000/readyz
|
|
docker rm -f endpoint-monitor-verify
|
|
```
|
|
|
|
## Coverage represented in the suite
|
|
|
|
The tests cover CRUD and validation, health/readiness/current status, successful and failed status updates, 100 concurrent creates, stale-check compare-and-set behavior, defensive copies, bounded error mapping, public-address pinning, private/loopback/link-local/reserved and mixed DNS answers, redirect revalidation, credential/query/fragment redaction, structured JSON logs, and environment bounds. Outbound HTTP is mocked.
|
|
|
|
## Generation-environment result
|
|
|
|
Repository generation has no command-execution or Docker daemon interface, so the commands above could not be executed during generation. They are provided as the exact acceptance sequence rather than being falsely marked successful. Static review was performed while assembling the single commit. Docker image build/startup and live smoke checks remain explicitly unverified until run in an environment with Docker and curl.
|
|
|
|
## Known limitation
|
|
|
|
The lock coordinates coroutines only inside one process. Data is neither durable nor shared, so the service must remain single-worker and cannot provide continuity across restarts. The supplied Docker command enforces one worker. A database-backed store would be required for durability or horizontal scaling.
|