Skip to content

fix(strategy27): support Unicode futures symbols and matching candidate hashes - #284

Merged
jackhai9 merged 2 commits into
mainfrom
codex/strategy27-symbols
Sep 8, 2026
Merged

fix(strategy27): support Unicode futures symbols and matching candidate hashes#284
jackhai9 merged 2 commits into
mainfrom
codex/strategy27-symbols

Conversation

@jackhai9

@jackhai9 jackhai9 commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Problem and behavior

Strategy27 rejected valid Unicode USDT perpetual symbols in its ordinary/compound contracts, compound client, and shared Binance pathname parser. Chinese symbol text also produced a compound hash mismatch against Python. These gaps prevented display after the server-side canonical-symbol crash was fixed in CorsairQuant PR #332.

Accept exact uppercase Unicode letter/number bases, decode Binance pathname segments before route validation, and hash sorted compact JSON as UTF-8. Invalid wire symbols and malformed encoded paths remain rejected. A Python-generated Unicode candidate fixture validates and draws through both source and generated entrypoints. Existing ASCII candidate IDs remain unchanged.

The shared parser is bundled by five Binance scripts, so regenerate all five with matching metadata: Strategy27 0.5.1, Strategy29 0.4.1, orderbook 2.7.203, trading-data 1.1.14, and CoinMarketCap-data 0.1.16. The release includes main's unified-client changes from #283.

Validation

  • Node 24.16.0: npm test — 920 passed.
  • npm run test:ui — 67 Playwright scenarios passed.
  • npm run build:binance-userscripts and npm run check:binance-userscripts passed.
  • Source/generated metadata headers match exactly; git diff --check passed.
  • Unicode route/canonical round trips, malformed paths, URL query encoding, Python/JS hash parity, and source/generated client + drawing integration covered.
  • Live Tampermonkey synchronization/readback and loaded-source verification follow merge; no trading action is part of validation.

@jackhai9

jackhai9 commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-08T02:10:34.325659Z 9aa27dc Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Can't wait for the next one!

Reviewed commit: 9aa27dc994

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@jackhai9
jackhai9 merged commit 5f34741 into main Sep 8, 2026
2 checks passed
@jackhai9
jackhai9 deleted the codex/strategy27-symbols branch September 8, 2026 02:27
@jackhai9

jackhai9 commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

Live acceptance completed after merge.

  • All five public main artifacts exactly match the reviewed generated sources.
  • Updated existing Tampermonkey script identities; all five exact source readbacks and modification timestamps passed.
  • After hard reload, each corresponding published artifact occurs exactly once in its captured loaded script source.
  • Read-only live panel verification on UNIUSDT / 1S shows ordinary event data connected and compound candidate data connected. A real passive-support-loss candidate at 10:24:06 remained visible while ordinary observations continued through 10:27:48 (Asia/Shanghai).
  • Source/generated deterministic tests cover the Unicode Binance route and a Python-generated Unicode candidate. No synthetic signals or orders were injected into production.

The user was concurrently operating the same page, so no further refresh or interval restoration was performed after the live check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant