Repository navigation
agent-fleet 1.7.0: routing hook counts call sites; verifier reads claims files - #68
Merged
Merged
Conversation
…ims files From an audit with extension-audit, plugin-dev's plugin-validator and skill-reviewer, each finding checked in the code. - check-routing.sh: one model: anywhere let a whole script through, so one routed agent() plus an unrouted fan-out passed, and so did "model:" in a comment. It now strips // comments and denies once when overrides are fewer than agent() calls. - deep-research.js: search and fetch run at effort "low"; unset, they inherited the session's, against the skill's own rule. Verify keeps the session effort, on purpose: no run has measured contesting lower. The final return also carries `confirmed` (claim, source, quote). - verify_citations.py: --claims reads fleet_worker's extract output or the workflow's `confirmed` and scores each quote against its own URL, in any language; it used to accept only a markdown report. Only http(s) is fetched, and loopback, private and link-local IP hosts are skipped (file:// was fetched in normal runs). n_skipped counts quotes that were never scored. The self-test uses a stub fetcher and a temporary directory it removes. - fleet_worker.py: a quote under 30 characters fails, the verifier's own minimum (it was 20, so 20-29 were never checked). - SKILL.md: the ratio rule said the opposite of the verifier's docstring; the X rule moves from the hook text into the skill; bench links point at GitHub. - Stale "crew's grok and hermes tiers are xhigh" removed (medium since crew 0.15.0); inject.sh anchors "papers" so "newspapers" no longer fires. The trigger sets in bench/.../2026-10-26-pesquisa-trigger score as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Fixes from an audit of agent-fleet with extension-audit (linter and checklist), plugin-dev's
plugin-validatorandskill-reviewer. Every finding below was checked in the code before it was changed.Changes
hooks/check-routing.sh): onemodel:anywhere in a script let it all through. A single routedagent()plus an unrouted fan-out passed, and so didmodel:inside a comment. The hook now strips//comments and denies once when there are fewer overrides thanagent()calls.workflows/deep-research.js):effort: "low". Before, they inherited the session's effort, which broke the skill's own rule.confirmed(claim, source, quote), so the report's quotes can be checked.verify_citations.py):--claimsreads fleet_worker'sextractoutput or the workflow'sconfirmed, and scores each quote against its own URL, in any language. Before this, neither of the plugin's own producers gave it input it could read.file://was fetched in normal runs.n_skippedandskippedcount the quotes that were never scored.TemporaryDirectory, sojust checkno longer leaves temp folders behind.fleet_worker.py): a quote under 30 characters now fails, the verifier's own minimum. It was 20, so 20–29 character quotes were never checked.SKILL.md):bench/links now point at GitHub, since installed copies have nobench/.agent()syntax.inject.shanchorspapers, so "newspapers" no longer fires the hook.Left out
script+namebypass: not a bug. The Workflow tool givesscriptPathandscriptprecedence overname, so a script always runs instead of the bare built-in.Testing
just check: 108 checks, 0 failed, 0 warnings, run twice.claude plugin validate --strict plugins/agent-fleet: passed.verify_citations.py --self-test: passed. It covers six cases and needs no network.file://, the 30-character minimum), and the self-test failed every time.fleet_worker.py --self-test: passed.model:, an unrouted script;{}and garbage input;scriptPathis denied once, for its inherited scope and synthesis steps.check_hook.pyfrom the2026-10-26-pesquisa-triggerbench record): dev 14/15 and 0/13, blind-1 12/12 and 0/12, blind-2 12/15 and 0/15, aug 4/10 and 0/10. All unchanged from the record.--claimsagainst docs.python.org:🤖 Generated with Claude Code