tasks: CalDAV provider (Nextcloud Tasks/iOS), review reports unknown values; bump stops pointing at release (#139)
CI / verify (push) Successful in 1m12s
Release / release (push) Successful in 39s

Files changed:
- CHANGES.md
- INSTALL.md
- VERSION
- instructions/dev/version-parts.md
- instructions/gtd-weekly-review/SKILL.md
- tools/CONTRACT.md
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/version_cmd.py
- tools/chemenu/review.py
- tools/chemenu/tasks/__init__.py
- tools/chemenu/tasks/caldav.py
- tools/chemenu/tasks/config.py
- tools/chemenu/tests/test_caldav.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_review.py
- tools/requirements.txt
This commit is contained in:
torben committed 2026-09-25 20:43:53 +02:00
1 parent 4446424e01
commit 6d53c55d0d
16 files changed
+1912 -14

No files matched your search

+43
View File
@@ -59,6 +59,49 @@ concern - readable here, never shipped as something to parse.
---
## 7.1.0-beta.2 - 2026-09-25 - version bump no longer points at version release in its output
**Author:** Torben Nehmer
<!-- wikitool:bumps -->
**Medium impact**
- CalDAV task-tracker provider (Nextcloud Tasks, iOS Reminders); review reports unknown-value findings instead of skipping them
**Low impact**
- version bump no longer points at version release in its output
<!-- /wikitool:bumps -->
### CalDAV task-tracker provider (Nextcloud Tasks, iOS Reminders); review reports unknown-value findings instead of skipping them
A second task-tracker adapter, `caldav` (RFC 4791/5545), so an instance is not bound to Super
Productivity - built against Nextcloud Tasks with iOS *Erinnerungen* as the mobile client and
verified against a real account. `TaskReader`/`TaskWriter` are implemented in full without
`tasks/protocol.py` changing at all, proving the provider layer is genuinely exchangeable. The
mapping: a project is a calendar collection whose only supported component is `VTODO`; `WAITING`
is a `waiting` category; `follow_up_at` is `DTSTART`, never `DUE`; a project's `created` falls
back to the earliest item's own `CREATED` (no server in the test account returns
`DAV:creationdate` on a calendar); `create_project` uses a real `MKCALENDAR` call and so never
needs a human-clearance step the way Super Productivity's does; `close_item` changes only
`STATUS`/`COMPLETED`/`PERCENT-COMPLETE`/`LAST-MODIFIED`/`DTSTAMP` on the existing resource and
refuses on an ETag conflict; nothing is ever deleted. Every address used - a list's or an item's
- comes from the server's own `href`, never built from the configured URL and a name, since the
configured URL may be an alias for a different canonical path.
Alongside it, `wikitool review`'s checks 2 and 3 no longer silently skip a value a provider
cannot supply - a `WAITING` item with no `follow_up_at`, or a tracker project with no
determinable creation date - and instead report it as its own finding
(`waiting_no_follow_up`/`project_age_unknown`), for every provider. `icalendar` is now a required
dependency (`tools/requirements.txt`), imported only when `caldav` is actually configured.
### version bump no longer points at version release in its output
`version bump` used to end with "and `version release` once the candidate is ready to ship", and
an agent read that as its own next step and fixed a candidate into a release unasked. The hint
is gone: whether a candidate ships is the user's decision, as `DEVELOPMENT.md` already says for
humans, and `instructions/dev/version-parts.md` step 7 now says so for agents.
---
## 7.0.0 - 2026-09-22 - Task-Tracker-Anbindung: Vorhaben als Seitenart, Verpflichtungsschicht, Weekly Review als Read-Time-Join
**Author:** Torben Nehmer