-
7506508631
docs(server): updated_at has decided nothing since protocol 2
main
MechaCat02
2026-09-16 22:50:37 +02:00
-
5d844efa09
fix(tutor): the log stopped following a reply sent from answer mode
MechaCat02
2026-09-16 22:50:37 +02:00
-
467d9d1d7c
fix(tutor): what live gpt-oss-20b lessons showed — marks lost, feedback swallowed, answers given away
MechaCat02
2026-09-16 22:50:33 +02:00
-
e40aad637a
docs: the port as it now is — the enforced turn, the mobile shell, protocol 2
MechaCat02
2026-09-16 22:14:25 +02:00
-
57fd6e5087
feat(learn): the reference screens as the reworked artifact has them
MechaCat02
2026-09-16 22:12:05 +02:00
-
ede8f295a2
feat(ui): 단어 and 오늘, rebuilt for a thumb
MechaCat02
2026-09-16 22:05:54 +02:00
-
ab9b75ff32
feat(tutor): look any word up — the underline, the popover, the word list
MechaCat02
2026-09-16 21:59:48 +02:00
-
3ba5c293f1
feat(tutor): answer mode — the question, the field and the way forward
MechaCat02
2026-09-16 21:50:34 +02:00
-
3a22350c37
feat(ui): the mobile shell — routes with real history, five destinations, the lesson as one screen
MechaCat02
2026-09-16 21:37:58 +02:00
-
a1c86d9550
feat(tutor): the turn enforced — retries, evidence, the 다지기 checklist, earned progress
MechaCat02
2026-09-16 21:09:51 +02:00
-
089f303ff9
feat(gate): one resolver, the words he has met, and the audit through the port
MechaCat02
2026-09-16 21:09:15 +02:00
-
9ab5aba6b3
feat(sync): protocol 2 — hydration, a counter not a clock, no silent shrinking
MechaCat02
2026-09-16 20:28:35 +02:00
-
bf9b5950da
feat(db): a roadmap without 'now' rows, chat ids two devices can share, the learner-model tables
MechaCat02
2026-09-16 20:10:58 +02:00
-
48987b96ae
feat(dict): every roadmap word is a card, tagged with its unit
MechaCat02
2026-09-16 20:03:09 +02:00
-
f8183d786f
feat(dict): stable lemma ids — a card names its word, not a build position
MechaCat02
2026-09-16 19:59:14 +02:00
-
04a0900a2c
fix(prompt): drop HOUSE_STYLE — the shipped prompt now says it itself
MechaCat02
2026-09-16 19:50:15 +02:00
-
ba3055912a
fix(tutor): find gloss blocks in the raw text — the new parse() still leaks
MechaCat02
2026-09-16 19:50:11 +02:00
-
e72b77d6c2
chore: take in the 16 Sep bundle — lib, curriculum v5, prompt, gate audit
MechaCat02
2026-09-16 19:49:52 +02:00
-
75dd699f3e
fix(tutor): read the message's prose from the raw text, not parse()'s body
MechaCat02
2026-09-10 07:34:43 +02:00
-
988d33bd5f
fix(server): default max_tokens 2048 -> 8192, which was starving the lesson
MechaCat02
2026-09-10 07:17:16 +02:00
-
9a925a5e3f
fix(gate): the gate was being spliced into the prompt's header sentence
MechaCat02
2026-09-10 07:09:59 +02:00
-
7b9c92eb98
fix(tutor): raw ::task markup rendered as prose above the exercise
MechaCat02
2026-09-09 21:52:02 +02:00
-
074f602494
feat(server): an OpenAI-compatible backend, so the model is yours to pick
MechaCat02
2026-09-09 19:39:31 +02:00
-
b48a5f8fb1
fix(server): CORS, without which the phone could never reach the Pi
MechaCat02
2026-09-08 21:47:18 +02:00
-
821622d148
fix(tutor): the rest of the chat movement, found by measuring properly
MechaCat02
2026-09-08 21:33:05 +02:00
-
0b04931699
fix: a NUL byte was hiding two source files from grep, git and diff
MechaCat02
2026-09-08 21:06:39 +02:00
-
c93ea657f9
fix(tutor): stop the chat flickering and shifting when a reply lands
MechaCat02
2026-09-08 21:06:27 +02:00
-
7f2762aeb8
fix(ui): white input boxes on a dark page, and a slab of line colour
MechaCat02
2026-09-08 21:05:54 +02:00
-
7275e156df
feat(app): drop the known-words seed, and make a full wipe actually wipe
MechaCat02
2026-09-08 21:05:54 +02:00
-
58e454411f
ci: run the sync round-trip against a real Postgres, and document it
MechaCat02
2026-09-08 19:58:09 +02:00
-
1c666cdf3b
chore(server): container, compose, and the Pi deployment notes
MechaCat02
2026-09-08 19:58:01 +02:00
-
66f92247d2
feat(tutor): the real endpoint, streamed, with the system prompt cached
MechaCat02
2026-09-08 19:58:01 +02:00
-
c2e1fc23fe
feat(server): the sync endpoints, on Node 22 with no build step
MechaCat02
2026-09-08 19:57:44 +02:00
-
f447f881c0
feat(sync): tombstones, the wire protocol, and the client loop
MechaCat02
2026-09-08 19:57:32 +02:00
-
f49ed388f4
feat(app): the artifact features that were never ported
MechaCat02
2026-09-08 19:28:04 +02:00
-
68403d6102
feat(icons): 한칸 on a jade ground
MechaCat02
2026-09-08 19:16:55 +02:00
-
8f7f2fe568
chore: commit the lockfile, ignore tsbuildinfo
MechaCat02
2026-09-08 19:14:27 +02:00
-
f73582913b
docs: README and server placeholder
MechaCat02
2026-09-08 19:13:53 +02:00
-
21dfc43ae1
chore(android): Capacitor scaffold
MechaCat02
2026-09-08 19:13:53 +02:00
-
d44bc80098
feat(app): design system, shell, and the six tabs
MechaCat02
2026-09-08 19:13:53 +02:00
-
7bd8507909
feat(dict): build pipeline, grammar lexicon, and the shipped band files
MechaCat02
2026-09-08 19:13:15 +02:00
-
bbe6302a9b
feat(db): one storage interface, two SQLite drivers
MechaCat02
2026-09-08 19:12:48 +02:00
-
966043ab3f
feat(lib): type declarations and golden tests for the exported modules
MechaCat02
2026-09-08 19:12:19 +02:00
-
b80deb2f6f
chore: scaffold, CI, and the export bundle verbatim
MechaCat02
2026-09-08 19:11:40 +02:00