halkyon/apps/todo
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
..
halkyon_todo_client refactor(base): SimpleLogin's forwarding page on the OpenID Connect module (ADR 0023) 2026-10-24 09:17:47 +02:00
halkyon_todo_flutter feat(app,learn,todo): the assistants in Settings and on the operator's screen 2026-10-26 07:17:07 +01:00
halkyon_todo_server 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
tool feat(todo): the app on halkyon_app, with its own icon 2026-10-22 18:11:06 +02:00
.gitignore chore: Halkyon Todo's scaffold joins the repository in apps/todo 2026-10-22 18:11:03 +02:00
AGENTS.md feat(base,app)!: GitHub signs nobody in any more (ADR 0020, D36) 2026-10-26 07:16:39 +01:00
CLAUDE.md chore: Halkyon Todo's scaffold joins the repository in apps/todo 2026-10-22 18:11:03 +02:00
README.md feat(base,app)!: GitHub signs nobody in any more (ADR 0020, D36) 2026-10-26 07:16:39 +01:00

Halkyon Todo

To-dos, as a Halkyon app: for now a shell on the shared packages. People choose an instance, sign in (with SimpleLogin or a password), switch between the accounts on their devices, sign out and delete their account; the home is empty until Todo's first model.

Package What it is
halkyon_todo_server The server: Serverpod with the halkyon_base module
halkyon_todo_client Its client, generated by Serverpod
halkyon_todo_flutter The app, on halkyon_app and halkyon_ui (Android, iOS, Linux, macOS, Windows)

Run it with serverpod start in halkyon_todo_server, which starts the server (and its embedded PostgreSQL) and the app; or the app alone against an instance with flutter run --dart-define=SERVER_URL=https://…/ in halkyon_todo_flutter. Tests: dart run melos run test:dart --scope=halkyon_todo_server and dart run melos run test:flutter --scope=halkyon_todo_flutter at the repository's root, or dart run tool/check.dart for everything.

The app's icon is Lucide's list-checks (ISC licence), drawn by tool/app_icons.py. Licences: the server under the SSPL, the client and the app under the AGPL (LICENSE.md).