Skip to content

Malay filenames in the question come back translated (lama.txt -> old.txt) #51

Open

Description

@opariffazman

Shipped model, v0.8.0 (run 7):

$ camne nak delete lama.txt
rm old.txt
$ camne nak rename fail baru.txt jadi lama.txt
mv new.txt old.txt
$ camne nak tengok isi file nota.txt
cat note.txt
$ camne nak delete file 'lama.txt'
rm lama.txt

Quoting the name protects it; a bare Malay-word filename is translated to its English equivalent. Likely cause is the pool: NL was translated from English rows whose command names the file (rm old.txt), the translation API turned old.txt into lama.txt in the NL while the command stayed byte-identical, so the model learned lama.txt -> old.txt as a mapping. Filenames need to be on the stoplist the same way technical nouns are (CLAUDE.md, dataset work), or the NL side needs the original filename restored after translation.

Check: grep -c 'lama.txt' dataset/out/pool_v5.jsonl against rows whose cmd has old.txt.

README notes the quoting workaround for now. Same family as #47 (data, not code); measure with a handful of exact-output prompts, then a run.

Activity

  1. opariffazman commented on Aug 17, 2026

    @opariffazman
    ContributorAuthor

    Measured (2026-08-18), details in RESULTS.md on #67.

    The hypothesis here is falsified: grep lama.txt | grep old.txt is 0 in every pool, and every NL filename absent from its command (219 rows in pool_v9) is a legitimate mention. The mapping is the base model's translation prior; what beats it is head rows carrying Malay filenames byte-identical on both sides.

    Eight exact-output prompts, now EXACT in training/probe.py (#51 exact n/8):

    • shipped v0.9.0: 2/8 (rm old.txt, cat note.txt, cp report.pdf work/, …)
    • run 10/11 models (head rows): 7/8 — only nak rename fail baru.txt jadi lama.txt → mv new.txt old.txt
    • run 12 (mv {t} {t2} block): 7/8 — rename right on every name pair except baru.txt, a name in zero pool rows
    • run 13 (baru.txt in the {t} list, 220 rows): 8/8 on SFT and DPO

    Not shipped: run 13's BM ALFA is 0.423 vs 0.497, CI [−0.125, −0.022] — the first head-row-family model where the CI clears zero. Data fix is in #67 and rides with the next model that clears ALFA. README quoting workaround stays until then.

  2. added a commit that references this issue on Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions