Commit Graph

  • 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