halkyon/docs/adr
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 54e212a51c
Some checks failed
CI / check (push) Failing after 1m56s
feat(learn): Learn's agent, an MCP server suggesting in shared studysets
Halkyon's ADR 0044, step 6c (D7, D49 to D52). apps/learn/halkyon_learn_agent
is one executable, `halkyon-agent --instance URL sign-in | sync | mcp`:

- sign-in keeps the token read from stdin, signs in with it, makes the
  agent's key pair on its first sign-in, keeps it before setting the
  public halves on the register (agents.setKeys), and syncs;
- it opens its data as the app's _openPersonData does, on
  halkyon_learn_core and halkyon_content: its own SQLite database, the
  sync's space router, its keys and those of the spaces shared with it,
  and the repositories of studysets, cards, notes, paths, files and
  feedback;
- mcp serves ten tools over stdio (dart_mcp): list, read and search the
  studysets shared with it, suggest a change or a new card or note,
  report, list a studyset's suggestions and reply. Each syncs first and
  a suggestion again at once; a refusal is the tool's error;
- its files live in $XDG_CONFIG_HOME/halkyon-agent/<host>, 0700 and
  0600, refused when others may read them (D50);
- tool/install.sh builds it with `dart build cli` (libsodium and SQLite
  bundled) and copies it to its user on the host, the build before kept
  (D52).

The synced gateways of learning paths and files, and the fakes of the
core's gateways, move into halkyon_learn_core (its testing.dart), which
the app's tests and the agent's share.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-11-11 22:08:31 +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(learn): Learn's agent, an MCP server suggesting in shared studysets 2026-11-11 22:08:31 +01:00