decomposer: generate deliverable files for Define the service contract and project architecture for the FastAPI endpoint monitoring service.; Implement the typed monitor CRUD API and concurrency-safe in-memory state according to the service design.; Implement secure on-demand endpoint checks with status updates, latency measurement, robust error handling, and redacted structured logs.; Add operational API endpoints and environment-driven runtime configuration to the monitoring service.; Create automated tests for the monitoring service.; Package the service with Docker and developer documentation.; Validate the complete project.
This commit is contained in:
32
docs/VERIFICATION.md
Normal file
32
docs/VERIFICATION.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Verification report
|
||||
|
||||
## Commands
|
||||
|
||||
Run from the repository root with Python 3.12 and Docker available:
|
||||
|
||||
```sh
|
||||
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 --silent http://127.0.0.1:18000/healthz
|
||||
curl --fail --silent http://127.0.0.1:18000/readyz
|
||||
curl --fail --silent -H 'content-type: application/json' -d '{"name":"smoke","url":"https://example.com"}' http://127.0.0.1:18000/api/v1/monitors
|
||||
docker stop endpoint-monitor-verify
|
||||
```
|
||||
|
||||
## Generation-time result
|
||||
|
||||
No shell/command runner is exposed by the generation contract used to create this repository, so the commands above were **not executed during generation**. No passing test, lint, type-check, image-build, startup, or smoke-test result is claimed. The committed tests are concrete and deterministic for outbound HTTP because they use `httpx.MockTransport`; they still require execution by the validator.
|
||||
|
||||
## Expected coverage represented in source
|
||||
|
||||
The test names document inspectable cases: CRUD/status/probes and validation (`test_api.py`); HTTP success/failure/timeout status updates (`test_api.py`); private and mixed DNS answers, redirect revalidation, and redirect limits (`test_checker.py`); URL/log redaction (`test_logging.py`); and delete/check race behavior (`test_store.py`). This is a source inventory, not an execution or coverage-percentage claim.
|
||||
|
||||
## Operational limitation
|
||||
|
||||
The service must use one worker. State is process-local, starts empty, is lost on restart, and cannot provide cross-process consistency or durability.
|
||||
Reference in New Issue
Block a user