fix: log append reports an unreadable --body-file as ERROR, not a traceback (#145)
CI / verify (push) Successful in 1m10s
Release / release (push) Successful in 35s

Files changed:
- CHANGES.md
- VERSION
- tools/CONTRACT.md
- tools/chemenu/commands/log_append.py
- tools/chemenu/tests/test_log_append.py
This commit is contained in:
torben committed 2026-09-26 16:03:44 +02:00
1 parent 685fc2e15e
commit a70d904274
5 files changed
+83 -6

No files matched your search

+14 -1
View File
@@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse.
---
## 7.1.0-beta.23 - 2026-09-26 - network: property defined; sync, publish and upstream merge marked networked
## 7.1.0-beta.24 - 2026-09-26 - log append: unreadable --body-file is an ERROR line, not a traceback
**Author:** Torben Nehmer
@@ -92,6 +92,7 @@ concern - readable here, never shipped as something to parse.
- Command records, Instance health group: one bullet per check, examples
- Command records: NOTES is always a tuple of bullets; every record's examples are tested
- network: property defined; sync, publish and upstream merge marked networked
- log append: unreadable --body-file is an ERROR line, not a traceback
<!-- /wikitool:bumps -->
### CalDAV task-tracker provider (Nextcloud Tasks, iOS Reminders); review reports unknown-value findings instead of skipping them
@@ -376,6 +377,18 @@ is gone from `version check`'s record, from two docstrings in `version_cmd.py`,
CalDAV and Super Productivity providers do too. A test over the real registry pins the set of
`network: yes` commands, so a change to it is an edit to that test rather than silent drift.
### log append: unreadable --body-file is an ERROR line, not a traceback
`log append --body-file <pfad>` rief `Path.read_text()` ungeschützt auf; fehlte die Datei, war
sie ein Verzeichnis oder kein gültiges UTF-8, endete der Aufruf mit einem Python-Traceback statt
mit der `ERROR`-Zeile, die der Datensatz seit jeher versprach - Fall 4 des Tool error contract
(unerwarteter Fehler, nicht wiederholen) statt Fall 2 (Validierungsfehler, einmal korrigiert
wiederholen), obwohl der Datensatz Fall 2 dokumentierte. Das Lesen ist jetzt in
`try/except (OSError, UnicodeDecodeError)` gefasst und bricht über `fail()` ab, bevor
`kb/log.md` geöffnet wird; die Datei bleibt in jedem Fehlerfall byte-identisch zum Vorher. Der
Datensatz benennt die Ursache jetzt genauer ("missing, not a readable file, or not valid
UTF-8"). Gefunden beim Datensatz-Durchgang für #142/#143 (Gitea #145).
---
## 7.0.0 - 2026-09-22 - Task-Tracker-Anbindung: Vorhaben als Seitenart, Verpflichtungsschicht, Weekly Review als Read-Time-Join