Sprint 2.5 — D5: Local Validation Script
Branch: feat/sprint-2.5-d5-local-validation
Base: main
Depends on: D4 ✅ (scripts/validate-config.sh merged via PR #30)
Task
Create a standalone local validation script that can be run without GitHub Actions context.
Files to create in Piboonsak/openclaw_github:
scripts/validate-config-local.sh (NEW)
- Accept config file path as argument (default:
openclaw.prod.json5)
- Run same checks as
scripts/validate-config.sh (D4):
models is not null and has at least one entry
gateway section exists with required fields
agents.defaults.model exists and is a valid string
- JSON/JSON5 syntax is valid
- Output: clear ✅ PASS or ❌ FAIL with specific error details
- Exit 0 on valid, non-zero on invalid
- Works without GitHub Actions context
Usage example:
bash scripts/validate-config-local.sh openclaw.prod.json5
# Output: ✅ Config valid OR ❌ Config invalid: models is null
Acceptance Criteria
Commit Message
feat(config): add local config validation script (#202)
Reference
Labels
Sprint 2.5 — D5: Local Validation Script
Branch: feat/sprint-2.5-d5-local-validation
Base: main
Depends on: D4 ✅ (scripts/validate-config.sh merged via PR #30)
Task
Create a standalone local validation script that can be run without GitHub Actions context.
Files to create in
Piboonsak/openclaw_github:scripts/validate-config-local.sh(NEW)openclaw.prod.json5)scripts/validate-config.sh(D4):modelsis not null and has at least one entrygatewaysection exists with required fieldsagents.defaults.modelexists and is a valid stringUsage example:
bash scripts/validate-config-local.sh openclaw.prod.json5 # Output: ✅ Config valid OR ❌ Config invalid: models is nullAcceptance Criteria
openclaw.prod.json5Commit Message
Reference
Labels