Skip to content

v1.4.2 — Sonnet scout, medium-effort security executor

Choose a tag to compare

@Nanako0129 Nanako0129 released this 25 Sep 20:26
· 16 commits to main since this release
0df62f4

pilotfish v1.4.2 re-routes two roles, removes two stale prompt lines found by an Opus 5.5 prompt audit, and updates the documentation for Claude Opus 5.5.

What changed

  • scout runs on Sonnet (effort low, unchanged). The current Haiku hallucinates too often for reconnaissance the orchestrator acts on. Revisit when a newer Haiku ships. (#93)

  • security-executor runs at medium effort (still Opus). Implementation does not need high; rigor is carried by review: security-reviewer at high before approval, and a fresh verifier after. (#93)

  • No Plugin role uses haiku any more. The Plugin install guide now lists only "opus" and "sonnet" as shipped role-model aliases. Explore stays on Haiku in the legacy global install.

  • Stale prompt lines removed. security-executor no longer claims that Opus routing keeps security work clear of safety classifiers, because Opus 5 and 5.5 run cyber classifiers too. scout drops its "under ~20 lines" output cap. (#92, #93)

  • Leaner Plugin policy. The leaf-role list becomes Every pilotfish:<role> is a leaf, taking sessionstart.txt from 8,978 to 8,842 bytes. The candidate passed 8/8 across the mechanical, schema lifecycle, coupled-bug and routine-docs cells on claude-opus-5-5. (#88, #29)

  • Opus 5.5 documentation.

    • On Claude Code 2.1.280 first-party, the opus alias resolved to claude-opus-5-5 for the main session and for model: opus roles.
    • Opus 5 is not recommended: its system prompt carries an injected Agent-suppression line that Opus 5.5 does not receive.
    • The recommended main-session effort is medium on Opus 5.5, citing Anthropic's Opus 5.5 prompting guide and the Artificial Analysis Intelligence Index.
    • The security routing notes now document the Opus 5 / 5.5 cyber-classifier fallback to Opus 4.8, which pilotfish accepts.

    (#88, #89)

Maintenance

This release also carries repository work merged since v1.4.1 that does not change installed behavior:

  • Release tooling. Test release version stamps are derived from VERSION (#59, thanks @neoeric). Current derived prose is bound in tests (#83). A CodeRabbit review configuration was added (#84).
  • Benchmark evidence. Attempts and runs are bound to their sources for:
    • prompt compression (#71);
    • cue-free TUI (#72);
    • dispatch brake (#73), plus the dispatch positive controls (#74);
    • Baton dispatch effect (#75) and Baton compatibility (#76);
    • compact policy (#77);
    • issue 29 recovery (#78);
    • spontaneous dispatch (#79);
    • verifier boundary (#81), plus the verifier paid summaries (#82).
  • Contributor and benchmark docs. Template changes now require a semantic-equivalence review (#68). Safe reproduction boundaries for benchmarks are defined (#69).
  • Install docs. The Explore override is scoped to the legacy global install (#85), and the restart reason in the global install runbook is corrected (#86).

Evidence and limits

  • Model routing. A live probe on Claude Code 2.1.280 confirmed the routing: pilotfish:scout ran as claude-sonnet-5, and pilotfish:security-executor as claude-opus-5-5.
  • Effort. Effort is not observable in the stream, so it is verified by frontmatter and tests only.
  • No behavioral Gate. Neither re-routed role was run through a behavioral Gate. benchmarks/baton-compatibility/results.json records that limit.
  • Semantic-equivalence readings. These are recorded on #93 (the agent templates) and #94 (the version comment).

Update

If you installed the mutable marketplace branch (Nanako0129/pilotfish with no tag):

claude plugin marketplace update pilotfish
claude plugin update --scope user pilotfish@pilotfish

If you pinned a release tag (Nanako0129/pilotfish@vX.Y.Z), marketplace update deliberately stays on that tag. Re-register the new tag instead, as PLUGIN-INSTALL describes:

claude plugin uninstall --scope user pilotfish@pilotfish
claude plugin marketplace remove --scope user pilotfish
claude plugin marketplace add --scope user Nanako0129/pilotfish@v1.4.2
claude plugin install --scope user pilotfish@pilotfish

claude plugin marketplace list shows which form you have. Restart Claude Code or run /reload-plugins afterwards so the new role definitions load.