Building cartographer's loop by hand in forty lines of raw HTTP, before any SDK, is the approach I wish more guides took. When I hand-rolled mine, the detail that clicked was the stop-reason field: a truncated answer and a finished one look identical until you check it yourself. Do you handle tool-call failures in the week-one loop, or defer them to the week-four hardening part?