With drag-and-drop rescheduling removed, the list held only the INTERNET
permission and an app-side database — both already stated as rules 1 and 2
under "The rules". A second section restating them adds nothing and gives
two places to keep in sync.
The "Not going to happen" list carried drag-and-drop event rescheduling as
a settled no. That was a point-in-time decision from the roadmap era; the
owner confirmed it will come after all, so publishing it as rejected would
wrongly deter someone from proposing or building it.
Codeberg became canonical for issues, PRs and releases, but there was
nothing telling a contributor how any of it works — no CONTRIBUTING.md at
all, and no contributor entry point in the README.
The workflow it documents is issue-first: a feature needs a yes-or-no
before it needs code, since whether Calendula should do a thing is the one
decision a patch cannot make. Both features and bugs get a milestone, and
that milestone names the branch a PR targets (2.18.0 -> release/v2.18.0),
because main is a release trigger rather than a staging area. Typo and docs
fixes skip straight to a PR — an issue-per-typo helps nobody.
Two traps get their own sections because both waste a contributor's whole
afternoon: translations never go through PRs (Weblate owns every values-*
file, German included, and overwrites hand-edits on the next sync), and a
clone without --recurse-submodules cannot configure at all, since
floret-kit is a composite build compiled from source.
The rules section is the invariants that actually turn into review
comments — no network, no second database, no hand-patching UI state after
a write, domain/ free of Android imports, JVM-first tests, and the
reproducible-build flags that the official F-Droid repo depends on.