{"kind":"bloxsmith.graph","schema_version":"2","graph_id":"","title":"De la fonction à sa documentation","editor":{"viewport":{"x":0,"y":0,"zoom":0.75}},"nodes":[{"id":"source","kind":"text","title":"Code","position":{"x":80,"y":180},"inputs":[],"outputs":[{"id":1,"name":"out","title":"Sortie","emits":["message/*"],"multiplicity":"many","text":"Documenter cette fonction Python :\n\ndef normaliser_nom(nom):\n    return \" \".join(nom.strip().split()).title()\n"}],"config":{}},{"id":"codex","kind":"codex","title":"Codex","position":{"x":400,"y":180},"inputs":[{"id":1,"name":"in","title":"Entrée","accepts":["message/*"],"multiplicity":"many","required":true,"execution_requirement":"required_for_execution"}],"outputs":[{"id":1,"name":"out","title":"Sortie","emits":["message/*"],"multiplicity":"many","instruction":"Documente le code fourni dans @in en Markdown français. Présente son rôle, ses paramètres, la valeur de retour, les cas limites visibles et un exemple d'utilisation. Distingue le comportement observable des hypothèses. Ne prétends pas avoir exécuté le code et ne modifie aucun fichier."}],"config":{"working_directory":"","approval":"Auto","use_persistent_session":false,"dangerously_allow_all":false}},{"id":"result","kind":"display","title":"Documentation","position":{"x":720,"y":180},"inputs":[{"id":1,"name":"in","title":"Entrée","accepts":["message/*"],"multiplicity":"many","required":true,"execution_requirement":"required_for_execution"}],"outputs":[],"config":{}}],"edges":[{"id":"edge-1","from":{"node":"source","port":1},"to":{"node":"codex","port":1},"kind":"data"},{"id":"edge-2","from":{"node":"codex","port":1},"to":{"node":"result","port":1},"kind":"data"}],"inputs":[],"outputs":[],"annotations":[]}