fix(skills): support Unicode currency aliases across clients and providers - #794
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
Deployment failed for project pylon-marketing with the following error: Learn More: https://vercel.com/pylon-code?upgradeToPro=build-rate-limit |
|
Final-head reconciliation at All GitHub Actions checks on this head passed, including |
|
After #731 landed, this PR was refreshed onto the new Browser and native UI evidence remains outstanding for the composer changes; the PR stays open pending that verification under the repository UI contribution rule. |
|
Isolated UI QA on the #794 branch:
The attached images show web suggestion/chip and native suggestion/chip. Focused mobile and shared tests (30), mobile typecheck, and scoped lint/format passed after the fix. This QA used disposable backend state and a clean simulator. |
…unicode-skill-aliases
…ithub.com/pylon-code/pylon into upstream/2026-09-24-unicode-skill-aliases
|
Refreshed onto current |




Skill aliases using currency symbols such as
€reviewor𑿝reviewwere parsed inconsistently across Pylon clients and providers. The shared token grammar, web and mobile composers, chat copy paths, and Claude/Cursor/Codex dispatch now recognize registered Unicode currency prefixes while leaving monetary amounts and unknown skill words as literal text. Lexical and native chips preserve the original prefix through editing and copy.This adapts upstream
2a47fc905a7a1054823919980f625b7cd869f1c1(#12098) to Pylon. Codex resolves aliases against enabled skills from its current session's app server with a two-second bound; a failed or stalled catalog request leaves the prompt unchanged. The pinned transport removes interrupted RPCs from its pending map and has a late-reply regression. Upstream Tiptap continuation changes are omitted because Pylon uses Lexical. Claude, Cursor, and Codex have registered-only native dispatch. Web and mobile composers offer Unicode suggestions and chips only for those drivers and enabled user-invocable skills. Grok, OpenCode, and Prime Unicode aliases remain literal; existing$skill syntax is unchanged. Historical messages without a safe provider identity render Unicode aliases as plain text. Oh My Pi remains excluded.Validation on the current
pylonbase at98b5d172ec790d6a23925e20e1eac971853df7ee: 381 focused tests across the changed shared, web, mobile, provider, and transport paths before the final mobile UI fix; after the fix and base merge, 30 focused mobile/shared tests, mobile typecheck, scoped lint/format, and isolated web/iOS UI QA passed. UI evidence is attached in the PR comments. Final-head GitHub Actions checks passed; Vercel is blocked by its deployment rate limit (retry in 24 hours), so merge is held under the green-check rule. The simulator uncovered and verified the fix for mobile completion replacing a Unicode alias with$.Implemented and reviewed by GPT-6 Sol in the Codex/Pylon harness. Refs #736.