refactor!: packages, paths and app IDs under Halkyon Days' names (ADR 0045, step 3)

Learn's folder is apps/halkyon, Todo's apps/myrmex; every package of
ours takes the prefix halkyone_ (halkyone_halkyon_*, halkyone_myrmex_*,
halkyone_train_*, halkyone_meditate_*, halkyone_app, halkyone_base_* and
the other shared ones; halkyon_oidc_* keeps its name, D11). Halkyon and
Myrmex take the app IDs one.halky.halkyon and one.halky.myrmex (D10);
Train and Meditate keep theirs, while every app's Android namespace,
Kotlin package and method channels move to one.halky. The snaps are
halkyon and myrmex (D17), each built in a clone with its recipe in
place of snap/, as Train's and Todo's were.

Serverpod finds a database's migrations by its module's name, which
changed with the packages':
- each server's new, empty migration ("rename") records itself under
  the new names and deletes the rows under the old ones;
- deploy/redeploy.sh copies each database's record to the new name
  before the migrations (carry_module), so the renamed servers find
  their databases migrated; a copy, never a move, so a deploy failing
  before the migration commits leaves the old rows in place;
- Train and Meditate keep their devices' databases: halkyone_app's
  carryMigrationRecord copies their record before the sync engine
  opens them (openPersonDatabase);
- the client migrations' generated moduleName getters, one line each,
  say the new names: Serverpod's client asserts in debug builds that
  every migration names the module, and create-migration never writes
  a migration's files again.

Train's WorkManager work is enqueued under new names, the former ones
cancelled: the work kept names the workers' former classes.

The release tool: an app's tags of its earlier names count as its
history (legacyTagPrefixes), the shared packages' former paths count
for its version, and every snap is built in a clone (atRoot gone).

The databases, Docker images and Compose project keep their names
until step 5.

BREAKING CHANGE: Halkyon (Learn) and Myrmex (Todo) are new apps to
Android and the Snap Store: installs of app.halkyon.learn and
app.halkyon.todo don't update to them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-12 23:21:45 +01:00
commit b4290f71c8
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
13 changed files with 118206 additions and 13301 deletions

View file

@ -1,3 +0,0 @@
{
"apiUrl": "http://localhost:8080"
}

View file

@ -1,43 +0,0 @@
ISC License
Copyright (c) 2026 Lucide Icons and Contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
---
The following Lucide icons are derived from the Feather project:
airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
The MIT License (MIT) (for the icons listed above)
Copyright (c) 2013-present Cole Bemis
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

View file

@ -1 +0,0 @@
- Die erste Version von Halkyon Todo: Aufgaben im Eingang und in Projekten mit Abschnitten, Heute und Demnächst, wiederkehrende Aufgaben und Erinnerungen, jedes Projekt als Liste, Board oder Kalender, alles versiegelt.

View file

@ -1 +0,0 @@
- The first release of Halkyon Todo: tasks in an Inbox and in projects with sections, Today and Upcoming, repeating tasks and reminders, each project as a list, a board or a calendar, everything sealed.

View file

@ -1,6 +0,0 @@
- Erinnerungen zu eigener Uhrzeit, und Dauern.
- Schnelles Hinzufügen ist eine Leiste über der Tastatur und versteht „vor“ einem Tag, Dauern und Zeiten wie !30m und !1pm.
- Neues Aussehen: abgerundete Zeilen, ein neues Heute, Projekte in eigener Farbe; zum Synchronisieren herunterziehen.
- Eine Aufgabe öffnet sich halb hoch; Anzeige zeigt Layouts als Bilder.
- Ein Fragezeichen erklärt eine Einstellung.
- Der Schlüssel für die Authenticator-App lässt sich kopieren, Codes haben sechs Ziffern.

View file

@ -1,6 +0,0 @@
- Reminders at a time of their own, and durations.
- Quick add is a small bar above the keyboard and understands "before" a day, durations and times such as !30m and !1pm.
- A new look: rows in rounded boxes, a new Today, each project in its own colour; pull a list down to sync.
- A task's sheet opens partway up; Display shows its layouts as pictures.
- A question mark beside a setting explains it.
- An authenticator's key can be copied, and its codes have six digits.

View file

@ -1,7 +0,0 @@
- Erinnerungen kommen auf die Minute; Todo fragt vorher um Erlaubnis.
- Heute: Layout Kalender, Aufgaben ziehst du aus dem Plan auf eine Stunde.
- „Aufgabe hinzufügen“ hebt Daten beim Tippen hervor, die Rücktaste lässt ein Wort Text bleiben, diktieren geht auch.
- „Projekt hinzufügen“ ist eine eigene Seite, mit Unterprojekten und Favoriten.
- Unteraufgaben öffnen sich im Blatt ihrer Aufgabe.
- Uhrzeiten bleiben, Projekte behalten ihre Anzeige.
- Einstellungen: Darstellung und Sprache wählen.

View file

@ -1,7 +0,0 @@
- Reminders arrive on the minute, and Todo asks to notify as soon as there is one.
- Today: a Calendar layout, with tasks dragged from its Plan onto an hour.
- Add task highlights dates as you type, keeps a word as text with Backspace, and dictates.
- Add project is a screen of its own, with sub-projects and favourites.
- Sub-tasks open in their task's sheet.
- A time picked for a date is kept, and editing a project keeps its Display.
- Settings: choose the appearance and language.

View file

@ -1,8 +0,0 @@
- Orte: Erinnerung beim Ankommen oder Gehen (Android).
- Kommentare mit Formatierung und Reaktionen.
- Filter & Labels, Auswertung mit Zielen und Serien, eine Tabelle.
- Kalender: Größe ziehen, per Tipp hinzufügen, der Plan in 3 Tagen, 3 Tage auch im Eingang.
- Die Navigationsleiste am Rand, mit Welle in der Farbe des Bildschirms.
- Abhaken und Verschieben zeigt sich sofort.
- Diktieren über deine Spracheingabe-App, etwa FUTO.
- Ein dunkles App-Symbol, viele Kalender-Korrekturen.

View file

@ -1,8 +0,0 @@
- Locations: be reminded on arriving or leaving (Android).
- Comments with rich text and reactions; rich-text descriptions.
- Filters & labels, Reporting with goals and streaks, a Table layout.
- Calendar: resize and add by tap, the Plan in Upcoming's 3-day view, 3-day for the Inbox.
- A flush navigation bar with a wave in the screen's colour.
- Ticking and moving tasks shows at once.
- Dictation through your voice input app, such as FUTO.
- A dark app icon, and many calendar fixes.