halkyon/docs/adr
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 82c777b1a5
feat(base,learn): suggest changes within a shared studyset
ADR 0044's step 6b (D44, D46 to D48): a Viewer, and an agent, suggest
changes within a shared studyset, which its Owner and Editors accept or
decline.

A suggestion or report is written as Explore's are, in its writer's own
synced space, with kinds of its own (space-suggestion, space-report)
and the space's id in feedback_thread's publicationId, so no synced
table changes and older apps, skipping kinds they don't know, keep
syncing. Where the studyset is private it is sealed with its key, bound
to the space; a reply to it is sealed for its thread.

Learn's server gathers a space's threads for its members alone
(feedback.threadsInSpace, NotFound for anyone else): only threads and
replies by members now, decisions only from rows in the space itself,
where the engine lets its Owner and Editors alone write; sealed
payloads pass in base64 with their key and nonce. The inbox adds the
threads its caller decides on or wrote. The module tells a host a
person's spaces and each space's members (sharedSpacesOf,
membersOfSpaces). No migration: no table changes.

In the app, a Viewer's card and note offer Suggest a change: the fields
write into the suggestion alone, sent with a message. A shared
studyset's menu lists its Suggestions, where its Owner and Editors
accept a change as a revision, or a new card or note into the
studyset, and decide in the space. A suggestion naming a file that
isn't the studyset's, or bringing files of its own, isn't taken.

