halkyon/apps/learn/halkyon_learn_server/migrations
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 24ed63585e
feat(base)!: one budget per person for all their assistants, the effort each takes, the operator's lists by page
A grant now says only which assistant a person may use, and keeps their
agreement; the limits are the person's (assistant_budget): one per UTC
day and month in money and in tokens, each optional, money counting the
assistants with prices, tokens every one (Halkyon Learn's ADR 0021, D58,
D59). assistantOperator.grant gives several people several assistants
with one budget, change sets one person's exactly, revoke takes back
everything; grantees and granteesOf list people with their assistants,
budget and use, 50 at a time. The migration carries each person's grant
limits into a budget: per unit, their sum, a grant without a limit making
it none.

assistants.env gives each assistant a default and a highest effort
(_EFFORT, _MAX_EFFORT; refused at start where the provider takes none);
ask takes one within that range, refusing another (invalidEffort), and
caps the output at its ceiling (D63).

instanceOperator.waiting and accounts come 50 at a time from an offset,
and counts gives the rows of the operator's screen (D62).

BREAKING CHANGE: the offer, the grants and the operator's lists changed
shape; Learn's server now asks for build 25.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-26 16:21:53 +01:00
..
20260916165410927 chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20260930094729362-studysets chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20260930122235111-cards chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20260930145136285-reviews chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261001064926911-tree-tags-assets chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261002035419149-file-allowance chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261002191122122-notes chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261002211346701-learning-paths chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261003110855698-pdf-sources chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261007205440868-card-buried-at chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261008165051407-pdf-position chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261008223835206-dictionaries chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261009123850448-dictionary-kind chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261009145434785-dictionary-entry-version chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261009184924904-public-profiles chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261009195137836-published-studysets chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261009202105673-explore chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261009215552429-learner-count chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261009220324372-based-on chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261009224606274-feedback chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261010095547719-assistant-connector chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261012162411835-studyset-deleted-at chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261013035552510-dictionary-keys chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261014153932647-release-colour chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261015171326465-email-sign-in chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261015220121195-verified-links chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261015220626303-discussions chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261017110130653 chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261019121406578-halkyon-base chore: Halkyon Learn moves into apps/learn 2026-10-22 18:11:02 +02:00
20261019201023295-profiles-in-halkyon-base refactor(profile): handles and profiles move into halkyon_base 2026-10-22 18:11:07 +02:00
20261019204112282-deletion-notices feat(accounts): one account across an instance's services (ADR 0016) 2026-10-22 18:11:07 +02:00
20261020111943300-passwords feat(auth): Learn's and Todo's servers take password sign-in 2026-10-22 18:11:11 +02:00
20261020125117584-sessions-ended feat(auth): change the password and the recovery phrase while signed in 2026-10-23 14:12:40 +02:00
20261020185750538-recovery-proof-key fix(auth)!: the recovery phrase is proved by a key of its own 2026-10-23 14:12:43 +02:00
20261020194228286-second-factor-waits fix(auth): codes wait after ten wrong in a row, and the owner is told 2026-10-23 14:12:44 +02:00
20261020204619104-session-code-tries fix(auth): a session's wrong codes end the session, not the account's codes 2026-10-23 14:12:47 +02:00
20261020211224692-email-code-purpose fix(auth): a code by mail serves only what it was asked for 2026-10-23 14:12:48 +02:00
20261021100422048-session-ended-warning feat(auth): a session ended for its wrong proofs warns its owner 2026-10-23 14:12:51 +02:00
20261021110159867-second-factor-paths fix(auth): codes after the recovery phrase count apart from the password's 2026-10-23 14:12:52 +02:00
20261021134803749-reset-hold-outs fix(auth): a hold-out moves a reset on only by its own time, and a reset lives 30 days at most 2026-10-23 14:12:59 +02:00
20261021184601197-private-studysets feat(privacy): the instance's side of private studysets (ADR 0019) 2026-10-23 14:13:08 +02:00
20261023131636437 feat(assistant)!: no hand-off and no connector; the field searches the web (ADR 0022) 2026-10-23 17:48:30 +02:00
20261023181810112-oidc-module refactor(base): SimpleLogin's forwarding page on the OpenID Connect module (ADR 0023) 2026-10-24 09:17:47 +02:00
20261023192913178-simplelogin-keys feat(base): SimpleLogin accounts' keys without SRP, signing up in one call (ADR 0020, step 3) 2026-10-24 09:17:48 +02:00
20261025135744595-waiting-accounts feat(base)!: sign-ups as the operator says, waiting accounts, operators (ADR 0021, step 1) 2026-10-26 07:17:05 +01:00
20261025165102861-assistants feat(base,learn,todo): the operator's assistants, and the instance's privacy page (ADR 0021, step 2) 2026-10-26 07:17:06 +01:00
20261025184004860-assistant-conversations feat(learn): conversations with assistants, kept sealed (ADR 0021, step 3) 2026-10-26 07:17:08 +01:00
20261026140329810-assistant-budgets feat(base)!: one budget per person for all their assistants, the effort each takes, the operator's lists by page 2026-10-26 16:21:53 +01:00
migration_registry.txt feat(base)!: one budget per person for all their assistants, the effort each takes, the operator's lists by page 2026-10-26 16:21:53 +01:00