chore(main): release 7.181.3 - #2786
Merged
zaxbysauce merged 1 commit intoSep 15, 2026
Merged
Conversation
github-actions
Bot
force-pushed
the
release-please--branches--main--components--opencode-swarm
branch
from
September 15, 2026 05:03
7a480f0 to
f88160f
Compare
zaxbysauce
enabled auto-merge
September 15, 2026 06:14
Contributor
Author
Drift check reportFound 2 drift finding(s): 0 error, 0 warning, 2 notice. required-check-contract (2)
|
Contributor
Author
|
🤖 Created releases: 🌻 |
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.
Instruction selection and caching with paired outcome evidence (#2672)
What changed
payload-input fingerprint covering every input the cached instruction text
embeds: the curator briefing, rejected lessons, the run-memory summary,
recent escalations, and the latest curator drift report (each read once per
invocation and shared with the assembly path). Previously a changed
briefing or drift report was re-served stale while the conversational
context was unchanged; now any instruction-set change invalidates the
cache. Unrelated event-file churn does not invalidate (escalation content
is hashed, not file stamps).
/swarm memory evaluate --instruction-pairingruns deterministic offlinetasks through the real injector hook on a cold cache (regeneration
reference) and a warm cache replaying identical context, reporting per pair
the quality outcome (which directive labels survived selection), per-arm
latency, cache reads, uncached cost, and the rendered prefix length at the
host-renderable carrier boundary. The durable report lands at
.swarm/memory/instruction-pairing-report.json. Negative results areretained rows (
negative_result: truewhen caching did not improve thepaired quality outcome), and the report deliberately contains no
percentage or savings fields — every quantity names its measurement
denominator. The report's
instruction_set_digestis the handle aHarnessOpt lineage record ([Workstream F] PR 11 of 21: Ship the governed HarnessOpt capstone with held-out validation #2503, the governed held-out comparison owner)
can reference; this command feeds that harness evidence without
duplicating it.
the issue (
ci-failure-batching,gate-attribution,merge-queue-readiness,skill-edit-validation,worktree-retry-cleanup,parallel-work-check) insrc/config/bundled-skill-dispositions.ts: all six are reachable withverified consumer references (including the Claude-side
commit-prandediting-skillsadapters, which previous closure scans did not visit).and no retirement fails the control (a missing literal search hit can
never delete a skill), and retirement requires full inventory parity. The
bundled-skill runtime-closure test now scans all consumer trees
(
.opencode,.claude,.agents,src), closing the scan-root gap.measurement denominators, and the six-skill disposition table
(
docs/configuration.md,docs/skills.md,docs/commands.md).Why
Instruction-selection and cache behavior shipped without paired outcome
evidence, the instruction cache could serve a superseded instruction set
after its inputs changed on disk, and bundled-skill consumption was asserted
only by inventory lists and a closure scan rooted at
.opencode/skillsthat missed two consumer trees. Issue #2672 (Workstream E PR 09 of 09)
required all three to be measurable and guarded.
How to use it
Nothing to configure. Run
/swarm memory evaluate --instruction-pairingforthe paired report; the injector cache now invalidates automatically when any
embedded instruction input changes. Skill dispositions are verified by the
consumer controls on every test run — retiring a skill remains a deliberate,
full-parity act.
Caveats
selection algorithm, so
quality_outcomeisidenticalby design — thehonest negative result the issue contract asks to retain; latency and cost
deltas carry the efficiency signal in absolute milliseconds.
escalations/drift) to the cache-hit path; the paired report quantifies the
remaining cache benefit rather than assuming it.
fix(agents): validate final enabled swarm model selections and fallbacks during preflightIssue: #2680
What
swarms.<id>.agents.<role>.model) — by reusing the shipped exact-name resolution helpers, instead of only reading top-levelagentsoverrides plus a blanketDEFAULT_MODELSpass that missed per-swarm overrides and warned about roles that cannot dispatch.council.*,docs_design,designerwhile their flags are off) are never collected, so preflight warnings carry no consumer-default noise; primary (architect) roles classify ashost-controlledand stay silent — OpenCode's UI owns their selection.missing-selection(enabled role with no final selection — catalog-independent) alongside the existing provider/modelunresolvedclasses; explicitfallback_modelsentries are validated as their own recorded class and are never synthesized.unresolvedis denied withSWARM_AGENT_MODEL_UNRESOLVED(critics keep thePLAN_CRITIC_MODEL_UNRESOLVEDidentity); a role with no final selection is denied withSWARM_AGENT_MODEL_MISSING_SELECTION. Primary agents are exempt (short-circuit before any catalog lookup) and an unreachable catalog never denies a dispatch — a catalog warning alone is not dispatch-failure evidence./swarm doctorreports failing selections with configured/enabled/resolved/fallback distinctions and per-class operator actions (bounded to 20 rows).Why
A per-swarm model override pointing at a missing provider or model was invisible to every preflight surface: the startup warning stayed silent,
/swarm doctormissed it, and the first observed failure was a permanent dispatch error with no typed preflight class. The #2271 preflight was built for top-level-config-only deployments and never followed multi-swarm generation.Notes
collectConfiguredAgentModelsremains exported unchanged for compatibility;runModelPreflightaccepts an optional options object carrying the live generated-name registry.docs/configuration.mdcovering configured vs enabled vs resolved vs fallback, prefixed names, optional-role gating, and operator actions.🤖 I have created a release beep boop
7.181.3 (2026-09-15)
Bug Fixes
This PR was generated with Release Please. See documentation.