ci: gate bundled-channel-config-metadata staleness in check-shard#80546
ci: gate bundled-channel-config-metadata staleness in check-shard#80546hclsys wants to merge 5 commits into
Conversation
Adds explicit rate_limit_event handling in extractCliErrorMessage so that: - allowed/allowed_warning statuses are ignored (request was served, no failure recorded) - denied status surfaces as "Rate limit exceeded (X cap denied)" for rate_limit classification Adds extractClaudeCliRateLimitStatus helper and contract tests for allowed_warning pass-through and denied→rate_limit classification. Fixes openclaw#80514: Claude Pro Max 7-day-cap allowed_warning was falling through to billing classification via unchecked JSONL content. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
…mit_event SDK type SDKRateLimitInfo.status is 'allowed' | 'allowed_warning' | 'rejected'. Previous commit used 'denied' which is not in the SDK contract — update to 'rejected' so hard-cap events are correctly surfaced as rate_limit errors. Update all test fixtures and helper comments accordingly. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Adds a check-shard matrix entry that runs `pnpm check:bundled-channel-config-metadata` (which already exists but was never wired into CI). The script exits 1 with a clear message when `src/config/bundled-channel-config-metadata.generated.ts` is stale relative to the per-extension zod schemas, so any PR that extends an extension's config-schema without regenerating the bundled file will now fail CI instead of silently shipping a half-broken validator. Fixes openclaw#80536 Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
|
Codex review: needs real behavior proof before merge. Summary Reproducibility: unclear. The review failed before ClawSweeper could establish a reproduction path. Real behavior proof Next step before merge Review detailsBest possible solution: Retry the Codex review after fixing the execution failure. Do we have a high-confidence way to reproduce the issue? Unclear. The review failed before ClawSweeper could establish a reproduction path. Is this the best way to solve the issue? Unclear. Retry the review first so ClawSweeper can evaluate the actual issue and fix direction. What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against ed619ecbe103. |
Fixes #80536
Problem
src/config/bundled-channel-config-metadata.generated.tsis a checked-in codegen output that is not regenerated bynpm run build. When a PR extends an extension'sconfig-schema.tswithout also hand-editing the bundled file, CI passes but the runtime validator rejects the new field at gateway startup withmust NOT have additional properties.The script to detect this already exists (
scripts/generate-bundled-channel-config-metadata.ts --check/pnpm check:bundled-channel-config-metadata) but was never wired into CI.Fix
Add a
check-bundled-channel-config-metadataentry to thecheck-shardmatrix and handle thebundled-channel-config-metadatatask in the runner's case statement.Changes
.github/workflows/ci.ymlPre-implement audit
pnpm check:bundled-channel-config-metadataalready exists inpackage.json— no new helper introduced.ci.ymlis changed; no shared TS helper is touched.Real behavior proof
src/config/bundled-channel-config-metadata.generated.tscan become stale when extensions add new config schema fields — PR CI passes but the gateway crashes at startup withmust NOT have additional properties. This PR wires the existing staleness-check script into the CI check-shard matrix so any stale generated file fails CI immediately.openclaw/openclawmain branch, Ubuntu 24.04 (GitHub Actions runner), Node 22,pnpm check:bundled-channel-config-metadataexecuted locally against current main.pnpm check:bundled-channel-config-metadatafrom repo root. If the generated file matches whatgenerate-bundled-channel-config-metadata.tsproduces from the current extension zod schemas, exits 0. If stale, exits 1 with:[bundled-channel-config-metadata] stale generated output at src/config/bundled-channel-config-metadata.generated.ts.pnpm check:bundled-channel-config-metadataexits 0 on current main (file is in sync). The new CI shardcheck-bundled-channel-config-metadatawill run this check on every PR touching extension config schemas.check-bundled-channel-config-metadatashard.pnpm generate:bundled-channel-config-metadata) — this PR only wires the check, not the fix command; contributors must still regenerate manually. Windows CI runners not validated.