Skip to content

fix(skills): support Unicode currency aliases across clients and providers - #794

Merged
rynfar merged 15 commits into
pylonfrom
upstream/2026-09-24-unicode-skill-aliases
Sep 26, 2026
Merged

rynfar merged 15 commits into
pylonfrom
upstream/2026-09-24-unicode-skill-aliases

Conversation

@rynfar

@rynfar rynfar commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Skill aliases using currency symbols such as €review or 𑿝review were 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 pylon base at 98b5d172ec790d6a23925e20e1eac971853df7ee: 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.

@vercel

vercel Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pylon-marketing Ready Ready Preview Sep 26, 2026 6:50am UTC

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Sep 24, 2026
@rynfar
rynfar marked this pull request as draft September 24, 2026 10:08
@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.9 KiB 14.0 KiB +43 B (+0.3%) 15.1 KiB ✅
Codex Thread snapshot wire 7.2 KiB 7.2 KiB +7 B (+0.1%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.7 KiB 6.8 KiB +36 B (+0.5%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 58.0 KiB 58.0 KiB +44 B (+0.1%) 66.4 KiB ✅
Codex Live turn messages 9 10 +1 (+11.1%) 21 ✅
Claude Total thread wire 14.0 KiB 14.0 KiB +12 B (+0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.2 KiB 7.2 KiB +2 B (+0.0%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.8 KiB 6.8 KiB +10 B (+0.1%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.9 KiB 58.9 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 10 10 0 (0.0%) 21 ✅

Baseline: afd6c11 · PR result: e8ba528 · Source CI: success

Scenario and decoded snapshot size

10 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.

  • Codex decoded thread snapshot: 115.6 KiB
  • Claude decoded thread snapshot: 116.3 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@github-actions github-actions Bot added size:XL and removed size:L labels Sep 24, 2026
@rynfar
rynfar marked this pull request as ready for review September 24, 2026 10:53
@vercel

vercel Bot commented Sep 25, 2026

Copy link
Copy Markdown

Deployment failed for project pylon-marketing with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/pylon-code?upgradeToPro=build-rate-limit

@github-actions github-actions Bot added size:XXL and removed size:XL labels Sep 25, 2026
@rynfar

rynfar commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator Author

Final-head reconciliation at 6a5bfef4e9a8a0165e1cae565f1697884de6b1bd after merging current pylon: 354 focused tests across the changed shared, web, mobile, provider, and transport paths passed; web, mobile, server, client-runtime, shared, and Codex app-server typechecks passed; scoped lint and format checks passed. The first integration run resolved an older installed local file: copy of the mobile markdown module; a frozen offline dependency refresh corrected the test/typecheck input, and the rerun passed without source changes.

All GitHub Actions checks on this head passed, including Check, Test, server tests, Rust, release smoke, and Linux/Windows packaged smoke. Vercel alone reports api-deployments-free-per-day (over 100 deployments); the marketing preview was ignored and this is an account quota, not a source-test failure. Per the repository green-check merge gate, this PR remains open until that external status is green. Browser and native device UI are still unverified.

@rynfar

rynfar commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator Author

After #731 landed, this PR was refreshed onto the new pylon head at c0a357929f59da3354681197ebefb3dfe5df47c2. The merge had no source conflict. A frozen offline install passed; 381 focused skill/provider/client tests and server, web, and mobile typechecks passed. All reported final-head checks are green, including Vercel, Check, Test, server tests, release smoke, and Linux/Windows packaged smoke. The previous Vercel account-quota failure has cleared on this head.

Browser and native UI evidence remains outstanding for the composer changes; the PR stays open pending that verification under the repository UI contribution rule.

@rynfar

rynfar commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator Author

Isolated UI QA on the #794 branch:

  • Web: typing €review offered the registered Review T3 Upstream skill; selecting it created a skill chip. €20 and €unknown remained literal text.
  • iOS simulator: paired a clean Pylon Dev client to a disposable backend and selected the same skill. This exposed a mobile bug: the unsent draft changed €review to $review-t3-upstream. The follow-up commit preserves the typed currency prefix; repeating the action produced €review-t3-upstream in the draft's accessibility state. No task was sent.

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.

Web Unicode skill suggestion before selection

Web skill chip and literal monetary text after selection

iOS Unicode skill suggestion before selection

iOS skill chip after prefix-preserving fix

@rynfar

rynfar commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator Author

Refreshed onto current pylon at e8ba528256, preserving the remote branch's mobile Unicode-prefix fix before pushing. The 14 focused suites passed (381 tests), the added mobile command-menu suite passed (16 tests), and server, web, and mobile typechecks pass after a frozen offline install. Previous isolated web/iOS evidence covers the same UI behavior. Waiting for exact-head CI and Vercel before merging.

@rynfar
rynfar merged commit 724029a into pylon Sep 26, 2026
20 checks passed
@rynfar
rynfar deleted the upstream/2026-09-24-unicode-skill-aliases branch September 26, 2026 06:58

This branch was successfully deployed

1 active deployment
Preview — e8ba5282 Deployed Sep 26, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant