-
d961a89bf8
Merge: the advice tap points both ways
main
prosolis
2026-08-02 12:03:26 -07:00
-
-
7fa98d03c7
Both sections of the advice arrived in the language she is not learning
prosolis
2026-08-02 12:03:19 -07:00
-
-
6bed33c27e
Merge: touch reach, the advice language, and the Portuguese read-aloud button
prosolis
2026-07-29 18:45:33 -07:00
-
-
7383bdb403
An American voice reading "comum" from the one button nobody had told
prosolis
2026-07-29 18:40:41 -07:00
-
3cc23b8ea4
The advice arrived in the language she was trying to read her way out of
prosolis
2026-07-29 18:40:22 -07:00
-
6026d98598
Half the editor was on the phone and none of it could be touched
prosolis
2026-07-29 18:39:53 -07:00
-
-
15398eab4d
What the browser found that the tests could not
prosolis
2026-07-29 00:38:42 -07:00
-
2c5b05b398
A word of her own language could never reach the garden
prosolis
2026-07-29 00:35:15 -07:00
-
acb35108c0
Curated against English had quietly become curated against writing
prosolis
2026-07-29 00:28:32 -07:00
-
e67f77eb05
The pass announces the verdict it just decided
prosolis
2026-07-29 00:21:15 -07:00
-
c719effe1d
The verdict has to reach the editor while she is still typing
prosolis
2026-07-29 00:15:34 -07:00
-
1fdc206576
Merge feat/document-language: Petal follows the writing into her own language
prosolis
2026-07-29 00:07:30 -07:00
-
-
466055020f
The garden learns which language a card is in, and read-aloud stops guessing
prosolis
2026-07-28 23:45:26 -07:00
-
29eb2fe1fc
The translate card, pointed the other way, and a call that no longer happens
prosolis
2026-07-28 23:29:50 -07:00
-
76dede8856
Correct the language she wrote in, not the one she was practising
prosolis
2026-07-28 23:20:53 -07:00
-
-
db9cfb7abf
Merge fix/companion-flicker-probe: the kitten holds still, for real this time
prosolis
2026-07-28 22:21:33 -07:00
-
-
f82f2b589d
Measure the corner the kitten sits in, not the kitten
prosolis
2026-07-28 22:21:33 -07:00
-
-
5cd3aeabde
Merge fix/companion-overlap-flicker: the kitten holds still
prosolis
2026-07-28 21:59:20 -07:00
-
-
047f4ae67f
Stop the kitten measuring the size it shrank itself to
prosolis
2026-07-28 21:59:20 -07:00
-
-
f2dd30628a
Merge feat/keyboard-triage: the whole queue answered without a mouse
prosolis
2026-07-28 21:11:49 -07:00
-
-
c6bf36bddf
Triage the whole queue from the keyboard, and never type an n
prosolis
2026-07-28 21:11:42 -07:00
-
-
178cb7ae67
Merge: the zh learner direction, the es pair, IME composition guards
prosolis
2026-07-28 20:04:22 -07:00
-
-
8f2ad34a10
Four ways the two scripts weren't the same app, and a smaller cat
feat/zh-learner-direction
prosolis
2026-07-28 20:03:45 -07:00
-
5659312358
A real IME, a real candidate window, and 11.6 seconds of holding still
prosolis
2026-07-28 19:39:21 -07:00
-
a216614c81
Phase 27 seen in a browser: held, released, and the save never held with it
prosolis
2026-07-28 19:32:14 -07:00
-
c348a9b8ae
The keystroke that isn't one: IME composition guards
prosolis
2026-07-28 19:20:11 -07:00
-
77f284f65c
The zh pair's other direction, and a rule pack that mostly says no
prosolis
2026-07-28 19:04:53 -07:00
-
9224c44fff
The es pair, and a dictionary that was quietly Spain's
prosolis
2026-07-28 18:25:59 -07:00
-
-
39d4e4770a
Merge feat/accept-all-category: a whole category in one click, and one undo
prosolis
2026-07-28 17:30:51 -07:00
-
-
bd92cdc9b6
A whole category accepted in one click, and one undo
prosolis
2026-07-28 17:30:44 -07:00
-
-
1acc23244e
UX review: item 8's two are done, and this stack is deliberately not deployed
prosolis
2026-07-28 17:07:46 -07:00
-
40de65b3d1
Merge feat/settled-spans: a dismissed card stays dismissed, and the bar counts the petals
prosolis
2026-07-28 07:27:55 -07:00
-
-
b2d50e9136
A dismissed card stays dismissed, even offline
prosolis
2026-07-28 07:27:49 -07:00
-
-
1aa3a14030
Merge fix/rail-follows-mode: the rail follows the mode, and Ask Petal answers in both languages
prosolis
2026-07-28 07:04:23 -07:00
-
-
978cb80642
Ask Petal answers in both languages, with room to read
prosolis
2026-07-28 07:04:16 -07:00
-
f082a930cb
The rail is a mode, not a screen size
prosolis
2026-07-28 06:34:27 -07:00
-
-
ce5de68b9b
UX review: item 5 is live, and what the backup nearly missed
prosolis
2026-07-28 00:35:45 -07:00
-
b23c5a9a13
Merge feat/translate-card: her own language gets its own card
prosolis
2026-07-28 00:32:04 -07:00
-
-
25e415daa2
When she writes in Chinese, say Translate — not Clarity
prosolis
2026-07-28 00:09:42 -07:00
-
-
3bcc967f51
UX review: the stack is deployed, and the handoff says so
prosolis
2026-07-27 23:40:20 -07:00
-
963fc1754d
Merge the suggestion-loop stack: instant rules, stable cards, reachable rail
prosolis
2026-07-27 23:37:56 -07:00
-
-
de251ceae2
Make the suggestion rail's overhang reachable, and keep the text in view
prosolis
2026-07-27 23:07:09 -07:00
-
10e8aef86c
Stop regenerating the world on every check
prosolis
2026-07-27 22:46:12 -07:00
-
c33de1175b
Render deterministic rule hits instantly, not on the LLM's clock
prosolis
2026-07-27 22:28:37 -07:00
-
-
ba06d904f0
UX review: correct the item 3b handoff advice
prosolis
2026-07-27 22:20:54 -07:00
-
ea14eb5e88
UX review: handoff notes for the next session
prosolis
2026-07-27 22:17:26 -07:00
-
aac15b5ac5
Merge fix/companion-yields-to-cards: the kitten gets out of the way
prosolis
2026-07-27 22:12:47 -07:00
-
-
be9aa13287
Kitten yields to panels too; redo bug not reproducible
prosolis
2026-07-27 22:12:30 -07:00
-
ec9fba9252
Kitten yields to cards: fade, shrink, click-through; plus UX review doc
prosolis
2026-07-27 21:57:20 -07:00
-
-
9c40a8ad3f
Merge fix/mobile-chrome-overflow: keep the sideways scrolling in the pills
prosolis
2026-07-27 20:13:54 -07:00
-
-
ac1c6cddb0
French dragged her whole page sideways
prosolis
2026-07-27 20:10:17 -07:00
-
-
3e714b6f00
Merge fix/security-review: refuse to start unauthenticated, and mean it
prosolis
2026-07-27 18:25:07 -07:00
-
-
69bf3ffde1
Close the door the edge gate used to hold
prosolis
2026-07-27 18:24:47 -07:00
-
-
9a0edd6679
Merge feat/deploy-phase15: containerized VPS deploy, auth, multi-language pairs
prosolis
2026-07-27 17:16:19 -07:00
-
-
be1ab5cef7
Her apostrophe was cutting French words in half
prosolis
2026-07-27 17:07:30 -07:00
-
071ea7b835
Petal learns French, and the pack that shipped was misspelling itself
prosolis
2026-07-27 16:19:26 -07:00
-
9a2e909b85
Phases 22 and 23 are live: what the deploy actually found
prosolis
2026-07-27 15:09:49 -07:00
-
1f4ca4775a
Let her choose her own pair
prosolis
2026-07-27 15:06:33 -07:00
-
1bbc8fc8d3
Finish Phase 22: the half of Petal that works with the tunnel down
prosolis
2026-07-27 15:05:55 -07:00
-
e9b8595456
Let the garden keep what she was given, not only what she sought
prosolis
2026-07-27 14:16:59 -07:00
-
7b845644be
Phase 21 is live: what the pt-PT voice cost to deploy
prosolis
2026-07-27 13:32:15 -07:00
-
3b714e297a
Fetch the Portuguese voice Piper's own downloader can't
prosolis
2026-07-27 13:25:28 -07:00
-
24c3533e18
Give read-aloud a Portuguese voice, and a slower one
prosolis
2026-07-27 13:21:45 -07:00
-
ccb43e5a4d
Phase 21: Petal learns to be an English+Portuguese pair
prosolis
2026-07-27 12:43:02 -07:00
-
4de83d0da5
Record the Spanish rebuild and how to do the next one
prosolis
2026-07-27 10:53:22 -07:00
-
74bf600593
Make the dictionary startup line report rows, not capabilities
prosolis
2026-07-27 10:51:09 -07:00
-
86175f1559
Phases 19 and 20 are live: record what the deploy found
prosolis
2026-07-27 10:08:12 -07:00
-
3640ce9324
Depend on dreamdict as a published module, not a local path
prosolis
2026-07-27 10:02:17 -07:00
-
97e9c269ec
Phase 20: the dictionary stops being English and Chinese only
prosolis
2026-07-27 09:38:50 -07:00
-
336cae93e0
Phase 19: the copy stops being hardcoded Mandarin
prosolis
2026-07-27 08:37:05 -07:00
-
30d5e691c9
Phase 18: settings that belong to the writer, not the browser
prosolis
2026-07-27 08:06:08 -07:00
-
ddc4164228
Note that the seeded 'local' row reappears after a migration
prosolis
2026-07-27 07:53:06 -07:00
-
84ee6bfb9c
Phase 17: run the migration, and fix the guard that locked out its own backup
prosolis
2026-07-27 07:52:16 -07:00
-
151df4565b
Phase 17: a script to move the local user's writing onto a real account
prosolis
2026-07-27 07:45:26 -07:00
-
1b4a5f26df
Phase 16 is live: record what deploying found
prosolis
2026-07-27 07:34:36 -07:00
-
e2f967c92b
Deploy: drop the interim basic-auth gate now that Petal signs people in
prosolis
2026-07-27 07:33:01 -07:00
-
6d71276513
Auth: pass the OIDC issuer through untouched, trailing slash and all
prosolis
2026-07-27 07:27:54 -07:00
-
1cf207d73f
Phase 16: Petal authenticates for itself
prosolis
2026-07-27 07:21:32 -07:00
-
42d857a878
millenia: nightly encrypted backup, supervision, and hardened Piper units
prosolis
2026-07-27 06:35:34 -07:00
-
33e49ddb62
Encrypted data volume for the VPS, and two bugs the rehearsal caught
prosolis
2026-07-27 06:27:55 -07:00
-
1d76ab1c82
Guard against Petal starting on an unmounted data volume
prosolis
2026-07-27 06:25:52 -07:00
-
623bd02b9c
Reach vLLM over headscale with a forwarder, and fix millenia's Piper
prosolis
2026-07-27 06:15:00 -07:00
-
d01a0f1f0a
Document the Phase 15 deploy and ungate the Spanish pair
prosolis
2026-07-26 23:27:06 -07:00
-
5b221cc7a3
Gate the VPS instance behind Traefik basic auth until Phase 16
prosolis
2026-07-26 23:21:43 -07:00
-
2363ef2d37
Make Piper's synthesis path configurable (TTS_PATH)
prosolis
2026-07-26 23:15:01 -07:00
-
df6bc4989c
Run the container as the host uid that owns the ./data bind mount
prosolis
2026-07-26 23:11:00 -07:00
-
8410b6315b
Phase 15: containerize Petal for the parodia.dev VPS
prosolis
2026-07-26 23:08:22 -07:00
-
dae1213c68
Ratify the language-learning direction and expand it into Phases 15-22
prosolis
2026-07-26 22:24:04 -07:00
-
316b6b305d
Plan: DreamDict answers the Portuguese dictionary question
prosolis
2026-07-26 21:48:51 -07:00
-
023882a722
Add multi-user plan for review
prosolis
2026-07-26 21:44:16 -07:00
-
6901cdbbe4
Multi-user groundwork: request-scoped user identity
prosolis
2026-07-26 21:42:37 -07:00
-
61b3c6cd62
Disable thinking on the vLLM backend
prosolis
2026-07-26 21:25:56 -07:00
-
78ed1dd281
Writing passport: evidence of process instead of an AI score
prosolis
2026-07-19 11:45:08 -07:00
-
-
49e84278d5
Merge feat/calm-suggestions: drop no-op suggestions + suppress fickle re-edits
prosolis
2026-06-27 00:18:47 -07:00
-
-
9d2501a625
Suppress fickle re-edits of sentences the user already settled
prosolis
2026-06-27 00:18:23 -07:00
-
08b801e752
Drop no-op suggestions where replacement equals original
prosolis
2026-06-27 00:18:10 -07:00
-
-
dd1dd7879b
Merge feat/spelling-popover: right-click corrections + robust word resolution
prosolis
2026-06-26 22:23:42 -07:00
-
-
cb8f132d43
Spelling popover: right-click corrections + robust word resolution
prosolis
2026-06-26 20:54:47 -07:00
-
-
cea25a3ebc
Merge feat/mechanics-deterministic-pass: deterministic mechanics suggestion family
prosolis
2026-06-26 20:44:00 -07:00
-
-
96f68a91ee
Add deterministic mechanics suggestion family (rule-based, no LLM)
prosolis
2026-06-26 20:43:37 -07:00
-