Files
agendula/docs
Jean-Luc Makiola 7940134381 docs: settle the storage and sync direction
Replaces the "Posture B = bundle OpenTasks under org.dmfs.tasks" working
notes (never committed) with the decided direction: Agendula gets its own
identity all the way down — its own bundled provider under its own
authority, its own sync adapter, and a user-chosen storage mode.

Squatting org.dmfs.tasks is out. The decisive reason is structural rather
than aesthetic: content-provider authorities are what a sync engine
resolves, but Android account visibility is keyed by package name, so a
bundled provider masquerading as OpenTasks could see zero accounts — and
the dmfs provider prunes task lists whose account has gone away. That is a
silent data-loss bug invisible to both sides. Owning the namespace makes it
impossible by construction. Play adds a second veto: a duplicate authority
or permission name is a failed install for anyone with OpenTasks.

Also records: vendoring the Apache-2.0 provider in-tree (JitPack and Maven
Central both verified dead ends), the three storage modes, staged
permissions split by runtime vs install-time, what belongs in floret-kit
rather than here, and the F-Droid + Play constraints to build for from day
one.

ARCHITECTURE.md §7 and the ProviderResolver KDoc still describe the old
Posture B and need a follow-up edit; ROADMAP.md and PLAN.md remain stale
pending their own pass.
2026-08-02 17:54:51 +02:00
..
2026-06-27 23:10:24 +02:00
2026-06-27 23:10:24 +02:00

Agendula — documentation

Agendula is a Material 3 Expressive task app for Android: a pure front-end over the OpenTasks TaskContract provider (synced by DAVx5 / SmoothSync / DecSync over CalDAV), with no own database or sync stack. Sibling to Calendula. See the top-level ../README.md for the project pitch.

Index

Doc What it covers
ARCHITECTURE.md How Agendula is built today — layers, the data seam, provider resolution, the reminder engine, DI, build/tooling, manifest. Start here to work on the code.
ROADMAP.md Status and what's next — milestones (M0M6 + Posture B), what's done, open decisions, how to build/verify.
PLAN.md The original implementation plan and design rationale — the A-now-B-later thesis, what transfers from Calendula, the locked decisions. The "why".
RELEASING.md How to cut a release — the git-tag-as-source-of-truth flow, CI jobs, F-Droid repo, required secrets.

Also: ../CHANGELOG.md (Keep a Changelog format; tag sections feed the release notes).

How the docs relate

  • PLAN is the design decisions (mostly stable; the "why").
  • ARCHITECTURE is the current shape of the code (kept in sync with the source as it grows).
  • ROADMAP is the moving status layer (update as milestones land).
  • RELEASING is the operational runbook.