Entry [5] never asked "Correct them?". The tool ran, printed its diagnosis, exited 1 -- and todo_upgrade_execute read that as a failure and reopened ITS error menu on top of ours. The menu looped and nothing was ever corrected. wait_at_error=False on both calls, as the COW tool next door already does. The fake in the test now models the real contract: it refuses to return a non-zero status when the flag is missing, exactly as the real one refuses by recursing into its prompt. --- FR --- L'entrée [5] ne posait jamais la question « Les corriger ? ». L'outil tournait, affichait son diagnostic, sortait 1 — et todo_upgrade_execute y lisait un échec et rouvrait SON menu d'erreur par-dessus le nôtre. Le menu tournait en rond et rien n'était corrigé. wait_at_error=False sur les deux appels, comme le fait déjà l'outil COW juste à côté. Le faux du test modèle désormais le vrai contrat : il refuse de rendre un statut non nul quand le drapeau manque, comme le vrai refuse en repartant dans son invite. Assisted-by: Claude Opus 5 |
||
|---|---|---|
| .. | ||
| auto_ask.py | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| migration_form.py | ||
| migration_stats.py | ||
| migration_status.py | ||
| migration_status_tui.py | ||
| qemu_deploy_form.py | ||
| qemu_install_monitor.py | ||
| README.base.md | ||
| README.fr.md | ||
| README.md | ||
| source_todo.sh | ||
| textual_setup.py | ||
| todo.json | ||
| todo.py | ||
| todo_example.json | ||
| todo_file_browser.py | ||
| todo_i18n.py | ||
| todo_prefs.py | ||
| todo_telemetry.py | ||
| todo_upgrade.py | ||
| version_manager.py | ||
TODO is an assistant robot to use ERPLibre
Execute it with ./script/todo/todo.py or make todo.
For a new project, copy todo_example.json to private/todo/todo_override.json | private/todo/todo_override_private.json and edit it.
The mail/ package is the mail client reachable from Assistant > Mail:
several IMAP/SMTP accounts, a local cache, and a Textual TUI. See
../../doc/EMAIL.md.