This website requires JavaScript.
a56295b0e2
docs: record what phase 8 built, and what is left for a person across all nine
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:26:56 +02:00
5f0afdf34d
feat: render every preview under the five conditions a screen has to survive
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:24:49 +02:00
9946f98ca8
docs: write the UI conventions down where they are needed
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:21:18 +02:00
9f09f48133
build: make the conformance audit part of check, and gate the branch on it
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:19:57 +02:00
b6aa2111ac
docs: record what phase 7 built, including the API the plan named that does not exist
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:16:46 +02:00
410ece2df9
feat: fade between a screen's states instead of cutting between them
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:16:05 +02:00
61793e2779
feat: give navigation its transitions from the motion scheme, and honour reduced motion
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:11:54 +02:00
dd40eeda76
fix: break the transcript's same-second tie on write order, so a burst reads forwards
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:04:21 +02:00
16775bf6c7
docs: record what phase 6 built, and give the audit a floor to defend it
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:04:00 +02:00
3f78eef1e8
feat: put the chat list beside the conversation, from the expanded breakpoint up
Kgothatso Ngako and Claude Opus 5
2026-09-08 08:01:16 +02:00
714354ae9a
feat: give the app a navigation component, and stop the app bar duplicating it
Kgothatso Ngako and Claude Opus 5
2026-09-08 07:53:27 +02:00
a53a9c3e11
feat: open the desktop window at a width the layouts are now written for
Kgothatso Ngako and Claude Opus 5
2026-09-08 07:36:38 +02:00
e95ece9027
fix: give form helper text and the review list the leading edge of what they describe
Kgothatso Ngako and Claude Opus 5
2026-09-08 07:34:55 +02:00
05e80bf099
feat: hold every screen's content to a readable line, and centre it in the window
Kgothatso Ngako and Claude Opus 5
2026-09-08 07:31:33 +02:00
b5bb0042b1
refactor: take the chat transcript out of the view model it was living in
Kgothatso Ngako and Claude Opus 5
2026-09-08 07:21:07 +02:00
03d1e8e3b1
feat: give the app the five breakpoints, and let the screen margin follow them
Kgothatso Ngako and Claude Opus 5
2026-09-08 07:15:43 +02:00
043d725599
feat: draw the expressive loading indicator, and stop shouting the sign-out button
Kgothatso Ngako and Claude Opus 5
2026-09-08 02:01:39 +02:00
44bf2a01f0
feat: give the app somewhere to report an outcome, and every dead-end error a way out
Kgothatso Ngako and Claude Opus 5
2026-09-08 01:57:18 +02:00
2117e22d48
refactor: make the 40 interpolated UI strings format strings, and assert the argument order
Kgothatso Ngako and Claude Opus 5
2026-09-08 01:45:35 +02:00
419504c982
refactor: move 315 UI strings into the resource catalogue, and prove the escapes survive
Kgothatso Ngako and Claude Opus 5
2026-09-08 01:38:31 +02:00
0304aca62a
fix: sentence-case every UI string, settle the product name, and empty the dead catalogue
Kgothatso Ngako and Claude Opus 5
2026-09-08 01:27:26 +02:00
1f24aaf4bb
fix: give the two single-field screens their initial focus, and check 200% text on a device
Kgothatso Ngako and Claude Opus 5
2026-09-08 01:18:23 +02:00
9dc748f2d3
fix: lift the eight text-field screens above the software keyboard
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:57:21 +02:00
831d1c0ad4
fix: give every tappable element a real target, and every icon a decided description
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:52:15 +02:00
4fe47c7d46
fix: derive every call-site colour from its container, ending nine contrast failures
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:45:01 +02:00
1bd5ad960f
docs: record what phase 2 built, and why the audit changed shape
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:37:30 +02:00
8cd0f3f44d
refactor: take the last 353 spacing literals onto the scale, and reach zero
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:36:59 +02:00
f7a732d68a
refactor: move the 89 off-grid spacing values onto the M3 scale
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:32:27 +02:00
73d99f9a41
feat: put M3's spacing scale in the theme, with semantic names over it
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:26:05 +02:00
47bdb6f976
fix: promote the two pill colours to extended roles, fixing both contrast failures
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:23:31 +02:00
52b57769e1
feat: adopt MaterialExpressiveTheme, and give shape, type and motion a named home
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:17:41 +02:00
21d57eba54
feat: honour the platform's contrast setting, reaching four schemes that were dead code
Kgothatso Ngako and Claude Opus 5
2026-09-08 00:10:06 +02:00
86c9628eee
fix: assign every ColorScheme role, so no component can fall back to Material lavender
Kgothatso Ngako and Claude Opus 5
2026-09-07 23:59:34 +02:00
2b0ce8d73b
test: measure M3 conformance instead of asserting it, with a budgeted audit and a contrast test
Kgothatso Ngako and Claude Opus 5
2026-09-07 23:51:34 +02:00
1c02b25a07
docs: measure the UI against the M3 foundations, and phase the work that follows
Kgothatso Ngako and Claude Opus 5
2026-09-07 23:44:32 +02:00
7c41992ea7
fix: hold the wallet state where a background thread can be heard, so a device with no seed boots
Kgothatso Ngako and Claude Opus 5
2026-09-07 15:57:02 +02:00
f301a924fd
fix: build a release apk, by dropping the app's copies of what the library already ships
Kgothatso Ngako and Claude Opus 5
2026-09-06 22:13:32 +02:00
224d6009dc
Merge branch 'mantra' into claude/marmot-profile-metadata-loading-e2a067
Kgothatso Ngako
2026-09-06 21:50:44 +02:00
e6524e201d
Merge branch 'mantra' into claude/proposals-signature-card-090e46
Kgothatso Ngako
2026-09-06 21:21:55 +02:00
f146afd49e
fix: keep asking who a Marmot group's members are, instead of once and never again
Kgothatso Ngako and Claude Opus 5
2026-09-06 21:21:46 +02:00
73cba2ae0e
feat: say at the foot of the transcript what the group is still waiting for you to sign
Kgothatso Ngako and Claude Opus 5
2026-09-06 21:20:53 +02:00
ff1ecc1194
Merge branch 'mantra' into claude/torch-intro-boot-hang-76b0a8
Kgothatso Ngako
2026-09-06 20:44:42 +02:00
11ab8892f0
fix: let startup finish, rather than leave it for an intro that was never built
Kgothatso Ngako and Claude Opus 5
2026-09-06 20:31:41 +02:00
e8a07aadf7
Merge branch 'mantra' into claude/proposals-view-navigation-9f3a58
Kgothatso Ngako and Claude Opus 5
2026-09-06 20:30:21 +02:00
b97732643b
fix: put proposals in the room that signs, and open the queue when one row is not all of it
Kgothatso Ngako and Claude Opus 5
2026-09-06 20:27:34 +02:00
acaf13fcd6
Merge branch 'mantra' into claude/marmot-group-message-queue-1ecaed
Kgothatso Ngako
2026-09-06 20:21:19 +02:00
30c732af67
Merge branch 'mantra' into claude/home-chat-previews-e1913f
Kgothatso Ngako and Claude Opus 5
2026-09-06 20:12:49 +02:00
5a22592c48
Merge branch 'mantra' into claude/member-invite-transcript-7a2d63
Kgothatso Ngako and Claude Opus 5
2026-09-06 20:03:35 +02:00
950deb2288
fix: widen the last of the notary's queues, the one already known to stall
Kgothatso Ngako and Claude Opus 5
2026-09-06 19:04:27 +02:00
9107b81c99
fix: hand the notary the whole queue, not the one row standing at its head
Kgothatso Ngako and Claude Opus 5
2026-09-06 18:56:33 +02:00
473228bfab
feat: show the last message and its time on the home chat list
Kgothatso Ngako and Claude Opus 5
2026-09-06 18:21:48 +02:00
81965ba2d3
perf: index chat messages by their room
Kgothatso Ngako and Claude Opus 5
2026-09-06 18:21:31 +02:00
50feb6fa0c
feat: carry each room's newest line with the room, and say it in one line
Kgothatso Ngako and Claude Opus 5
2026-09-06 18:21:19 +02:00
fd9137ab5a
feat: a chat list clock that says only as much as it has to
Kgothatso Ngako and Claude Opus 5
2026-09-06 18:20:57 +02:00
49c012bf8b
fix: a member is not shown the messages sent before they were in the room
Kgothatso Ngako and Claude Opus 5
2026-09-06 18:18:16 +02:00
98f766fcd3
fix: put the invite in the room, so a stuck one can be seen
Kgothatso Ngako and Claude Opus 5
2026-09-06 18:16:26 +02:00
19d57ef3a5
Merge branch 'mantra' into claude/happy-gauss-dbe258
Kgothatso Ngako and Claude Opus 5
2026-09-06 16:37:12 +02:00
4890906b24
Merge branch 'mantra' into claude/rename-archive-chronicle-a4a8e0
Kgothatso Ngako and Claude Opus 5
2026-09-06 16:29:23 +02:00
ea11e8b233
refactor: call it a chronicle, and keep "archive" for what a user does to a chat
Kgothatso Ngako and Claude Opus 5
2026-09-06 16:27:36 +02:00
87ef129de5
fix: archive the translation that stands, not every draft of it
Kgothatso Ngako and Claude Opus 5
2026-09-06 16:19:12 +02:00
c66f085681
refactor: deprecate the row rebuild, and write down what goes with it
Kgothatso Ngako and Claude Opus 5
2026-09-06 16:06:17 +02:00
a69d80d38f
feat: archive the events the group signed, not rebuilds of its rows
Kgothatso Ngako and Claude Opus 5
2026-09-06 15:51:16 +02:00
8f9e4de82e
feat: keep what the group signed, and the path it signed as
Kgothatso Ngako and Claude Opus 5
2026-09-06 15:43:18 +02:00
47aa79ebc7
feat: archive the translated text too, now that the group signs it
Kgothatso Ngako and Claude Opus 5
2026-09-06 15:13:43 +02:00
54091099a9
Merge branch 'mantra' into claude/happy-gauss-dbe258
Kgothatso Ngako
2026-09-06 15:06:13 +02:00
f3984e838c
test: prove the catch-up row by row, and say what an old build makes of a page
Kgothatso Ngako and Claude Opus 5
2026-09-06 14:37:23 +02:00
a315b86918
feat: say in the transcript that a member is being caught up
Kgothatso Ngako and Claude Opus 5
2026-09-06 14:34:19 +02:00
6d8866c2b0
feat: offer a new member the group's work alongside their welcome
Kgothatso Ngako and Claude Opus 5
2026-09-06 14:29:11 +02:00
873203e4b4
feat: let a member with none of the group's work ask for it
Kgothatso Ngako and Claude Opus 5
2026-09-06 14:25:16 +02:00
ed4410b972
feat: apply an archive a member is sent, and sweep what arrived too early
Kgothatso Ngako and Claude Opus 5
2026-09-06 14:19:15 +02:00
acff66a22e
feat: rebuild the group's signed record out of the rows it left behind
Kgothatso Ngako and Claude Opus 5
2026-09-06 14:12:29 +02:00
6e04f6c7af
feat: give the group's signed record an envelope it can travel in
Kgothatso Ngako and Claude Opus 5
2026-09-06 14:00:30 +02:00
bd5e0413f0
refactor: check a group's signature against the room id, not against a key
Kgothatso Ngako and Claude Opus 5
2026-09-06 13:52:53 +02:00
3ee1676a04
docs: plan handing a new member the group's signed history
Kgothatso Ngako and Claude Opus 5
2026-09-06 13:52:33 +02:00
042313ea88
Merge branch 'mantra' into claude/new-member-archive-events-e3e074
Kgothatso Ngako
2026-09-06 13:44:33 +02:00
c8b62e606e
feat: sign an artifact's first version with it, not derive it after
Kgothatso Ngako and Claude Opus 5
2026-09-06 13:44:28 +02:00
4855d31c9c
Merge branch 'mantra' into claude/translation-chunk-frost-signing-b01596
Kgothatso Ngako
2026-09-06 13:17:41 +02:00
90c6db7827
refactor: drop the local path a chunk's translation no longer takes
Kgothatso Ngako and Claude Opus 5
2026-09-06 13:14:17 +02:00
abbb84bb29
feat: ask the group to sign a chunk's translation, not just save it
Kgothatso Ngako and Claude Opus 5
2026-09-06 13:14:06 +02:00
76b4a78581
fix: keep one translation per source chunk, however it arrives
Kgothatso Ngako and Claude Opus 5
2026-09-06 13:13:50 +02:00
8a23a28e54
fix: let the untranslated side read as text, not as a button
Kgothatso Ngako and Claude Opus 5
2026-09-06 13:06:28 +02:00
dbdff55ee0
feat: open the proposal a transcript line is about, not the room's latest
Kgothatso Ngako and Claude Opus 5
2026-09-06 12:43:00 +02:00
116cc96de4
feat: give a group's proposals a screen of their own
Kgothatso Ngako and Claude Opus 5
2026-09-06 12:42:29 +02:00
4047a2bae9
refactor: say what an event is in one place, not on one screen
Kgothatso Ngako and Claude Opus 5
2026-09-06 12:41:28 +02:00
4de87edf12
fix: tell one proposal's transcript lines from another's
Kgothatso Ngako and Claude Opus 5
2026-09-06 12:41:01 +02:00
3fade6c849
feat: propose a long artifact's translation in more sessions, not none at all
Kgothatso Ngako and Claude Opus 5
2026-09-06 12:05:35 +02:00
df058dc61c
feat: let a translation ask for the chapters it is missing
Kgothatso Ngako and Claude Opus 5
2026-09-06 12:03:54 +02:00
66119f34df
feat: put a new chapter into the artifact's translations, in a session of its own
Kgothatso Ngako and Claude Opus 5
2026-09-06 12:03:03 +02:00
359f54812f
refactor: give the translation/chapter join one home
Kgothatso Ngako and Claude Opus 5
2026-09-06 12:01:42 +02:00
39e5df8253
feat: sign a translation into the artifact instead of submitting one
Kgothatso Ngako and Claude Opus 5
2026-09-06 11:07:49 +02:00
2e133dd337
feat: sign a chapter and every chunk of it in one session
Kgothatso Ngako and Claude Opus 5
2026-09-06 10:34:12 +02:00
e081d14f37
refactor: weigh the chapter's chunks against batch signing, and keep deriving
Kgothatso Ngako and Claude Opus 5
2026-09-06 10:13:09 +02:00
60abf243ed
Merge branch 'mantra' into claude/add-chapters-frost-signing-c17e64
Kgothatso Ngako
2026-09-06 10:07:40 +02:00
643334afff
Merge branch 'mantra' into claude/frost-batch-signing-435bbb
Kgothatso Ngako
2026-09-06 10:03:13 +02:00
1448ed5ad8
docs(frost): record batch signing as built, and what rollout needs
Kgothatso Ngako and Claude Opus 5
2026-09-06 05:00:21 +02:00
2309879153
test(frost): cover the batch's failure modes and its crypto without a database
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:58:48 +02:00
9ac4bcbee3
feat(frost): show a whole batch on the signing screen, and say so in the chat
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:54:12 +02:00
426e53be9d
feat(frost): offer batch signing through the repository
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:50:35 +02:00
59c34263b3
feat(frost): let one signing session carry a batch of events
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:48:24 +02:00
935a8fe37a
refactor(frost): run a signing session as k FROST instances in lockstep
Kgothatso Ngako and Claude Opus 5
2026-09-06 04:40:22 +02:00