POST
Platform Localization and a Real ByteCosmos Research Sandbox
Multilingual public sites, ByteCosmos administrator controls, and an isolated SQL research workflow for data preparation, signal rules, post-entry analysis, and validation.
Platform localization and a real ByteCosmos research sandbox
Today the platform moved from a set of functional prototypes toward a more durable operating model. The most important change was not a new indicator. It was separating public intelligence, private research, and infrastructure constraints more clearly.
Multilingual public sites
Blackdeck, ByteCosmos, and jintaechoi.com now use English as the source language and expose localized public routes for English, Korean, Japanese, and Chinese.
The localization flow is:
English source
→ localized URL
→ translation queue
→ local machine-translation worker
→ cached translated page
Language selection uses a compact dropdown. If there is no saved preference, the public sites choose a language from coarse IP country information and fall back to English. Search metadata now follows the same route structure with localized canonicals, hreflang alternates, and multilingual sitemaps.
The translation system intentionally keeps brands, tickers, language codes, and other technical identifiers out of automatic translation.
ByteCosmos administrator boundary
ByteCosmos Research is now an administrator-only area. The administrator identity is mckal; the password was created through a one-time setup page rather than being sent through chat.
The initial password setup also exposed an OpenSSL/scrypt memory-limit problem inside the web container. The password derivation path was fixed and then tested end to end for successful hashing, correct-password verification, and incorrect-password rejection.
Why the Research page changed again
The previous Research page was visually clean, but it was still too close to a parameter form. It made it easy to change SMA, RSI, volume, or breakout thresholds, but it did not make the full research process natural:
prepare data
→ create features
→ inspect the transformed data
→ define a condition
→ treat it as a buy/sell rule
→ inspect what happened afterward
→ validate the execution assumptions
RStudio had been discussed because it provides that freedom. The real requirement was the freedom, not RStudio itself.
SQL as the research language
ByteCosmos Research V2 therefore uses SQL as a dataframe and model-research language over the canonical Upbit daily OHLCV.
The administrator can now create named SQL steps and use window functions, CTEs, joins, ranks, aggregates, date filters, and arbitrary research columns. A later step can consume the dataset produced by an earlier step.
A Boolean SQL expression over the resulting dataset becomes the buy condition or sell condition.
For example:
sma20 > sma50
AND momentum10 > 0.05
AND volume_ratio > 1.2
The workspace can then test all current KRW markets or a specific market.
Looking after the entry, not only at the signal
A research result now includes more than a trade count.
It reports 1, 3, 5, 10, and 20 available-bar forward-return distributions after the next-open entry, sampled post-entry paths, executed trades, per-market account results, benchmark comparison, costs, and drawdown.
This is meant to answer a more useful question:
If this condition was true, what tended to happen afterward?
Point-in-time reconstruction
The research engine rebuilds the SQL pipeline at every historical decision date using only candles that were available at that point.
This matters because calculating a feature once over the complete history and slicing the result afterward can allow future-aware calculations to leak information into the past. In the new path, each historical decision is recomputed from its own available prefix.
A signal confirmed at day-t close is executed at the next available open.
The engine also keeps several conservative conventions explicit: fees and slippage apply on every fill, gap stops fill at the open, and if a daily candle touches both stop and target without known intraday ordering, the stop is assumed first.
Research isolation
The SQL engine does not run inside the public web process.
A separate research-sandbox container receives bounded JSON jobs through a shared queue. It has:
- no network,
- no application database,
- no wallet or API credentials,
- no Docker socket,
- read-only access to the canonical OHLCV file,
- a 512 MiB memory limit,
- a 0.45 CPU limit,
- a hard 18-second job deadline.
DuckDB external access is disabled after the approved OHLCV is loaded. Attempts to read external files, install extensions, inspect environment values, or access the network are blocked.
At the time of this change, the canonical dataset contained 51,940 daily OHLCV rows across 289 current Upbit KRW markets.
A point-in-time holdout evaluation over all 289 current markets completed within the sandbox limit during deployment testing.
Holdout is not blind proof
The interface now uses the more accurate term chronological holdout.
If I repeatedly inspect the final historical segment and then change the model, that segment becomes part of the tuning process. A true blind test will require freezing a workspace version before exposing a separately protected evaluation set.
The current universe also still has survivorship bias because historical delistings and historical universe membership have not yet been reconstructed.
Approved research workspaces
A research definition can now be saved as an approved workspace. The saved object contains the SQL steps, signal dataset, buy/sell expressions, market scope, validation settings, fees, slippage, stop, target, and maximum holding period.
Saving a workspace does not automatically publish a Setup.
Interface cleanup
The mobile containment rules were tightened so dashboard and research components do not expand the page beyond the viewport. Wide research tables remain horizontally scrollable inside their own panels rather than forcing the whole page to overflow.
The separate Leaders page was also removed. The leader board already exists on the ByteCosmos overview, so the old /leaders route now redirects to the leader section on the landing dashboard.
Verification
Before deployment:
- ByteCosmos automated tests: 12 passed.
- SQL exploration completed through the web-to-sandbox queue.
- A point-in-time BTC holdout evaluation completed successfully.
- An all-current-market evaluation completed successfully.
- External file and environment-access queries were rejected.
- Sandbox network access was confirmed blocked.
- The public ByteCosmos home remained responsive while the research worker stayed in its separate resource envelope.
The main lesson today was that a research product needs to preserve freedom without making the production server itself the notebook.