Commit graph halkyon/docs/adr/0045-halkyon-days.md
Author SHA1 Message Date
b4540e53cd
feat(halkyon,myrmex,train,meditate)!: a register for each app, at halkyon.li and myrmex.li (ADR 0045, step 5)
All checks were successful
CI / check (push) Successful in 46m25s
halkyon.li's deploy under Halkyon Days' names (D13, D23): the compose
files compose.halkyon.yaml, compose.myrmex.yaml and
compose.myrmex-search.yaml, the service myrmex-server, the images
halkyon-halkyon-server, halkyon-halkyon-dictionaries and
halkyon-myrmex-server, the databases halkyon_halkyon and halkyon_myrmex
and the superuser halkyon_halkyon, and every variable under its
service's name (LEARN_ is HALKYON_, TODO_ MYRMEX_). The Compose project
and its network keep halkyon-learn, as the volumes are named after it.

Every server is a register of its own (D7, D9, D20): no
ACCOUNT_REGISTER_URL, INSTANCE_SECRET or INSTANCE_MEMBER_ any more; each
reads its sign-in settings as <APP>_SIGN_UP, <APP>_SIMPLELOGIN_…, and so
on (the mail server alone is shared), signs in with a SimpleLogin app of
its own, and serves its register's pages itself: Myrmex's, Train's and
Meditate's servers add the SimpleLogin callback, the privacy page and
the profile pages, and their Caddy sites forward them.

Halkyon answers at halkyon.li and Myrmex at myrmex.li (D22):
learn.halkyon.li and todo.halkyon.li leave ramiel's HAProxy and Caddy;
Halkyon's and Myrmex's builds, snaps and F-Droid listings connect to the
new addresses, and Halkyon's App Links name halkyon.li.

The switch is a script run once by hand (D24), as the deployed
redeploy.sh can't carry the migration records nor rename an open
database: deploy/host/switch-0045.sh rewrites .env (env-0045.sh: every
secret kept, a decoy key made for each new register), dumps every
database, renames them and the superuser through a temporary superuser
in one transaction, fast-forwards, carries the migration records to the
modules' new names, migrates, copies the developer's account (its keys
and its operator's scope, D21) into the other registers, and starts
everything. deploy/host/link-simplelogin.sh then links each register's
new SimpleLogin identity to that account, found by the four words of its
wait screen. Their SQL was run against PostgreSQL 16 on the databases
the migrations define. redeploy.sh no longer carries records.

BREAKING CHANGE: learn.halkyon.li and todo.halkyon.li no longer answer;
the apps connect to halkyon.li and myrmex.li, and each app's accounts
are its own.

Whats-New: Each app now keeps its own accounts; Halkyon is at halkyon.li and Myrmex at myrmex.li.
Whats-New-De: Jede App führt jetzt ihre eigenen Konten; Halkyon ist unter halkyon.li erreichbar und Myrmex unter myrmex.li.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-13 02:05:45 +01:00
e5958689a8
feat: each app's own colour, errors a true red, part of Halkyon Days (ADR 0045, D18, D19)
halkyone_ui's theme takes the app's own colour as its primary
(AppPrimary, appTheme(primary:)): Halkyon, Train and Meditate cobalt as
before, Myrmex strawberry once it asks for it. Filled and floating
buttons fill with its deep shade in both modes, white on it, and the
first start and the operator's screen wash in it. Errors become a true
red in every app, #B3261E light and #FF6B5E dark, far in hue from
Myrmex's strawberry, which Material's crimson stood beside (D19).

An app with a name of its own shows it alone in its wordmark, in its
colour (BrandWordmark.alone, LaunchScreen.alone, AppFrame.productAlone).
About says the app is part of Halkyon Days, as does the foot of the
instance's pages: profiles, privacy, invitations (D1). A secret's file
keeps an instance's domain whole where the app is named as it
(halkyon.li, not li).

ADR 0045 records D18 and D19, the names step 4 keeps, and step 3 built.

Whats-New: Errors show in a clearer red, and About says the app is part of Halkyon Days.
Whats-New-De: Fehler erscheinen in einem klareren Rot, und „Über“ nennt Halkyon Days, zu dem die App gehört.
Signed-off-by: Tizian 「ティツィアーン」 <c.3a8bz@simplelogin.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-13 00:36:24 +01:00
016f9b7e26
docs: ADR 0045's sign-in waits for a public halkyon.li; CI's limit 90 minutes
Step 2 (a password, then SimpleLogin and halkyon_oidc out) moves after
step 5: a password needs mail, which halkyon.li doesn't send, and
SimpleLogin serves the developer alone until halkyon.li opens to the
public. Step 3 renames the module's SimpleLogin part with the rest and
leaves halkyon_oidc its name. The snap names halkyon and myrmex are
registered (D17). Where the public instances run is a new open question,
with the agent's recommendation: a rented server in Germany for the
servers and databases, the sidecars at home.

CI's timeout-minutes goes from 60 to 90: a warm run takes about 46
minutes, and the first run after the organisation's rename was stopped
at 60, having lost 20 minutes fetching.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-12 22:41:59 +01:00
a29ad45ef1
build: the organisation on code.halkyon.app is halkyon-days
All checks were successful
CI / check (push) Successful in 46m54s
ADR 0045, D12, step 1: project-halkyon was renamed halkyon-days, its
repositories keeping their names. Every URL naming it moves along: the
servers' source-code links, which the AGPL requires, and their tests;
the forks in the pubspecs and the lock (appflowy-editor, pure-zstd,
serverpod-offline-sync); the snaps, the F-Droid listings and the
release configurations; the docs. The curator's credit for the
alphabets names the repository by its name since ADR 0015, halkyon,
rather than halkyon_learn. Forgejo redirects the old addresses until
the name is taken again.

ADRs 0015 and 0039 keep the name they were written with, and the local
folders theirs.

halkyon_editor's gen-l10n caches under build/, committed before its
.gitignore named the folder, are no longer tracked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-12 16:30:46 +01:00
8d9ab06e8d
docs(adr): Halkyon Days, its apps, names and domains
ADR 0045: the project becomes Halkyon Days; Halkyon is the learning app,
Myrmex the task app, Keyx a voice assistant later. halky.one is the
project's site, halkyon.li and myrmex.li its public instances with
separate registers, signing in by email, password and authenticator
alone. The code takes the prefix halkyone_, the app IDs one.halky.*,
the organisation the name halkyon-days. It amends ADR 0039, whose
halkyon.li was the family's instance alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-12 13:35:44 +01:00