docs: bring the docs in line with what shipped
STORAGE-AND-SYNC.md asked for a follow-up pass on ARCHITECTURE.md §7 and the
ProviderResolver KDoc, which still defined Posture B as "bundle OpenTasks and
find org.dmfs.tasks first" — the plan that was withdrawn as a dead end. That pass,
plus the status the doc left open.
ARCHITECTURE.md now describes the app as built: two modules, the storage-mode
table with the permission each needs, the autoMode rule and why it keys on
holding an external provider's permission, the two-not-three mode vocabulary, and
a manifest section that says what :provider contributes and what is deliberately
absent (GET_ACCOUNTS, INTERNET). §7 records squatting the dmfs authority as a
dead end rather than a road not yet taken, so it doesn't get re-proposed.
ROADMAP.md turns "Posture B, later" into what actually landed and lists what
didn't: the frontend surfaces, the DAVx5 issue, the sync adapter, and device
verification. Two open decisions resolved and struck through — the authority
choice, and recurrence-aware editing, which fix/provider-interaction-review made
stale.
STORAGE-AND-SYNC.md gets per-step status. Open question 3 ("does it work with no
account?") is answered, with the caveat that the test proving it is Robolectric
and skips on ARM64 — answered by construction, not yet on a device.
PLAN.md gets a banner. It's the original design document and still holds the
reasoning behind the layering, but two of its premises are overturned and it
should not be read as current.
README.md was telling users they need a tasks provider installed. They don't, and
that's the headline feature: a table of where tasks can live, that our provider
coexists with OpenTasks rather than replacing it, and that everything exports as
standard .ics.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
19
docs/PLAN.md
19
docs/PLAN.md
@@ -1,5 +1,24 @@
|
||||
# Agendula — implementation plan
|
||||
|
||||
> ⚠️ **Historical document.** This is the original design plan, kept for the
|
||||
> reasoning behind decisions that are still in force — the layering, the data
|
||||
> model, the reminder engine, what transfers from Calendula. It is **not** a
|
||||
> description of the app as it stands.
|
||||
>
|
||||
> Two things here have since been overturned, both by
|
||||
> [`STORAGE-AND-SYNC.md`](STORAGE-AND-SYNC.md), which supersedes this document
|
||||
> wherever they disagree:
|
||||
>
|
||||
> 1. **"No own storage."** Agendula now ships its own bundled task provider, and
|
||||
> depending on an external provider app is a user choice rather than a
|
||||
> requirement.
|
||||
> 2. **"Posture B = bundle OpenTasks under `org.dmfs.tasks`."** That is a dead
|
||||
> end, not a later step — two apps cannot declare the same authority or
|
||||
> permission name. Posture B shipped under *our own* authority instead.
|
||||
>
|
||||
> For the current picture see [`ARCHITECTURE.md`](ARCHITECTURE.md); for status,
|
||||
> [`ROADMAP.md`](ROADMAP.md).
|
||||
|
||||
> A modern Material 3 Expressive **task** app for Android. Reads, writes, and
|
||||
> reminds — on top of an existing tasks provider (synced by DAVx5 / SmoothSync /
|
||||
> DecSync over CalDAV), with no own sync stack.
|
||||
|
||||
Reference in New Issue
Block a user