ci: check bundled channel config metadata#91134
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 21, 2026, 10:50 AM ET / 14:50 UTC. Summary PR surface: Config +6. Total +6 across 1 file. Reproducibility: yes. Source inspection shows current main consumes checked-in generated channel metadata at runtime and defines a stale-output checker, while the normal check-shard workflow does not run that checker; this read-only review did not mutate the repo to create a live stale-file repro. Review metrics: 1 noteworthy metric.
Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Next step before merge
Security Review detailsBest possible solution: Land this focused CI guard after ordinary maintainer review; any broader build-time regeneration policy can remain a separate follow-up. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows current main consumes checked-in generated channel metadata at runtime and defines a stale-output checker, while the normal check-shard workflow does not run that checker; this read-only review did not mutate the repo to create a live stale-file repro. Is this the best way to solve the issue? Yes. Wiring the existing read-only checker into the existing check-shard is the narrowest maintainable fix for this PR's scope; automatic build-time regeneration would be a broader policy decision. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 0ad48dad2c47. Label changesLabel justifications:
Evidence reviewedPR surface: Config +6. Total +6 across 1 file. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Fixes #80536
What Problem This Solves
src/config/bundled-channel-config-metadata.generated.tsis checked in and used by runtime channel config validation. The repository already haspnpm check:bundled-channel-config-metadata, but the main CIcheck-shardjob did not run it. A PR could therefore change an extensionconfig-schema.ts, forget to refresh bundled metadata, and only discover the stale generated file when the gateway rejected the new field at runtime.Fix
Add a
check-bundled-channel-config-metadataentry to the existingcheck-shardmatrix and dispatch that task to the existingpnpm check:bundled-channel-config-metadatascript.Real Behavior Proof
behavior
Before this patch, the normal CI check shard did not run the existing bundled channel config metadata staleness checker. After this patch, the workflow contains both the
check-bundled-channel-config-metadatamatrix entry and the matching dispatch topnpm check:bundled-channel-config-metadata.environment
Local OpenClaw checkout on macOS, branch head
dab9eb9509c61a0d1e1d2bdb8ff1ba357e6023e2, based onorigin/mainata7d5d929891136f792832f0c9a159828fe9906c5.steps
Ran a direct workflow-content assertion, then ran the existing metadata checker and whitespace check from the repository root:
evidence
After-patch command output:
Before the patch, the same workflow-content assertion failed on latest
mainwith this output:missing bundled channel config metadata check shardobservedResult
The workflow now includes the bundled channel config metadata check shard, and the existing generated metadata checker exits 0 on the current generated file.
notTested
No additional gaps.
Duplicate Audit
Immediately before pushing, I reran five live open-PR searches:
Fixes #80536: no open PRs#80536: no open PRsbundled-channel-config-metadata.generated: no open PRsconfig-schema codegen validator: only unrelated fix(gateway): tolerate Paperclip metadata via adapterMeta namespace + paperclip alias on AgentParamsSchema #74974must NOT have additional properties channel: unrelated config/channel PRs fix(config): strip legacy installs/plugins from channel configs before validation #63474, fix(telegram): allow agentId in account config for multi-account routing #63380, fix: 4 bug fixes for feishu, health, models, and skills #63924, Add Telegram per-group UI overrides #87759, feat(streaming): opt-in persistProgress mode for tool+commentary lines #89850Scope Notes
This does not change the generator or regenerate metadata during build. It only makes the existing read-only stale-output guard part of the normal check shard so missing generated metadata is caught in CI instead of at gateway startup.