fix(api): regenerate config_schema golden after parallel_tools addition#3167
Merged
Conversation
#3144 added KernelConfig.parallel_tools but did not refresh the schemars-derived golden fixture. The PR's selective CI lane only ran librefang-types so the drift slipped through; on push to main the full-run lane has been failing on kernel_config_schema_matches_golden_fixture for every commit since. Any subsequent PR that touches librefang-api (e.g. #3162's dashboard edits) gets blocked by the same panic. Regenerated via: cargo test -p librefang-api --test config_schema_golden \ -- --ignored regenerate_golden --nocapture Diff is exactly the new ParallelToolsConfig definition + the parallel_tools field reference — verified against the current main HEAD (53dde25).
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
3 tasks
houko
added a commit
that referenced
this pull request
Apr 25, 2026
…#3171) The schemars-derived KernelConfig schema lives in librefang-types, but the golden-file regression guard (`kernel_config_schema_matches_golden_fixture`) lives in librefang-api. Selective PR-lane CI fans out by directly-touched crates only — so a types-only PR that adds a new schema field never runs librefang-api's tests, and the drift goes undetected until the push-to-main full-run lane explodes. By then main is already poisoned and every subsequent PR whose lane includes librefang-api gets blocked on the same panic. Incident chain that motivated this: - #3144 (KernelConfig.parallel_tools) merged with stale golden; PR-lane only ran librefang-types. - main full-run on the merge commit failed `kernel_config_schema_matches_golden_fixture` and stayed broken. - #3162 (dashboard-only) tripped the same panic two days later purely because its selective lane happened to include librefang-api. - #3167 regenerated the fixture as a one-shot fix. This guard makes the same mistake fail at PR review time instead of poisoning main. Implementation is one shell stanza in the existing "Detect Changes" job, no new actions or jobs.
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Regenerates
crates/librefang-api/tests/fixtures/kernel_config_schema.golden.jsonto match the schemars-derivedKernelConfigschema in currentmain. Fixes thekernel_config_schema_matches_golden_fixturetest failure that has been flaring on:5436e91cfailure recorded on the main run list);librefang-api— e.g. fix(dashboard): expose vLLM + LM Studio in embedding provider dropdown (refs #3138) #3162's dashboard-only edits, where the failure surfaced as Test/Ubuntu + Test/macOS red while the diff didn't touch any Rust at all.Root cause
PR #3144 (
feat(types): KernelConfig.parallel_tools section) added a new top-level config section (ParallelToolsConfigdefinition +parallel_toolsfield) but didn't refresh the golden fixture. The PR-lane CI on #3144 was selective and only ranlibrefang-typesjobs, so the drift went undetected at merge time. Since then every push to main has been failing this guard.Diff
The 45-line addition is exactly:
definitions.ParallelToolsConfig— the new schema entry (5 properties:enabled,max_concurrent,mcp_default_safety,mcp_readonly_allowlist, plus the docstring block).properties.parallel_tools— the$ref+ default-value reference at theKernelConfiglevel.Generated with the documented procedure:
Verified against
mainHEAD53dde25a.Test plan
Test / Ubuntu,Test / macOS,Test / Windows—kernel_config_schema_matches_golden_fixtureshould pass.Once this lands, #3162 just needs a rebase on
main.