Repository navigation
feat(nl): Spanish natural-language control for group bot capabilities - #48
Merged
Merged
Conversation
Lock Spanish-first NL design, specs, and phased tasks for roadmap change 5. Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce closed-intent types, mention/reply eligibility, migration 0005, and the soft per-team daily classify cap. Co-authored-by: Cursor <cursoragent@cursor.com>
Wire IntentClassifier, NL_MODEL_PRIMARY, and handleNaturalLanguage so @mention/reply-to-bot can run help/unknown and read use cases. Co-authored-by: Cursor <cursoragent@cursor.com>
Add nl_confirmations CAS consume, Spanish yes/cancel lexicon, mutate confirm-first path, nl:ok/nl:no callbacks, and data-channel gate for profile updates. Co-authored-by: Cursor <cursoragent@cursor.com>
Workers AI was returning empty content for glm-4.7-flash; mirror the extractor override so classify no longer fails closed on help/reads. Co-authored-by: Cursor <cursoragent@cursor.com>
Add unlinkHackathonFromTopic (clear link, unpin, close topic), /unlinkhackathon, NL unlink_hackathon_topic with name matching and disambiguation buttons, and sole-linked esta resolution. Co-authored-by: Cursor <cursoragent@cursor.com>
Record remote migrate/deploy, Telegram smoke checklist, and post-smoke follow-ups before verify/archive. Co-authored-by: Cursor <cursoragent@cursor.com>
…e paths Close Gentle AI verify CRITICALs for Closed Intent Coverage, Reads Execute Immediately, Mutations Are Confirm-First, and Participate Maps to Existing Use Case. Co-authored-by: Cursor <cursoragent@cursor.com>
Verify PASS WITH WARNINGS (12/12 requirements, 36/36 scenarios). Create natural-language-text main spec and update telegram-webhook Command-Only Routing for nl: callbacks and eligible NL delivery. Co-authored-by: Cursor <cursoragent@cursor.com>
Cancel the pick row before fallback create when editMessage fails; always reply after CAS consume (map topic errors + executeFailed); fail-closed classify quota; prefer named unlink over topic link; bind confirm chatId and validate promote membershipId. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
Author
Review follow-upAddressed REQUEST CHANGES from the PR review:
|
Avoid minting a second confirmable row if two pick callbacks race after editMessage failure. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements and archives OpenSpec change
natural-language-text: team members can drive existing group bot capabilities in Spanish via@mentionor reply-to-bot (confirm-first for mutations).NL_MODEL_PRIMARY, GLM thinking off), per-team classify quota, and read intents (list/show hackathons, repos, profiles, topic analysis).nl:buttons,sí/cancelarlexicon replies, CAS consume, and execute path to existing use cases — including unlink by name/estawith pick disambiguation.openspec/changes/archive/2026-10-05-natural-language-text/with main specs synced.size:exception: stacked delivery landed as one branch (~7k lines / 9 commits). Review by commit (planning → quota/classifier → reads → confirms → GLM fix → unlink/pick → smoke docs → verify tests → archive).Test plan
npm test— 1137 passednpm run typecheck— clean0005+ deploy withNL_MODEL_PRIMARY=@cf/zai-org/glm-4.7-flashCommits
docs(nl): add natural-language-text OpenSpec planningfeat(nl): add eligibility, intent schema, and classify quotafeat(nl): classify group mentions into read intentsfeat(nl): confirm mutates via buttons and lexicon repliesfix(nl): disable GLM thinking in the intent classifierfeat(nl): unlink hackathons by name or esta with pick confirmdocs(nl): mark Phase 4 operator smoke completetest(nl): cover list, show, expired confirm, cancelar, and participate pathsdocs(nl): archive natural-language-text and sync main specsMade with Cursor