Repository navigation
fix(multi-agent): source every role default from an upstream statement that states it - #7105
Draft
kyle-sexton wants to merge 1 commit into
Draft
kyle-sexton wants to merge 1 commit into
kyle-sexton wants to merge 1 commit into
Conversation
…t that states it Every role's model and effort in reference/defaults.yaml cited workflows#cost, a section that names no effort level and sets no role's model. Each value now records its basis: upstream, with the section and the statement in it that set the value (pointer_<field>, claim_<field>), or judgment with a reason (reason_<field>). No value changed. - resolve-roles.sh prints a basis per value (upstream, judgment, config for a consumer layer, unrecorded) and treats basis_*, claim_* and reason_* as bundled-only provenance. - The drift-audit workflow reports unsupported when a cited section states neither the value nor a rule it follows from, proposes basis judgment for it, and lists judgment values with their reasons instead of sending them to a finder. - /multi-agent:route and /multi-agent:audit-defaults describe the basis. Closes #6265 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L8KdG7fWg2YrErVYWtohmR
Contributor
Author
|
The lanes run once the PR is marked ready. That flip waits for Kyle, because it also starts the review lanes. Until then, the local runs listed under Verification in the PR body are the signal. Generated by Claude Code |
4 tasks
This branch has not been deployed
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.
Requested by Kyle · project thread
Closes #6265
Summary
Before: every role in
plugins/multi-agent/reference/defaults.yamlcitedworkflows#cost(plus the bundled/workflow-authoringskill) for both itsmodeland itseffort. That section names no effort level and sets no role's model./multi-agent:routeprinted the values as resolved routing, and/multi-agent:audit-defaultsonly asked whether a source "still supports" a value, so it had no verdict for a pointer that never stated the value.After: each role's
modelandeffortrecordsbasis_<field>. Anupstreambasis names the section (pointer_<field>) and the statement in it (claim_<field>). Ajudgmentbasis gives areason_<field>.routeprints abasisper value.audit-defaultssends judgment values to no finder and lists them with their reasons, and it reportsunsupportedwhen a cited section states neither the value nor a rule the value follows from.Fix
Sources, each read live on 2026-10-11 with the plugin's own
scripts/docs-raw.sh(fresh raw read):No model or effort value changed, so the issue's "values that change" CHANGELOG list is empty; the fragment says so and names each value's new source. As-of dates are 2026-10-11, and each role's recheck trigger names the section its values hang on.
Code:
scripts/resolve-roles.sh: adds abasis: {model, effort}per role. Values areupstreamorjudgmentfrom the bundled layer,configwhen a consumer layer supplied the value, andunrecordedwhen the bundled entry names none.basis_*,claim_*andreason_*are bundled-only provenance, likepointer*. A consumer layer that sets them is ignored with a note.skills/audit-defaults/scripts/list-pointers.sh: passes the new keys through as provenance.workflows/drift-audit.js: adds the newunsupportedverdict. It goes through the skeptic panel likedrifted, keeps its value, and the diff proposesbasis_<field>: judgmentplus areason_<field>placeholder. Judgment values are split off before the finders and returned asjudgment.routeandaudit-defaultsSKILL.md,reference/config.mdand README describe the basis.Defaults I chose without a recorded decision:
fanout.*,frontier) are left as they are. The issue is about role defaults, and fix(multi-agent): recheck fanout and worker defaults, fix audit-defaults step 3 #6904 edits those lines.pointerandpointer_costkeys on roles are removed in favor of the per-value pointers.pointer_skillandpointer_spawnstay as mechanism pointers.inherit(judgment) even though the cost guide puts workers on lower-cost models. Changing it would change routing, which is Kyle's call.Verification
bash plugins/multi-agent/scripts/resolve-roles.test.sh: 60 cases, 0 failed. New cases cover per-role basis (every shipped role has an anchored pointer plus a claim, or a reason), basis in the resolved JSON,configfor a consumer value, an ignored consumer basis key, andunrecorded.node --test plugins/multi-agent/tests/drift-audit.test.mjs: 39 pass. Both new tests (judgment split, unsupported verdict and diff) fail againstorigin/main's workflow and pass with this change.scripts/affected-tests.sh --base origin/main --run: every selected suite passes exceptskills/audit-defaults/scripts/list-scripts.test.sh. Its five failures are alllist-targets.shcases (awk: runaway regular expression) and come from this host's mawk. Main's own copy fails the same five here, and this PR does not touchlist-targets.sh. The list-pointers cases in that suite pass.scripts/check-changed-skills.sh origin/main:routepasses.audit-defaultsfails only on that samelist-scripts.test.sh.check-purged-em-dashes.sh,validate-plugins.sh,check-changelog-fragments.sh --check/--check-required origin/mainandcheck-changelog-parity.sh --check: all pass.Related
as_of/rechecklines indefaults.yamland the audit-defaults SKILL.md step 3. The two PRs will conflict indefaults.yamlwhichever merges second. This PR leavesfanoutalone, so a rebase means taking this PR'srolesblock and fix(multi-agent): recheck fanout and worker defaults, fix audit-defaults step 3 #6904'sfanoutlines.🤖 Generated with Claude Code
https://claude.ai/code/session_01L8KdG7fWg2YrErVYWtohmR
Generated by Claude Code