* feat(i18n): add multilingual wiki scaffolding, language switcher, and translation QA pipeline * docs(readme): adopt picoclaw-style multilingual link bar * fix(i18n): repair localized index links and tighten partial-pair QA * ci(i18n): fail on broken markdown links in README/wiki * ci(i18n): add changed-files mode for markdown link checks * i18n(de): use local Argos MT to fill untranslated German sections * i18n(es,fr): fill untranslated sections via local Argos workflow * i18n(ja): fill untranslated sections with scoped local Argos pass * i18n(ko): fill untranslated sections with scoped local Argos pass * fix(i18n): address review feedback --------- Co-authored-by: David Abutbul <David.a@prompt.security>
3.6 KiB
Platform Verification Checklist
Use this checklist to validate portability and path-handling behavior after changes.
Linux Verification
-
Run core Node tests:
node skills/clawsec-suite/test/path_resolution.test.mjs node skills/clawsec-suite/test/guarded_install.test.mjs node skills/clawsec-suite/test/advisory_suppression.test.mjs node skills/openclaw-audit-watchdog/test/suppression_config.test.mjsExpected: all tests pass.
-
Verify no literal
$HOMEpath acceptance:CLAWSEC_LOCAL_FEED='\$HOME/advisories/feed.json' \ node skills/clawsec-suite/scripts/guarded_skill_install.mjs --skill test-skill --dry-runExpected: exits non-zero with
Unexpanded home tokenerror. -
Verify
$HOMEexpansion works:HOME=/tmp/clawsec-home node skills/clawsec-suite/test/path_resolution.test.mjsExpected:
$HOMEexpansion tests pass.
macOS Verification
- Run the same Node test suite as Linux.
- Confirm OpenSSL tooling path assumptions are documented:
- If using LibreSSL/OpenSSL variations, ensure checks use tested command forms from docs.
- Verify tilde expansion in config path:
Expected: path resolves correctly (or clear file-not-found error at expanded location).
OPENCLAW_AUDIT_CONFIG=~/.openclaw/security-audit.json \ node skills/openclaw-audit-watchdog/scripts/load_suppression_config.mjs --enable-suppressions
Windows Verification (PowerShell)
-
Run Node tests:
node skills/clawsec-suite/test/path_resolution.test.mjs node skills/clawsec-suite/test/guarded_install.test.mjs node skills/clawsec-suite/test/advisory_suppression.test.mjsExpected: all pass.
-
Verify PowerShell env path expansion behavior:
$env:CLAWSEC_LOCAL_FEED = '$env:USERPROFILE\advisories\feed.json' node skills/clawsec-suite/scripts/guarded_skill_install.mjs --skill test-skill --dry-runExpected: path token is expanded/normalized or fails with a clear error if target files are missing.
-
Verify escaped literal token rejection:
$env:CLAWSEC_LOCAL_FEED = '\$HOME\advisories\feed.json' node skills/clawsec-suite/scripts/guarded_skill_install.mjs --skill test-skill --dry-runExpected:
Unexpanded home tokenerror; no directory creation with literal$HOME.
Line Endings Sanity
-
Confirm LF policy is present:
test -f .gitattributes && grep -n "eol=lf" .gitattributesExpected: script/config file patterns enforce LF.
-
After a CRLF-prone checkout, verify scripts still parse:
bash -n scripts/populate-local-feed.sh bash -n scripts/populate-local-skills.shExpected: no
^Mshebang/parse errors.
Explicit Bug Check: No Literal $HOME Directory Creation
- Configure a path with a literal/escaped token.
- Run setup/install command.
- Verify command fails early with token error.
- Confirm no
$HOMEsegment directory was created under working directories.
Expected outcome: no directories containing literal $HOME are created by supported setup scripts.
Source References
- .gitattributes
- scripts/populate-local-feed.sh
- scripts/populate-local-skills.sh
- skills/clawsec-suite/test/path_resolution.test.mjs
- skills/clawsec-suite/test/guarded_install.test.mjs
- skills/clawsec-suite/test/advisory_suppression.test.mjs
- skills/clawsec-suite/scripts/guarded_skill_install.mjs
- skills/openclaw-audit-watchdog/scripts/load_suppression_config.mjs
- skills/openclaw-audit-watchdog/test/suppression_config.test.mjs