# Foundations diagnostic
Original worksheet by Codex | September 28, 2026

Use documentation freely. For the first attempt, avoid generated solutions so this reveals what you need to learn. Then use a tutor to work on the gaps. Score 0 = cannot do it, 1 = with help, 2 = independently and can explain.

1. Python: read a JSON file containing ticket objects; skip invalid rows with a useful error; count tickets by category.
2. Testing: test normal input, empty input and a missing field. Introduce a bug and show the test catches it.
3. HTTP: implement a request body with validation; distinguish an invalid request from a server failure.
4. SQL: create tickets and products tables; join them and count tickets per product. Use parameters for user input.
5. Git: make a branch, inspect the diff, commit, make a small conflicting edit and resolve it, then revert one change.
6. Operations: run from a fresh environment with documented dependencies; explain how configuration and secrets are supplied.
7. Explanation: trace a request from the UI through the server, data and response. Identify where each failure would appear.

| Area | 0/1/2 | Link or evidence | Next exercise |
|---|---|---|---|
| Python | | | |
| Testing | | | |
| HTTP | | | |
| SQL | | | |
| Git | | | |
| Operations | | | |
| Explanation | | | |

Route decision: several zeros in programming -> beginner route; coding is comfortable but testing/operations are weak -> engineering bridge; mostly twos -> start the model feature.
This is a learning diagnostic, not a hiring score.
