# Roadmap and deliberate non-goals This started as a bidi fix and grew a language pack. The plan below keeps it from becoming a platform: **three layers, each with its own bar**, and a short list of things this project will not do. ## Layer 1 — direction decisions (shipped, still hardening) What exists today: - direction is chosen **per block by prose dominance** over whitespace tokens, never by the first strong character; - **code-like tokens do not vote** (URLs, paths, `@scope/name`, shas, `15/15`, dotted identifiers) and they bind the Latin words around them into one technical unit, so `شغّل npx @deepseek-ai/dsh web` reads as Arabic; - a tie resolves to RTL; a block with **no Arabic word is released**; - **hysteresis** keeps a streamed answer from flickering: a block that is already RTL stays RTL until the text is clearly Latin; - tables, lists and definition lists are judged as **containers**, so their markers move with them; - a text cell that CSS has **blockified** (the question card's option label and description are spans inside a flex `