# Pre-registration: does a CLAUDE.md cost the same in Chinese as in English? Written 2026-08-27, BEFORE any run. Nothing below was revised afterwards. ## Why On 2026-08-27 this site measured skill descriptions and found majority-Chinese ones cost about 2.2x per CHARACTER against English, with the arms not overlapping. Measured per BYTE of UTF-8 the same arms OVERLAP. That says the per-character gap is largely a unit artefact, because a Chinese character is roughly 2.3 UTF-8 bytes. If that reading is right it makes a testable prediction somewhere else entirely. This site prices CLAUDE.md per BYTE (106 tokens + 0.26 per byte). If the byte is the unit that travels, that rate should hold for a Chinese CLAUDE.md without modification. If instead the tokeniser genuinely penalises Chinese, the rate should come in low. ## The fixture One translation pair, so meaning is held constant. Written for this test, not taken from a repo. claudemd-en.md 1,558 bytes 1,558 characters ASCII claudemd-zh.md 1,536 bytes 556 characters 81% CJK The bytes happen to match within 1.4% while the characters differ by 2.8x. That is what makes one pair able to separate the two units. ## Predictions, all three recorded before running P1 This site's published CLAUDE.md rate, 106 + 0.26 per byte: EN ~511 tokens, ZH ~505 tokens. Near-identical. P2 The per-BYTE rates measured on skill descriptions the same day (English 0.363-0.482, Chinese 0.459-0.513 per byte): EN 566-751 tokens, ZH 705-788 tokens. ZH slightly HIGHER, ranges overlapping. P3 A naive reading of the per-CHARACTER headline, i.e. that Chinese is cheap because it uses fewer characters: ZH about 0.36x EN. ZH far cheaper. P3 is the reading this site must not let a reader walk away with, which is why it is scored. ## How it is scored Each arm is one CLAUDE.md at the project root of an otherwise empty project, one turn, measured against an empty floor from the SAME round. Four rounds. The estimator is the guarded mode from estimator.py, declared before the run. A prediction is scored CORRECT if the measured mode falls inside its stated interval, WRONG if it does not. P1 is a point prediction and is scored correct within +/-15%. ## Controls, all published per run PAIRED floor re-measured every round; every delta is against that round's floor. ONE PATH every arm runs in ONE constant directory, created and removed per run. This site has measured the startup floor moving with the working-directory path by up to about 80 tokens, which is large against this signal. ARRIVAL the reply must be exactly OK. FIXTURE the file's byte size is asserted at the project root before each run, and the floor arm asserts no CLAUDE.md exists. ISOLATION --setting-sources project asserted onto the command line. 529 GUARD result_guard refuses a result whose modelUsage is empty, so an overloaded API cannot be recorded as a zero-token run. ## What this cannot show One translation pair, written by the same author as the rest of this site's fixtures, and not checked by a native speaker. It is one file at one size on one machine at one release. It says nothing about a skill BODY, and nothing about any language outside these two.