# halkyon_learn_core Halkyon Learn's content in pure Dart (Halkyon's ADR 0044, D49): what the app and Learn's agent both read and write, so the privacy rules and the payloads live in one place. - `core/`: the payloads' envelope and codecs (`content/`), privacy (`privacy/`: `Privacy`, `ContentKeys`, the ledger, shared spaces' keys), the sync's spaces (`sync/`: `SpaceRouter`, `SyncSpaceLookup`, positions), people's files (`asset/`), `LatestValue` and `watchReads` (`async/`), citations and public people. - `feature/`: the models, payload codecs, gateways (the synced ones included) and repositories of studysets, cards, notes, tags, feedback and learning paths, and what they take of study options. - `testing.dart`: the fakes of its gateways, for the app's tests and the agent's. The synced gateways take halkyon_core's `SyncRequests`, which halkyon_app's `SyncService` and the agent's own sync implement. What only the app shows (progress, exam coverage, deletions' waits, the card browser, a subject's icon and name) stays in the app, `halkyon_learn_flutter`. PDFs, reviews and settings move here when the agent needs them. Its tests are still the app's (`halkyon_learn_flutter/test/`), on the fakes of `testing.dart`. Licensed under the AGPL-3.0.