All acceptance criteria verified: | Criterion | Status | |---|---| | CLAUDE.md gains a `## CI` section | Line 33-38 | | Documents `.gitea/workflows/ci.yml` as CI file | Line 34 | | Documents push triggers on `main` and `master` | Line 35 | | Documents CI runs `make verify` | Line 36 | | All existing content preserved | All original sections intact | | File starts with `# retoor <retoor@molodetz.nl>` header | Line 1 | | No placeholder or TODO content | Confirmed | Outcome: done Changed: CLAUDE.md:1,33-38 Verified by: `make verify` — passed (61 tests, 0 failures, 0 warnings) Findings: - CLAUDE.md now has a `## CI` section documenting `.gitea/workflows/ci.yml`, push triggers on `main`/`master`, and `make verify` as the CI command Open: none Confidence: high — all acceptance criteria met, verification passes Typosaurus-Run: c4074cd2eb1f4a0a8951adbbe1a6ec32 Typosaurus-Node: def7f24c310b4de8a068083210549c16 Typosaurus-Agent: @nadia Refs: #26
retoor retoor@molodetz.nl
typosaurus-sandbox
Sandbox for Typosaurus end-to-end verification.
A FastAPI application serving arithmetic operations over HTTP with JSON request/response bodies.
Configuration
The application uses a single .env.json file at the project root as its central point of truth
for configuration. Defaults are plug-and-play and require no setup:
{
"host": "127.0.0.1",
"port": 8000
}
When no .env.json is present, the application starts with these defaults. To customise, create
.env.json in the project root and populate only the keys that differ.
Usage
Start the server
python -m typosaurus_sandbox
The server listens on http://127.0.0.1:8000 by default.
Health check
GET /health
Response:
{"status": "ok"}
API endpoints
All calculator endpoints accept POST requests with a JSON body and return a JSON response.
POST /api/v1/calculator/add
Add two integers.
Request:
{"left": 3, "right": 5}
Response:
{"result": 8}
POST /api/v1/calculator/subtract
Subtract the right integer from the left.
Request:
{"left": 10, "right": 3}
Response:
{"result": 7}
POST /api/v1/calculator/clamp
Clamp a value between a low and high bound.
Request:
{"value": 15, "low": 0, "high": 10}
Response:
{"result": 10}
Boundaries are inclusive. A low > high combination produces a 422 validation response.
POST /api/v1/calculator/clamp-to-byte
Clamp an integer to the byte range [0, 255].
Request:
{"value": 300}
Response:
{"result": 255}
Verification
make verify
Runs compile-all checks against all source and test files, then executes the full test suite. Zero warnings are tolerated.