Repository navigation
fix: refuse a dispatch brief whose model does not match the live profile - #11
Merged
Merged
Conversation
Add gates/check-brief-model.py: it reads model.provider and model.default from the named profile's live config.yaml and exits 1 when the brief's provider: or model: line disagrees. A model copied from earlier in a session is the defect it catches. Copy the checker and its test from the team-skills source unchanged; the test's script path now resolves gates/check-brief-model.py from the repo root instead of the author-local team-skills tree.
Contributor
Author
Requested changesThe script works, but it is not installed. It lands at The SKILL.md patch in protean-control-plane#10 tells the coordinator to run exactly that path from the protean-ops install, so the documented command fails on an installed kit. Either move the script into sparky-sai |
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.
What happened
A dispatch brief carried a model line copied from earlier in the session. By the time the launch was attempted, Frida's live config had already changed, so the brief named a model her profile no longer ran. She stopped rather than launch under a stale model.
What this adds
gates/check-brief-model.pyreadsmodel.providerandmodel.defaultfrom the named profile's liveconfig.yamland compares them against the brief'sprovider:andmodel:lines. On any mismatch, a missing field, or an unreadable config it exits 1 and refuses the launch. It remembers no model and edits neither the brief nor the config.tests/test_brief_model.pycovers the stale-model refusal, the live-model pass, and the missing-model-line refusal.The checker is copied unchanged from the team-skills source. The test's script path now resolves
gates/check-brief-model.pyfrom the repo root instead of the author-local team-skills tree; the assertions are unchanged.Verification
python3 -m pytest tests/test_brief_model.py-> 3 passed, exit 0. Full suite: 154 passed, exit 0.