forked from c-fu/arah2
- src/i18n/strings.ts: single copy source of truth, en + ms identical key-sets, clinical/honest start + privacy copy, pickLocale fallback rule - /start /mula, /help, /privacy /privasi handlers: plain text replies with link previews disabled, zero menu/button surface (D-02, grep-gated) - createBot(env) factory registers exactly the phase command stack - scripts/register-commands.mjs: one-time setMyCommands, two scopes (default + language_code ms), descriptions derived from helpMenu — no inline copy, no future-command stubs (D-03/D-05) - test/commands.test.mjs: CS1-CS6 gates — locale parity, pickLocale matrix, PRIV-01 copy gate vs never-facts + TTL wording, D-02 structural grep, D-03 menu gap-freedom, D-04 alias completeness (27 passing)