Whats-New: In a studyset shared with you as a viewer, suggest a change to a card or note; its owner and editors find your suggestions under Suggestions in its menu and accept or decline them.
Whats-New-De: In einem Lernset, das du nur ansehen darfst, schlägst du Änderungen an Karteikarten und Notizen vor; Besitzer:in und Bearbeiter:innen finden sie im Menü unter „Vorschläge“ und nehmen sie an oder lehnen sie ab.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-11 20:43:55 +01:00
..
0001-offline-sync.md docs: ADR 0001's spike is kept by its developer, not published 2026-10-14 16:10:05 +02:00
0002-no-end-to-end-encryption.md docs(adr): private studysets (ADR 0019) 2026-10-23 14:13:08 +02:00
0003-card-revisions.md docs: one repository for every app and shared package (ADR 0015) 2026-10-22 18:11:04 +02:00
0004-tree-tags-review-modes-settings-assets.md feat(app): write kanji, kana and words by hand, each stroke checked 2026-10-09 18:09:34 +02:00
0005-public-tier.md feat(learn): Explore by what a licence allows, a skeleton while the library loads, and an assistant's agreement per provider (ADR 0005, rule 12; ADR 0021, D66) 2026-11-02 05:19:18 +01:00
0006-assistant-connector.md feat(assistant)!: no hand-off and no connector; the field searches the web (ADR 0022) 2026-10-23 17:48:30 +02:00
0007-recently-deleted.md feat(studyset): deleted studysets wait 14 days in Recently deleted 2026-10-13 21:21:43 +02:00
0008-languages-beyond-japanese.md docs: ADR 0008 with the sizes and times measured on the real data 2026-10-14 09:39:31 +02:00
0009-language-parity.md docs: ADR 0009, feature parity for the other languages 2026-10-14 14:35:35 +02:00
0010-email-sign-in.md feat(base)!: no anonymous accounts on the server (ADR 0020, D25) 2026-10-24 16:14:42 +02:00
0011-profile-pages-and-verified-links.md feat(profile): profile pages on the account domain, and links verified by rel="me" 2026-10-17 19:46:29 +02:00
0012-japanese-on-the-device.md feat(dictionary): Japanese cut into words and looked up on the device 2026-10-17 19:46:30 +02:00
0013-discussions.md feat(discussions): questions on published studysets, answered by learners 2026-10-17 19:46:32 +02:00
0014-halkyon-base-module.md feat(app,learn): the device's appearance and language, halkyon_app's, as Learn's Settings show them 2026-11-05 08:58:40 +01:00
0015-one-repository.md build(release): a Dart release tool for every app 2026-10-22 18:11:05 +02:00
0016-accounts-across-an-instance.md feat(base)!: no anonymous accounts on the server (ADR 0020, D25) 2026-10-24 16:14:42 +02:00
0017-password-totp-and-keys.md feat(app): an authenticator's key copied, marked sensitive, and its code six digits 2026-11-04 09:32:01 +01:00
0019-private-studysets.md fix(learn): nothing of Learn's goes to Android's backup or to another phone (ADR 0019, D9) 2026-10-30 16:46:23 +01:00
0020-sign-in-with-simplelogin.md feat(base,train): Train signs in with SimpleLogin, on ways back of its own (ADR 0020) 2026-10-30 15:53:09 +01:00
0021-private-instance-and-assistant.md feat(learn): Add material no longer offers flashcards from a text (ADR 0021, D56 amended) 2026-11-05 08:58:38 +01:00
0022-no-hand-off-and-no-connector.md docs(adr): ADR 0021 accepted, the assistant's boundaries (D7–D30) 2026-10-26 07:17:04 +01:00
0023-openid-connect-module.md feat(oidc): halkyon_oidc_flutter, the device's half of signing in with OpenID Connect (ADR 0023) 2026-10-24 09:17:49 +02:00
0024-languagetool-sidecar.md feat(learn): the assistant's field laid out as Claude's, with files attached and questions spoken, and no Check (ADR 0021, D67) 2026-11-02 08:46:37 +01:00
0030-halkyon-train.md refactor(ui,learn,todo,train,meditate): the navigation bar's one look, the debug section gone 2026-11-08 11:48:39 +01:00
0031-the-apps-icons.md feat(learn,train,todo,meditate): the icons on a white tile again, coloured by the system's theme on Android and iOS (ADR 0031, D9, D10) 2026-11-10 14:22:49 +01:00
0032-jellyfin-at-home.md docs(adr): halkyon.li at home through ramiel, and the Instance console (ADR 0039, 0040) 2026-11-08 19:59:33 +01:00
0033-halkyon-todo.md feat(todo): Todo's server answers a place's forecast (ADR 0033, D40) 2026-11-10 15:27:58 +01:00
0034-train-equipment-and-plate-maths.md feat(train): a weight vest among the equipment (ADR 0034, D7) 2026-11-05 22:55:30 +01:00
0035-train-strength-plans.md feat(train): strength plans and sessions (ADR 0035) 2026-11-02 13:31:51 +01:00
0036-train-workout-weather.md feat(train): workouts' weather from Open-Meteo, through the instance (ADR 0036) 2026-11-02 14:01:34 +01:00
0037-train-movement-reminders.md feat(train): reminders to move and workouts suggested from the steps (ADR 0037) 2026-11-02 14:56:12 +01:00
0038-halkyon-meditate.md feat(learn,todo,meditate): dictate through the phone's voice input app (ADR 0038, D18) 2026-11-08 11:48:42 +01:00
0039-halkyon-li-at-home.md feat(deploy): halkyon.li's first start, its .env made on the host (ADR 0039, D21) 2026-11-08 22:07:22 +01:00
0040-instance-console.md docs(adr): halkyon.li at home through ramiel, and the Instance console (ADR 0039, 0040) 2026-11-08 19:59:33 +01:00
0041-learn-subjects.md feat(learn): the library on shelves by recency, narrowed to a subject (ADR 0041, D8) 2026-11-10 19:21:00 +01:00
0042-mobile-data.md feat(app,ui): sync waits on mobile data and asks first 2026-11-10 23:46:29 +01:00
0043-shared-file-store-todo-attachments.md feat(todo,app): files attached to tasks and comments 2026-11-11 01:19:41 +01:00
0044-shared-spaces-and-collaboration.md feat(base,learn): suggest changes within a shared studyset 2026-11-11 20:43:55 +01:00