pub fn python_client(schema: &Value) -> StringExpand description
The generated half of templates/python/choir.py: one method per
tool, rendered from the schema document and nothing else (D17).
This is the point of the artifact rather than an implementation
detail. D17 bets that an agent writes code against a typed API, and
/api/schema is the description that code would be generated from —
but a description is only sufficient if something has actually been
generated from it without reading choir’s source. So this takes the
parsed schema as its argument and never touches ENDPOINTS or
COMMANDS. If a method comes out wrong, the schema is what was
insufficient, and that is the finding.
The shell library is the opposite bargain and both are wanted: it wraps the binary and can therefore sign, while this needs no binary and therefore cannot.