feat(grammar): check-grammar Edge Function + LanguageTool + migrations #60
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
project-halkyon/halkyon-infra!60
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/60/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
check-grammar Edge Function + LanguageTool + migrations (backend)
Backend for halkyon-learn's inline grammar checking.
check-grammaris the trusted choke point in front of a private self-hosted LanguageTool instance (mirrorsexecute-code-> Judge0): verifies the caller's JWT, enforces a per-user rate limit + daily quota via the service-rolegrammar_check_eventsledger, forwards plain text to LanguageTool/v2/check, and returns normalized matches. The device never sees the LanguageTool URL.Included
supabase/functions/check-grammar/—index.ts+languagetool.ts+ READMEgrammar_check_eventsledger;studysets.front_language/back_languagedocker/languagetool/— lean compose (n-grams off, ~1-2 GB) + READMEDeploy
docker compose -f docker/languagetool/docker-compose.yml up -d(reachable from Supabase's Edge runtime)supabase db pushsupabase functions deploy check-grammarsupabase secrets set LANGUAGETOOL_URL=... [LANGUAGETOOL_AUTH_TOKEN=...]Companion PR
App side: project-halkyon/halkyon-learn#656