ResilientLang docsDeveloper documentation (draft, product name is a placeholder)

Troubleshooting CI runs

You seeMeaningFix
secret key was rejected (HTTP 401)The RL_API_KEY is missing, wrong, revoked or expiredStore a valid key as a CI secret (Masked and Protected on GitLab); run rl doctor
not allowed to do this (HTTP 403)The key lacks a scope or is bound to another siteA sync needs strings:write, translations:write and bundles:publish; a preview needs sites:read and translations:read
account suspended (HTTP 403)Writes are refused; published translations keep being servedContact support
plan, allowance or licence limit (HTTP 402)Not a permission problemRun rl quota; upgrade or wait for the reset date shown. See Errors
service unavailable or rate limited (HTTP 503/429)The control plane is busy; the CLI already retriedRe-run later; scheduled syncs may use on-unavailable: warn
the job failed or timed out (exit 4)A translation or publish job did not finishrl jobs get ID; raise timeout
Offline count only ... in the previewNo key in this run (a fork pull request)Expected; a maintainer re-runs it
could not post the commentA read-only tokenGive the workflow pull-requests: write
bundle integrity check failedThe signature, SHA-256 or rollback check refused the bundleCheck RL_PUBLIC_KEY and RL_SITE_KEY; during a key rotation list both keys (see Signing and key epochs)
hreflang / SEO check failedThe output has non-reciprocal or relative hreflang, a missing x-default, and so onFix the listed pages; hand-written alternates in source pages are the usual cause

Exit codes of rl: 3 for 401 and 403, 4 for a job that failed or timed out, 5 for 402, 6 for 429, 502, 503, 504 or a network error.