diff --git a/.claude-plugin/marketplace.base.json b/.claude-plugin/marketplace.base.json index b31bbcfd..4ba9cdd3 100644 --- a/.claude-plugin/marketplace.base.json +++ b/.claude-plugin/marketplace.base.json @@ -9,7 +9,7 @@ "plugins": [], "metadata": { "description": "Agent collaboration plugin marketplace", - "version": "7.0.6", + "version": "7.0.7", "repository": "https://github.com/sumitake/agent-collab" } } diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 5ba2fd14..a5f5a82d 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -10,7 +10,7 @@ { "name": "agent-collab", "description": "Unified collaboration package with semantic actions, source-grounded context, empirical project estimation, and a verified plugin-relative direct native runtime.", - "version": "7.0.6", + "version": "7.0.7", "author": { "name": "John Osumi" }, @@ -34,7 +34,7 @@ ], "metadata": { "description": "Agent collaboration plugin marketplace", - "version": "7.0.6", + "version": "7.0.7", "repository": "https://github.com/sumitake/agent-collab" } } diff --git a/README.md b/README.md index 3e3f54a6..a154976e 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ # agent-collab `agent-collab` publishes one collaboration plugin for Claude Code, Codex, and -compatible hosts. Version 7.0.6 pairs a routing-only public client with the +compatible hosts. The package pairs a routing-only public client with the co-packaged direct native runtime. Callers choose logical work; provider output remains opaque content for the calling agent to interpret. -This public repository's current source is **agent-collab** (v7.0.6). +This public repository's current source is **agent-collab** (v7.0.7). Current published release: **7.0.6** ([`v7.0.6`](https://github.com/sumitake/agent-collab/releases/tag/v7.0.6)). It carries signed provider runtime `5.0.7`. Host installation, readiness, and @@ -18,22 +18,23 @@ machine-operational contract for the repository source. The dated records the completed publication and keeps repository, tag, release, installation, and readiness claims separate. -## What's new - v7.0.6 +## What's new - v7.0.7 -When independent review is required, the skills make reviewer independence a -caller responsibility. Before dispatch, the caller establishes the primary and -artifact-author families and checks the proposed reviewer. Afterward, it verifies the observed reviewer -family and source before accepting independent evidence. Unknown lineage stays -unknown; a routing result alone does not establish independence. -Ordinary code review can still use available Gemini when no eligible independent -reviewer exists, with an explicit advisory label and no independent-approval claim. +The 7.0.7 source prepares runtime `5.0.8`. Native calls keep the operating +account's login context and SSH session markers. Bounded native output remains +available when optional event metadata or Unicode is irregular. Eligible +read-only Gemini work can complete one correlated empty successful turn within +the same native process, retaining the original diagnostic and recovered answer. -This content update retains the signed runtime `5.0.7` and wire schema 12 -unchanged. The release is published, and all 178 released files match each of -the four observed local installations. Provider-free planning and migration -checks passed from the control session against those roots; existing tasks -still need a fresh session to load updated skills. The dated status snapshot -records those limits and the unresolved Claude subscription-access denial. +Reviewer selection considers every contributing author family. Independent +approval requires response-correlated native evidence; unverified results stay +advisory. A demonstrated caller setup defect permits at most one corrected +read-only request per original request across all descendants, without +replaying uncertain mutations or switching providers. + +Signed dual-architecture delivery and staged qualification are in progress. +The currently published release remains 7.0.6; this source preparation does not +claim a new release, installation, or provider availability. For earlier release history, see the full [CHANGELOG](CHANGELOG.md). @@ -122,18 +123,18 @@ size-branded source or generated skill surface is supported. ## Runtime trust boundary The canonical workspace build owns the final binary and generated manifest. -The published package carries: +The 7.0.7 source targets: - manifest schema 4; - runtime protocol 5; - native manifest contract 4; -- provider runtime version `5.0.7`; +- provider runtime version `5.0.8`; - one top-level closed `wire_contract` plus canonical `wire_contract_sha256`, bound into each artifact record; and - wire schema 12 with 12 logical actions and per-action timeout modes. -The checked-in signed artifact rows are the imported 5.0.7 / wire-schema-12 -generation for both macOS architectures. +Both macOS architectures carry the imported signed and notarized 5.0.8 +artifact set. Wire schema 12 is unchanged. Production provider work uses admitted progress inactivity so active work is not killed by a strict elapsed timer. Homogeneous `total_deadline` requests diff --git a/changelog.d/2026-09-14-001-read-only-fresh-review.md b/changelog.d/2026-09-14-001-read-only-fresh-review.md new file mode 100644 index 00000000..1ca944cc --- /dev/null +++ b/changelog.d/2026-09-14-001-read-only-fresh-review.md @@ -0,0 +1,9 @@ +### Changed + +- Document one bounded caller fresh-review for read-only review and + governance skills: after a completed or terminated attempt with no + substantive result and no uncertain external mutation, the caller may + issue at most one new corrected work unit to fix a demonstrated setup + defect while retaining the failed attempt. Shared consumed-work + no-replay, worker, dev-delegate, and merge-resolve contracts stay + unchanged. diff --git a/changelog.d/2026-09-15-001-native-home-recovery.md b/changelog.d/2026-09-15-001-native-home-recovery.md new file mode 100644 index 00000000..4a69eb6a --- /dev/null +++ b/changelog.d/2026-09-15-001-native-home-recovery.md @@ -0,0 +1,7 @@ +### Fixed + +- Use the OS account's canonical home for native execution and preserve SSH + session markers so providers retain their own login behavior. Request files + remain temporary; login profiles are not copied. +- Clarify that native recovery stays within the original invocation and that + existing operator authorization persists across tool steps in the same scope. diff --git a/changelog.d/2026-09-15-002-reviewer-selection-evidence.md b/changelog.d/2026-09-15-002-reviewer-selection-evidence.md new file mode 100644 index 00000000..6333775c --- /dev/null +++ b/changelog.d/2026-09-15-002-reviewer-selection-evidence.md @@ -0,0 +1,14 @@ +### Changed + +- Clarify that provider-free planning reports route eligibility, not reviewer + family identity. Candidate selection may use currently known configuration or + response-scoped observations; independent approval after return requires + response-scoped evidence distinct from the primary and every contributing + author family. Governance-review and plugin README invocation use the same + caller-verified checks. Chain keeps its existing routing exclusions; those + exclusions do not prove response identity or all-contributor independence. +- Seat required initial reviewers first and reserve a tiebreaker only from spare + independent eligible reviewers. A sole eligible independent reviewer is used + initially; unmet required panel size stays visible. +- Document optional response-scoped native model-identity observations in + provider-neutral public guidance without expanding the signed wire. diff --git a/changelog.d/2026-09-16-review-guidance-boundaries.md b/changelog.d/2026-09-16-review-guidance-boundaries.md new file mode 100644 index 00000000..60f9b2a2 --- /dev/null +++ b/changelog.d/2026-09-16-review-guidance-boundaries.md @@ -0,0 +1,6 @@ +### Fixed + +- Align architecture handbook guidance with all-contributor family exclusion and response-correlated native reviewer identity. Configuration may identify a candidate but cannot establish independent approval. Missing reviewer evidence leaves independent approval unmet and content advisory; it is not provider unavailability. + +- Keep logic-check status advisory until response-scoped evidence establishes reviewer independence, and compare every contributing author family during reviewer selection. +- Limit the caller's corrected read-only review to one correction per original request across descendants; explicitly exclude ambiguous native mutations in generated guidance. diff --git a/changelog.d/2026-09-16-runtime-508-distribution.md b/changelog.d/2026-09-16-runtime-508-distribution.md new file mode 100644 index 00000000..2ec3323d --- /dev/null +++ b/changelog.d/2026-09-16-runtime-508-distribution.md @@ -0,0 +1,7 @@ +### agent-collab 7.0.7 — runtime 5.0.8 + +- Pair runtime 5.0.8 with the public client that preserves canonical account HOME and native SSH context. Both macOS architectures must pass the coordinated signing, import and staged qualification gates before publication. +- Gemini's existing native carrier supports one correlated read-only completion after an empty successful turn in the same process, keeping the original diagnostic and recovered answer. Codex tolerates nonprotocol startup noise and malformed optional tool metadata. Codex and ACP preserve irregular Unicode and correctly scope optional model observations. Shared interactive stdin writes remain under supervision and backpressure handling. +- Existing native transports and descriptor-admitted actions remain in place; no provider fallback, automatic request replay, replacement login profile, broker, or new route is introduced. Claude and Grok transport selection is unchanged; no omitted Claude profile is activated. +- Keep wire schema 12, protocol 5, native contract 4, 12 logical actions, eight logical agents and wire digest `a675807e0ff5f0544d7cc9d659914ce2dadac9be8efd0fb56635815e5c3e842a` unchanged. Bind the new public client and release-exact manifest schema to the signed producer. +- Retain caller-owned independent-review checks, advisory results when evidence is missing, all-author reviewer selection and a nonrenewable corrected-review allowance. diff --git a/docs/architecture/README.md b/docs/architecture/README.md index 87fd1679..2b301f7b 100644 --- a/docs/architecture/README.md +++ b/docs/architecture/README.md @@ -65,7 +65,8 @@ The public repository and package preserve these invariants: 2. Callers select a skill or logical collaboration job. They do not receive a raw provider-execution escape hatch. 3. Governance review requires a model family independent of the active primary - and the reviewed artifact's known author family. + and every contributing artifact-author family, established through native + identity evidence correlated to the returned review. 4. Route authorities are closed. Read-only, output-only, and unavailable actions do not promote themselves because another route failed. 5. Provider output is an artifact for the trusted primary to inspect. It does diff --git a/docs/architecture/capabilities-and-workflows.md b/docs/architecture/capabilities-and-workflows.md index 13dc682f..97400cb6 100644 --- a/docs/architecture/capabilities-and-workflows.md +++ b/docs/architecture/capabilities-and-workflows.md @@ -94,8 +94,10 @@ the primary for integration. 1. Identify the artifact, primary, authors and whether the task requires independent approval. 2. Use the appropriate review skill. For required independence, verify a - reviewer outside the primary and author families and bind that selection to - the live call. Verify observed reviewer lineage and exact source afterward. + candidate outside the primary and every contributing author family and bind + that selection to the live call. After return, verify native identity + evidence correlated to that response and the exact reviewed source; + configuration-scoped identity alone cannot establish independent approval. 3. For ordinary code review, an available Gemini reviewer can still help when no distinct-family reviewer is available. Label same-family or unknown lineage as advisory; leave any independent approval requirement unmet. @@ -103,7 +105,7 @@ the primary for integration. routing, role names or a subscription, repeatedly attempt an unavailable provider, or replay a consumed request to repair formatting or evidence. -This is caller-owned behavior in the [released code-review +This is caller-owned behavior in the [code-review skill](../../skill-specs/code-review.md). The routing request has no dynamic primary/artifact-author lineage exclusion fields. @@ -175,9 +177,10 @@ A capability is usable only when all applicable gates pass: Runtime and planning diagnostics describe the attempted route; they do not perform the caller's family-exclusion check or establish provider-wide failure. -Missing independent-review evidence leaves that requirement unmet. Preserve -available advisory content without claiming broader authority, silently -substituting an operator-named target, or replaying a consumed request. +Missing independent-review evidence leaves that requirement unmet; it is not +provider unavailability. Preserve available advisory content without claiming +broader authority, silently substituting an operator-named target, or replaying +a consumed request. For installation and recovery, continue to [Lifecycle and operations](lifecycle-and-operations.md). diff --git a/docs/architecture/claude-participation.md b/docs/architecture/claude-participation.md index b15a8a43..c95112c9 100644 --- a/docs/architecture/claude-participation.md +++ b/docs/architecture/claude-participation.md @@ -67,10 +67,11 @@ authors and integrates work, adjudicates cross-family feedback, runs verification, and owns landing decisions within operator authority. The native document-intent route does not change independence rules. When the -active primary or artifact author is Anthropic-family, the primary and repository/skill workflow must exclude -same-family evidence where an independent family is required. Conversely, -when another family is primary, Claude document intent remains context only; -it cannot satisfy a review or governance evidence contract. +active primary or any contributing artifact author is Anthropic-family, the +primary and repository/skill workflow must exclude same-family evidence where +an independent family is required. Conversely, when another family is primary, +Claude document intent remains context only; it cannot satisfy a review or +governance evidence contract. ## Asynchronous participation diff --git a/docs/architecture/governance-and-authority.md b/docs/architecture/governance-and-authority.md index a0a46987..4480a109 100644 --- a/docs/architecture/governance-and-authority.md +++ b/docs/architecture/governance-and-authority.md @@ -10,22 +10,29 @@ tool call is not evidence that the caller should receive broader permissions. ## Independence model For governance-grade review, repository and skill policy requires a recorded -active-primary lineage and artifact-author lineage. The primary must select -and preserve evidence from a reviewer outside both required families. If either -lineage is unknown, the governance workflow fails closed. OpenCode is a -transport/host surface; the selected model's lineage supplies family provenance. +active-primary lineage and the lineage of every contributing artifact author. +The primary must select a reviewer outside the primary and all contributing +author families. If any required lineage is unknown, independent approval +remains unmet. Missing reviewer identity evidence is not provider +unavailability: keep usable advisory content, do not stop ordinary read-only +advisory work, and do not replay a consumed request to improve lineage. +OpenCode is a transport/host surface; the selected model's lineage supplies +family provenance. The current public runtime request has no primary or artifact-author-lineage field. It does not dynamically perform this exclusion. The skill and repository workflow require it, and the primary verifies the selected reviewer and the substance of the exact-head review. -For an authorized independent review, the caller binds its verified reviewer -selection to the actual request, honors an operator-named provider, and checks -observed native lineage afterward. Planning an untargeted call does not reserve -that selection for a later call. Role names, receipts and routing success do -not establish independence, and a consumed request is not replayed to improve -its evidence. The [released review skill](../../skill-specs/code-review.md) +For an authorized independent review, known native configuration or earlier +observations can identify a candidate. The caller binds that selection to the +actual request and honors an operator-named provider. After return, independent +approval requires response-scoped native identity evidence correlated to that +specific response, plus verification of the reviewed source and findings. +Configuration alone cannot establish that approval. Planning an untargeted +call does not reserve a selection for a later call. Role names, receipts and +routing success do not establish independence, and a consumed request is not +replayed to improve its evidence. The [review skill](../../skill-specs/code-review.md) contains the caller procedure. Ordinary code review remains useful when no independent reviewer is available. @@ -41,11 +48,11 @@ cannot become governance evidence through a role assignment or successful call. ```mermaid flowchart LR - Artifact["Artifact plus author lineage"] --> Eligibility["Caller verifies required lineages"] + Artifact["Artifact plus all contributing author lineages"] --> Eligibility["Caller verifies required lineages"] Primary["Active primary lineage"] --> Eligibility - Eligibility --> Exclude["Caller excludes primary and author families"] - Exclude --> Reviewer["Caller selects an independent reviewer"] - Reviewer --> Evidence["Review artifact or governance verdict"] + Eligibility --> Exclude["Caller excludes primary and every author family"] + Exclude --> Reviewer["Caller selects a reviewer candidate"] + Reviewer --> Evidence["Caller verifies response identity, source and findings"] Evidence --> PrimaryGate["Primary integration and repository gates"] ``` @@ -72,7 +79,9 @@ No failure converts one row to another. In particular: unavailable; - the runtime does not itself apply output; callers must supply a disposable copy and verify it before application; -- the governance workflow cannot accept an unknown primary or artifact family; +- independent approval cannot accept an unknown primary or contributing + author family; that missing evidence leaves the requirement unmet and + does not make the provider unavailable; - an explicit target is not silently replaced by a different provider; and - a successful result does not gain merge, deployment, release, or policy authority. @@ -115,8 +124,9 @@ The trace proves that required evidence was recorded in the expected form. It does **not** cryptographically prove that quoted review prose came from the claimed reviewer. This is an intentional, documented residual boundary: -- skill and repository policy require family independence, verified by the - primary against the actual selected reviewer; +- skill and repository policy require family independence from the primary + and every contributing author, verified against native identity evidence + correlated to the returned response; - repository automation validates trace form and presence; and - the primary, independent reviewer, and operator validate substance and exact head before merge. @@ -146,11 +156,14 @@ and its evidence is verified. ## Why these controls matter - **Different failure modes:** independent model families are more likely to - expose correlated assumptions than another instance of the author's family. + expose correlated assumptions than another instance of the primary or a + contributing author's family. - **Least authority:** a route receives only the permission its work requires, reducing the cost of a hallucination or prompt-injection failure. -- **Honest evidence:** unavailable execution and explicitly unknown lineage - remain uncertain; neither is converted into successful governance evidence. +- **Honest evidence:** unavailable execution describes that attempt; + unknown lineage is missing independence evidence. Neither alone establishes + provider-wide failure or independent approval. Preserve usable advisory + content without claiming broader authority. - **Separation of duties:** authoring, reviewing, integrating, merging, and releasing remain distinct accountable acts. - **Recoverability:** an unavailable native artifact stops execution diff --git a/docs/architecture/lifecycle-and-operations.md b/docs/architecture/lifecycle-and-operations.md index 77af4a0c..b924896e 100644 --- a/docs/architecture/lifecycle-and-operations.md +++ b/docs/architecture/lifecycle-and-operations.md @@ -72,7 +72,11 @@ Installation, selection, and readiness are separate checks. snapshot. A listed route is not proof of readiness. 5. **Bounded smoke test:** invoke one low-risk read-only workflow, such as a second opinion on a short draft, and verify the returned family is eligible - and independent where the task requires independent approval. + and independent of the primary and every contributing author where the task + requires independent approval. Use native identity evidence correlated to + the returned response; configuration and routing alone are insufficient. + Missing evidence leaves independent approval unmet and the result advisory; + it is not provider unavailability. For an activation package, inspect the provider-free migration report: @@ -95,6 +99,14 @@ overrides. Policy-only packages return typed unavailable for native actions. Invoke the skills in normal language or by their host command. Examples: +Native providers use the account's canonical home and their own configuration +and authentication. The coordinator keeps request files in a temporary +directory without relocating login state, and preserves SSH session markers +used by native CLIs. A terminal on another host or in another login session is +not an equivalent availability check. Preserve existing authorization for the +same task scope across tool steps; native recovery inside the original call +does not require a new caller invocation. + ```text /agent-collab:second-opinion Review this architecture decision. /agent-collab:code-review Review the current diff against the task. @@ -237,11 +249,11 @@ contains the invocation guidance. | `duplicate_blocked` or migration conflict | A retired package remains active or installed. | Run migration doctor, apply only its host-specific removal actions, and run it again. | | `unavailable` | The route, runtime, provider prerequisite, or observed readiness is not currently usable. | Run runtime status and migration doctor; check supported vendor authentication separately. Do not use a raw-provider fallback. | | Reviewer shares a required excluded family | The primary cannot count that output as independent governance evidence. | Where independence is required, select an eligible different family before dispatch. Ordinary review may retain the output as advisory; the current routing wire does not enforce lineage exclusion. | -| Reviewer or author lineage is unknown | The primary cannot establish governance independence. | Verify the actual model lineage and authorship; do not guess from a host nickname or installation path. | +| Reviewer or any contributing author lineage is unknown | Independent approval remains unmet. Missing reviewer evidence is not provider unavailability and does not stop ordinary read-only advisory work. | Verify every author's lineage and response-correlated native reviewer identity; configuration, a host nickname, or an installation path is insufficient. Keep usable advisory content; do not replay a consumed request to improve lineage. | | `config_error` | Request fields, host identity, or route/action pairing violate the closed schema. | Use the installed skill/package reference; remove unsupported fields rather than widening the schema. | | `auth_error` or `quota_error` | The managed provider prerequisite failed after routing. | Use the provider's supported login/account interface or wait for quota. Keep the same authority. | | Output-only worker made no caller-worktree changes | Expected behavior. | Review the returned artifact and apply it through the trusted primary if appropriate. | -| Governance evidence lacks required identity | Repository/skill policy is not satisfied, regardless of runtime success. | Establish the required provenance before accepting the review; this is the primary workflow responsibility. | +| Governance evidence lacks required identity | Independent approval remains unmet regardless of runtime success; this is missing provenance, not provider unavailability. | Establish the required provenance before accepting independent approval; keep usable advisory content. This is the primary workflow responsibility. | | Version in a running session is stale | The host loaded an earlier package snapshot. | Finish the marketplace/package update and start a genuinely new session/task. | Preserve typed errors. Do not infer failure from response prose, retry a diff --git a/docs/architecture/system-context.md b/docs/architecture/system-context.md index 04b9082d..27910bdc 100644 --- a/docs/architecture/system-context.md +++ b/docs/architecture/system-context.md @@ -89,7 +89,7 @@ bundle and the metadata needed to verify it may cross into the public package. | --- | --- | --- | | User | Sets the objective, constraints, and any reserved decisions. | No requirement to understand provider transport or package internals. | | Supported host | Loads the plugin and exposes its skills in the host's normal interaction model. | Does not redefine model family or route authority. | -| Trusted primary | Interprets intent, selects a workflow, reviews output, applies changes, tests, and decides what to land within user authority. | Cannot turn same-family output into independent governance evidence. | +| Trusted primary | Interprets intent, selects a workflow, reviews output, applies changes, tests, and decides what to land within user authority. | Cannot turn same-family or lineage-unverified output into independent governance evidence. | | Skill | Encodes one public workflow and its triggers, evidence needs, and stop conditions. | Does not prove the underlying managed route is active. | | Public coordinator and policy | Forward the manifest-bound request and preserve routing decisions, opaque content, and execution facts. | No raw provider, binary, credential, or arbitrary tool selection. | | Managed reviewer | Returns bounded read-only critique or governance evidence. | No source mutation, merge, deployment, or self-approval. | @@ -121,8 +121,10 @@ boundary. 1. The primary invokes a skill or follows a primary-executed playbook. 2. For a managed route, the public client validates the manifest-bound request; the primary owns author and reviewer identity verification. -3. The primary and repository/skill workflow record the primary and artifact - author lineages and verify an independent reviewer where required. +3. The primary and repository/skill workflow record the primary and every + contributing artifact-author lineage. Where independent approval is + required, they verify reviewer identity from native evidence correlated to + the returned response, rather than configuration or routing alone. 4. The request receives one declared authority. Fallback cannot widen it. 5. The client validates the manifest and native bundle before the managed runtime receives a request. diff --git a/docs/migration-from-legacy-packages.md b/docs/migration-from-legacy-packages.md index d50206fe..f47fc7eb 100644 --- a/docs/migration-from-legacy-packages.md +++ b/docs/migration-from-legacy-packages.md @@ -28,7 +28,7 @@ observations. Active retired packages block direct routing. Cache-only residue does not become an executable route. The current source package unit is manifest schema 4, runtime protocol 5, -native contract 4, provider runtime `5.0.7`, and descriptor schema 12. The generated +native contract 4, provider runtime `5.0.8`, and descriptor schema 12. The generated manifest carries one top-level `wire_contract` and `wire_contract_sha256`. A mixed unit fails typed. diff --git a/docs/public-governance.md b/docs/public-governance.md index 8404c9c8..0251f671 100644 --- a/docs/public-governance.md +++ b/docs/public-governance.md @@ -30,9 +30,26 @@ genuine; reviewers and the operator remain responsible for substance. governance gates. Record an independent cross-family review; operator-reserved paths also require the operator to merge. -The reviewer family must differ from the artifact author or active agent family. -Unknown-family evidence cannot establish governance-grade independence. A -multi-round trace records the final operative verdict. +The reviewer family must differ from the active primary and every contributing +artifact-author family. Selecting a candidate and accepting independent approval +are different stages. Provider-free planning proves an eligible action or route, +not model identity. Currently known native configuration or response-scoped +observations may identify a potential candidate; configuration remains +configuration. After a review returns, independent approval requires +response-scoped native evidence correlated to that returned response. Optional +native model-identity observations, when present, carry a source and a scope +such as generation metadata at response scope; missing or uncorrelated +observation is evidence unavailability, not provider unavailability, and does +not invent a required identity probe, schema service, or operator-waiver loop. +An authorized advisory review may still return useful content. Unknown-family +or configuration-only evidence cannot establish governance-grade independence. +A multi-round trace records the final operative verdict. + +A required initial review uses every needed independent eligible reviewer first. +A tiebreaker is reserved only from spare independent eligible reviewers after +those seats are filled. A sole eligible independent reviewer is used initially. +If the governing panel requires more reviewers than available, keep that unmet +requirement visible. ## Pull-request contract @@ -79,8 +96,14 @@ Runtime status and diagnostic fields remain attempt-local observations. They do not discard bounded provider content already observed, establish provider-wide unavailability, quarantine a route, or authorize replay. The caller interprets the preserved raw response and separately verifies the reviewer, exact source, -scope, and any operational effects needed for governance. Never fabricate -reviewer convergence, approval, a receipt, or authority from process exit. +scope, and any operational effects needed for governance. Optional native +model-identity observations, when present, include a source and a scope. +Configuration-scoped observations may inform candidate selection only. +Response-scoped observations correlated to the returned native response are +what independent approval may count. Missing observation is evidence +unavailability, not a provider-health verdict, and does not expand the public +routing wire. Never fabricate reviewer convergence, approval, a receipt, or +authority from process exit. The coordinator has no automatic failure-evidence capture or filing plane. Issue filing is an explicit, separately authorized operation after the typed @@ -94,6 +117,28 @@ optional diagnostics or presentation. Every bounded nonempty final or recovered partial reaches the caller for ordinary reasoning; only absent content remains absent. No consumed request is replayed merely to change formatting. +A completed or terminated read-only review or governance attempt remains +evidence. When that attempt definitively produced no substantive result and no +uncertain external mutation, the caller may issue at most one new corrected +request as a new work unit after fixing a demonstrated setup defect with already +authorized context and tools — for example inlining an inaccessible external +plan or using an already available interpreter. Keep the same source hash, the +same provider, and the same known-distinct reviewer requirements where they +apply, and stay inside the original identical authorized scope. Do not copy +login profiles or demand renewed permission for that same already authorized +scope. The allowance is one correction total per original request across all +descendant work units; a corrected work unit cannot issue another correction +or reset the allowance. Retain the original-request identity and both attempts +in the caller's trace. This is the bounded caller fresh-review allowance. It is not a replay, +retry, or failover of the consumed work unit; the runtime must not auto-retry; +and a provider must not be switched to evade findings. Do not use it to repair +formatting or missing lineage, to evade substantive findings, or when the +failure is unproven or a native mutation is ambiguous. If findings or a usable +partial result exist, interpret them instead. Native one-process completion and +tool recovery within the original invocation remain separate. Worker, +dev-delegate, and merge-resolve work stay under the shared consumed-work +no-replay rule with no such allowance. + Set `contributor_rights` to `OWNER-AUTHORED` only when John Osumi authored the change. For any external contribution, use `OPERATOR-CONFIRMED` only after John Osumi or Osumi Consulting LLC has verified a separate written agreement that diff --git a/plugins/agent-collab/.claude-plugin/plugin.json b/plugins/agent-collab/.claude-plugin/plugin.json index 1186beeb..c3939aa0 100644 --- a/plugins/agent-collab/.claude-plugin/plugin.json +++ b/plugins/agent-collab/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agent-collab", - "version": "7.0.6", + "version": "7.0.7", "description": "Unified collaboration package with semantic agent actions, source-grounded context, and a verified plugin-relative direct native runtime.", "author": { "name": "John Osumi" diff --git a/plugins/agent-collab/.codex-plugin/plugin.json b/plugins/agent-collab/.codex-plugin/plugin.json index f79b66cd..ac00b569 100644 --- a/plugins/agent-collab/.codex-plugin/plugin.json +++ b/plugins/agent-collab/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "agent-collab", - "version": "7.0.6", + "version": "7.0.7", "description": "Unified collaboration package with semantic agent actions, source-grounded context, and a verified plugin-relative direct native runtime.", "author": { "name": "John Osumi" diff --git a/plugins/agent-collab/README.md b/plugins/agent-collab/README.md index 154e10f1..72312dab 100644 --- a/plugins/agent-collab/README.md +++ b/plugins/agent-collab/README.md @@ -6,21 +6,28 @@ they never choose a provider transport, model, binary, socket, lane, or lifecycle command. Provider final content is opaque to the runtime and is interpreted by the calling agent with ordinary reasoning. -Current repository source: **7.0.6** +Current repository source: **7.0.7** Current published release: **7.0.6** ([`v7.0.6`](https://github.com/sumitake/agent-collab/releases/tag/v7.0.6)); it carries signed provider runtime `5.0.7`. Host installation, readiness, and provider availability remain separate evidence planes. -Version 7.0.6 retains provider runtime `5.0.7` with manifest schema 4, +Version 7.0.7 prepares provider runtime `5.0.8` with manifest schema 4, runtime protocol 5, native contract 4, and wire schema 12. The descriptor -admits 12 logical actions and eight logical agents. It replaces the semantic -coordinator with a bounded routing-only shim and removes provider-authored -schema, verdict, findings, receipt, telemetry, and terminal-wrapper fields as -content-availability gates. Every bounded observed nonempty final or recovered +admits 12 logical actions and eight logical agents. The public coordinator is +a bounded routing-only shim. Provider-authored schema, verdict, findings, +receipt, telemetry, and terminal-wrapper fields are not content-availability +gates. Every bounded observed nonempty final or recovered partial remains available to the caller. +The 7.0.7 source preserves canonical native HOME and SSH context, bounded +recovery, and optional native model observations with their scope. Reviewer +selection compares every contributing author family; response-scoped evidence +is required for independent approval. Corrected read-only work is limited to +one correction total per original request, including descendants, and cannot +replay ambiguous mutations. Production publication remains pending. + The 7.0.6 content update corrects reviewer-independence instructions: the caller establishes the primary and artifact-author families, checks an eligible reviewer before dispatch, and verifies observed lineage before accepting @@ -42,8 +49,8 @@ General users should start with the public ## Skills -This release includes signed runtime 5.0.7 and wire schema 12 for -both macOS architectures. +The source includes signed and notarized runtime 5.0.8 and wire schema 12 +for both macOS architectures. Publication remains pending. The package ships 53 generated skills. Their `SKILL.md` files are the authoritative invocation contracts; the @@ -82,7 +89,18 @@ python3 "/coordinator.py" The shim reads one bounded object, loads the plugin-relative runtime client, passes the object through once, and writes one canonical JSON result. It adds no provider command, semantic schema, verdict parser, retry, replay, fallback, -receipt, or authority claim. +receipt, or authority claim. Caller-owned bounded fresh-review, when permitted +for read-only review or governance, is a separate routing request documented in +Public repository governance and those generated skills; the shim still passes +each request through once. + +The client uses the OS account's canonical `HOME`, keeps native configuration +locations and SSH session markers, and places only request artifacts in its +temporary directory. It does not copy login profiles or manage provider +credentials. When a native CLI works in a terminal but a managed call fails, +compare the host and native session before treating the result as provider +unavailability. Existing task authorization persists across tool steps within +its approved scope. The request shape is signed in `runtime-manifest.json`. This Python example constructs a repository review from current values. Save it as `caller.py` and @@ -149,13 +167,15 @@ cwd restrictions for document-only work. For code generation, pass a disposable copy rather than the canonical repository and retain the patch before cleanup. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, use -that same field to bind the caller-verified distinct reviewer selected by the -caller or designated by the workflow. Carry the same target into planning and +that same field to bind the caller-verified reviewer distinct from the primary +and every contributing author family. Carry the same target into planning and live dispatch; untargeted planning does not bind a later live request. Target unavailability is reported without silent substitution or replay. Ordinary -advisory calls otherwise use normal economic routing. Target binding does not -prove independence: verify the returned native lineage before accepting review -or governance evidence. +advisory calls otherwise use normal economic routing. Configuration may +identify a candidate; target binding does not prove independence. Verify +returned response-scoped native evidence before accepting independent approval. +Missing evidence keeps useful advisory content and does not imply a provider +outage. Required common fields are `wire_contract_sha256`, `request_id`, `quality_profile`, `effort_class`, @@ -182,8 +202,8 @@ the caller: it would terminate healthy progressing work. Set `dispatch_requested=false` for a planning-only routing decision and `true` for live dispatch. One selected work unit is never automatically replayed, retried, or failed over after provider access. -Planning is a policy result; it does not check provider authentication or -prove live availability. +Planning reports route eligibility, not model identity, live availability, or +authentication. The 12 logical actions are: @@ -205,7 +225,7 @@ review.repository ## Direct runtime boundary The package emits one schema-4 manifest with wire schema 12, runtime protocol -5, native contract 4, and provider runtime `5.0.7`. The manifest binds the +5, native contract 4, and provider runtime `5.0.8`. The final manifest binds the canonical wire digest and one signed/notarized standalone bundle for each supported macOS architecture (`arm64` and `x86_64`). diff --git a/plugins/agent-collab/project-estimation-data/aggregate-prior.json b/plugins/agent-collab/project-estimation-data/aggregate-prior.json index 1d97cb19..be6c4531 100644 --- a/plugins/agent-collab/project-estimation-data/aggregate-prior.json +++ b/plugins/agent-collab/project-estimation-data/aggregate-prior.json @@ -1 +1 @@ -{"calibration_state":"bootstrap","estimator_method_version":"empirical-v3","excluded_observation_count_floor":1860,"exclusion_count_rounding":"floor_to_public_k","generated_date":"2026-08-25","limitations":["actual_marginal_cash_unavailable","bootstrap_descriptive_only","greenfield_prior_unavailable","informational_backtest_below_policy","quota_delay_prior_unavailable","rework_review_prior_unavailable","token_prior_unavailable","wait_class_prior_unavailable"],"nodes":[{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"project_type.enhancement","generated_date":"2026-08-25","hierarchy_node":"h2.f9c0dc358bece64b.cb-merged","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h2.f9c0dc358bece64b.cb-merged","generated_date":"2026-08-25","hierarchy_node":"h3.ee07c00dc4194839.rc-workspace","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h3.ee07c00dc4194839.rc-workspace","generated_date":"2026-08-25","hierarchy_node":"h4.02f3f5734dfa4389.pm-unknown","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h4.02f3f5734dfa4389.pm-unknown","generated_date":"2026-08-25","hierarchy_node":"h5.0271ef33616a9922.si-s0-i0","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h5.0271ef33616a9922.si-s0-i0","generated_date":"2026-08-25","hierarchy_node":"h6.491830f3876dd460.risk-unknown","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h6.491830f3876dd460.risk-unknown","generated_date":"2026-08-25","hierarchy_node":"h7.90c2ff5c98a8249b.burden-ordinary","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h7.90c2ff5c98a8249b.burden-ordinary","generated_date":"2026-08-25","hierarchy_node":"h8.f0143afc84120883.ep-e0-unknown","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h8.f0143afc84120883.ep-e0-unknown","generated_date":"2026-08-25","hierarchy_node":"h9.f4963e420b65c022.orch-single","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":null,"generated_date":"2026-08-25","hierarchy_node":"project_type.enhancement","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}}],"policy_sha256":"c564c71c8c69baae0f51afa381f7adb4f912acbf7ac40e265138436a35b248b5","policy_version":"2026-08-21.1","schema_version":2,"seed":0,"source_cutoff_date":"2026-08-25","source_manifest_sha256":"69193e75073e800ac27cce8e1f9b89111a16e160b2567c4297f457d92db813c3"} \ No newline at end of file +{"calibration_state":"bootstrap","estimator_method_version":"empirical-v3","excluded_observation_count_floor":1860,"exclusion_count_rounding":"floor_to_public_k","generated_date":"2026-08-25","limitations":["actual_marginal_cash_unavailable","bootstrap_descriptive_only","greenfield_prior_unavailable","informational_backtest_below_policy","quota_delay_prior_unavailable","rework_review_prior_unavailable","token_prior_unavailable","wait_class_prior_unavailable"],"nodes":[{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"project_type.enhancement","generated_date":"2026-08-25","hierarchy_node":"h2.f9c0dc358bece64b.cb-merged","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h2.f9c0dc358bece64b.cb-merged","generated_date":"2026-08-25","hierarchy_node":"h3.ee07c00dc4194839.rc-workspace","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h3.ee07c00dc4194839.rc-workspace","generated_date":"2026-08-25","hierarchy_node":"h4.02f3f5734dfa4389.pm-unknown","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h4.02f3f5734dfa4389.pm-unknown","generated_date":"2026-08-25","hierarchy_node":"h5.0271ef33616a9922.si-s0-i0","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h5.0271ef33616a9922.si-s0-i0","generated_date":"2026-08-25","hierarchy_node":"h6.491830f3876dd460.risk-unknown","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h6.491830f3876dd460.risk-unknown","generated_date":"2026-08-25","hierarchy_node":"h7.90c2ff5c98a8249b.burden-ordinary","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h7.90c2ff5c98a8249b.burden-ordinary","generated_date":"2026-08-25","hierarchy_node":"h8.f0143afc84120883.ep-e0-unknown","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":"h8.f0143afc84120883.ep-e0-unknown","generated_date":"2026-08-25","hierarchy_node":"h9.f4963e420b65c022.orch-single","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}},{"aggregate_sha256":"289029140f94979b58ee431fe5aa1a59ed88fe7a76da8f2ee6e5801e2e27a196","calibration_quality":{"holdout_count":145,"p80_coverage_basis_points":5793,"p95_coverage_basis_points":8551},"drift_indicators":{"duration_drift_basis_points":7000,"token_drift_basis_points":0},"effective_sample_size":507,"estimator_method_version":"empirical-v3","fallback_parent":null,"generated_date":"2026-08-25","hierarchy_node":"project_type.enhancement","metric_support":{"actual_marginal_cash":{"eligible_count":0,"status":"unavailable"},"focused_duration":{"eligible_count":580,"status":"published"},"quota_delay":{"eligible_count":0,"status":"unavailable"},"rework_review":{"eligible_count":0,"status":"unavailable"},"token_usage":{"eligible_count":0,"status":"unavailable"},"wait_class":{"eligible_count":0,"status":"unavailable"}},"phase_duration_quantiles":[{"p50":940,"p80":2064,"p95":4877,"phase":"overall"}],"release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","sample_count":580,"schema_version":1,"source_cutoff_date":"2026-08-25","source_eras":["unknown"],"uncertainty_floors":{"duration_basis_points":0,"token_basis_points":0}}],"policy_sha256":"c564c71c8c69baae0f51afa381f7adb4f912acbf7ac40e265138436a35b248b5","policy_version":"2026-08-21.1","schema_version":2,"seed":0,"source_cutoff_date":"2026-08-25","source_manifest_sha256":"69193e75073e800ac27cce8e1f9b89111a16e160b2567c4297f457d92db813c3"} \ No newline at end of file diff --git a/plugins/agent-collab/project-estimation-data/maintenance-receipt.json b/plugins/agent-collab/project-estimation-data/maintenance-receipt.json index 56df1b6d..b78c1a33 100644 --- a/plugins/agent-collab/project-estimation-data/maintenance-receipt.json +++ b/plugins/agent-collab/project-estimation-data/maintenance-receipt.json @@ -1 +1 @@ -{"backtest_outcome":{"baseline_duration_comparison":"not_applicable","baseline_token_comparison":"not_applicable","evaluation_mode":"informational","policy_result":"not_required","warning_codes":["duration_drift","insufficient_complete_token_training:enhancement","missing_training_root:greenfield","p80_coverage","p95_coverage"]},"calibration_baseline_receipt_sha256":null,"calibration_candidate_sha256":"b9dafd574d2ab24468cb35676da2381614f4b26ddc9f8bac25e8ed3545827569","calibration_policy_sha256":"c564c71c8c69baae0f51afa381f7adb4f912acbf7ac40e265138436a35b248b5","calibration_policy_version":"2026-08-21.1","calibration_source_receipt_sha256":"c4b0d2b91fa76dee516fc89c4ca6ffb822825e550cc245756a3c26e8e69deed4","calibration_state":"bootstrap","calibration_status":"last_good","collection_cutoff_date":"2026-08-25","collection_result_sha256":"65968ed86fd69f439dda58e5b1c8cc13c4b59c966eb70d9a56eb2bb3fd828e20","completion_evidence_scope":"github_merged_or_earlier","estimator_method_version":"empirical-v3","generated_date":"2026-09-08","inventory":[{"name":"aggregate-prior.json","sha256":"91d0deb92d82058c695c15d04048dab6d8f667ba9e9de13f94c9f9412e5202ef","size":11612},{"name":"operator-notification.json","sha256":"352186a20429781a264188d739487ccb182a9ecb0ba411eeb90c27a948d16614","size":622},{"name":"pricing-snapshot.json","sha256":"efea3f1351e19a6162bd7753dc20a97eef5a8664b5917f8671e06c10e946b496","size":10988},{"name":"quota-snapshot.json","sha256":"ddde35324000ede57a836c412852e1704b7ad0114251dc8fb3309a645951f427","size":1726}],"linkage_manifest_sha256":"07744ee9b2bb0c1cdc25be505eba69d8b095ab3fd6a26856263d42bdf587de9f","notification_result":"delivered","original_calibration_date":"2026-08-25","pricing_material_unpriced_threshold_basis_points":1000,"pricing_policy_sha256":"ea78f732a3d5a39776b079abde7f900e214ac8afdbd4a281a5b78d3e175a8514","pricing_policy_version":"2026-09-06.1","pricing_registry_sha256":"b251b39dff588f6157bacace35a0387c64ab728154713bc26908f4ed57214436","pricing_result_sha256":"efea3f1351e19a6162bd7753dc20a97eef5a8664b5917f8671e06c10e946b496","quota_registry_sha256":"5bbe76aab29f42ee1bc9a97e1d6efb07d7eeee5311695e7de58b8b393c6edd0b","quota_result_sha256":"ddde35324000ede57a836c412852e1704b7ad0114251dc8fb3309a645951f427","receipt_sha256":"dae3a0a32b3520c2bbe1d454f970bfd74506e22035a8beb11900994012a00e0f","release_manifest_sha256":"d0d653198c27420ba0fe2a79225a683632ec59f9980c06fffd1b25f14ec1d262","repository_sha256":"76e43252df48d7ab34f570741f2b8db8a2dee871ac50d8b8fc2155f6edb4ced2","schema_version":3,"seed":0,"source_cutoff_date":"2026-08-25","source_manifest_sha256":"69193e75073e800ac27cce8e1f9b89111a16e160b2567c4297f457d92db813c3","version":"7.0.6"} \ No newline at end of file +{"backtest_outcome":{"baseline_duration_comparison":"not_applicable","baseline_token_comparison":"not_applicable","evaluation_mode":"informational","policy_result":"not_required","warning_codes":["duration_drift","insufficient_complete_token_training:enhancement","missing_training_root:greenfield","p80_coverage","p95_coverage"]},"calibration_baseline_receipt_sha256":null,"calibration_candidate_sha256":"b9dafd574d2ab24468cb35676da2381614f4b26ddc9f8bac25e8ed3545827569","calibration_policy_sha256":"c564c71c8c69baae0f51afa381f7adb4f912acbf7ac40e265138436a35b248b5","calibration_policy_version":"2026-08-21.1","calibration_source_receipt_sha256":"dae3a0a32b3520c2bbe1d454f970bfd74506e22035a8beb11900994012a00e0f","calibration_state":"bootstrap","calibration_status":"last_good","collection_cutoff_date":"2026-08-25","collection_result_sha256":"65968ed86fd69f439dda58e5b1c8cc13c4b59c966eb70d9a56eb2bb3fd828e20","completion_evidence_scope":"github_merged_or_earlier","estimator_method_version":"empirical-v3","generated_date":"2026-09-16","inventory":[{"name":"aggregate-prior.json","sha256":"90c9230e73cb6f3e2fc00bbe9333136154b33e946d4e792670cc04d2db5fb2b0","size":11612},{"name":"operator-notification.json","sha256":"b6ff4249a1f3276c9e6b73ef45b0b13705966b47b84e5bdb01b1ce5335a4aad6","size":622},{"name":"pricing-snapshot.json","sha256":"1ee7e0afa33fbbb33fc5058de39cda51d7fda636d46638e8268261f5821f089e","size":10988},{"name":"quota-snapshot.json","sha256":"65c17f2a43500dcccf08e73f9a06d6ba2894fc273c0422b65d29e465a994a566","size":1726}],"linkage_manifest_sha256":"07744ee9b2bb0c1cdc25be505eba69d8b095ab3fd6a26856263d42bdf587de9f","notification_result":"delivered","original_calibration_date":"2026-08-25","pricing_material_unpriced_threshold_basis_points":1000,"pricing_policy_sha256":"ea78f732a3d5a39776b079abde7f900e214ac8afdbd4a281a5b78d3e175a8514","pricing_policy_version":"2026-09-06.1","pricing_registry_sha256":"b251b39dff588f6157bacace35a0387c64ab728154713bc26908f4ed57214436","pricing_result_sha256":"1ee7e0afa33fbbb33fc5058de39cda51d7fda636d46638e8268261f5821f089e","quota_registry_sha256":"5bbe76aab29f42ee1bc9a97e1d6efb07d7eeee5311695e7de58b8b393c6edd0b","quota_result_sha256":"65c17f2a43500dcccf08e73f9a06d6ba2894fc273c0422b65d29e465a994a566","receipt_sha256":"75fe75576a0c4ae4dfad299dd62f4446b76cebae2ffd9406dd096916bcba11b2","release_manifest_sha256":"13330c3a71c98e175a6c6c99c66e8f0d91ab24f7033577af03d7a9d7584c8058","repository_sha256":"76e43252df48d7ab34f570741f2b8db8a2dee871ac50d8b8fc2155f6edb4ced2","schema_version":3,"seed":0,"source_cutoff_date":"2026-08-25","source_manifest_sha256":"69193e75073e800ac27cce8e1f9b89111a16e160b2567c4297f457d92db813c3","version":"7.0.7"} \ No newline at end of file diff --git a/plugins/agent-collab/project-estimation-data/operator-notification.json b/plugins/agent-collab/project-estimation-data/operator-notification.json index 21bc6697..94ab5436 100644 --- a/plugins/agent-collab/project-estimation-data/operator-notification.json +++ b/plugins/agent-collab/project-estimation-data/operator-notification.json @@ -1 +1 @@ -{"decision":"quota_unknown","generated_date":"2026-09-08","pricing_coverage_basis_points":10000,"quota_coverage_basis_points":0,"schema_version":1,"unresolved":[{"decision":"unknown","failure_class":"no_reviewed_value","kind":"quota","original_date":null,"provider":"anthropic"},{"decision":"unknown","failure_class":"no_reviewed_value","kind":"quota","original_date":null,"provider":"google"},{"decision":"unknown","failure_class":"no_reviewed_value","kind":"quota","original_date":null,"provider":"openai"},{"decision":"unknown","failure_class":"no_reviewed_value","kind":"quota","original_date":null,"provider":"xai"}]} \ No newline at end of file +{"decision":"quota_unknown","generated_date":"2026-09-16","pricing_coverage_basis_points":10000,"quota_coverage_basis_points":0,"schema_version":1,"unresolved":[{"decision":"unknown","failure_class":"no_reviewed_value","kind":"quota","original_date":null,"provider":"anthropic"},{"decision":"unknown","failure_class":"no_reviewed_value","kind":"quota","original_date":null,"provider":"google"},{"decision":"unknown","failure_class":"no_reviewed_value","kind":"quota","original_date":null,"provider":"openai"},{"decision":"unknown","failure_class":"no_reviewed_value","kind":"quota","original_date":null,"provider":"xai"}]} \ No newline at end of file diff --git a/plugins/agent-collab/project-estimation-data/pricing-snapshot.json b/plugins/agent-collab/project-estimation-data/pricing-snapshot.json index 4b8cfdfe..5012edf0 100644 --- a/plugins/agent-collab/project-estimation-data/pricing-snapshot.json +++ b/plugins/agent-collab/project-estimation-data/pricing-snapshot.json @@ -1 +1 @@ -{"kind":"pricing","material_unpriced":false,"operator_notification_required":false,"policy_sha256":"ea78f732a3d5a39776b079abde7f900e214ac8afdbd4a281a5b78d3e175a8514","policy_version":"2026-09-06.1","providers":{"anthropic":{"content_type":"text/markdown","elapsed_class":"bounded","failure_class":null,"final_url_sha256":"fd59732fce2c7c1d1c01f3856f7e2d22ff8ad123643f93015d0a644517d10cc2","last_successful_official_date":"2026-09-08","material_share_basis_points":2500,"original_last_good_date":null,"provider":"anthropic","redirect_chain_sha256":"ce33fb44675b007a111837395039727ee222388f3832de74c19971ae6b8dfb2f","retrieved_date":"2026-09-08","source_url_sha256":"fd59732fce2c7c1d1c01f3856f7e2d22ff8ad123643f93015d0a644517d10cc2","status":"official","value_sha256":"584cc479af2cebdcae6c1f9480aac6332027f804f8c89194b40a95fd446eac71","values":[{"amount_microusd":10000000,"amount_text":"$10","approved_value_sha256":"98884ff861c83ec7ab6cf331437fd96ab30a2470a03d1ba03fddbca09a16a217","currency":"USD","modality":"text","model":"claude-fable-5","modifiers":[],"record_id":"claude-fable-5-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":1000000,"amount_text":"$1","approved_value_sha256":"2bd0646253a7f03f13c8b90e9017f449b447535be95953318cbf82188bb97b81","currency":"USD","modality":"text","model":"claude-fable-5","modifiers":[],"record_id":"claude-fable-5-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":50000000,"amount_text":"$50","approved_value_sha256":"4b81a10d37fdac78a8b3049730f298a942036cac34243d931ce4d033b9e9ad08","currency":"USD","modality":"text","model":"claude-fable-5","modifiers":[],"record_id":"claude-fable-5-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"},{"amount_microusd":5000000,"amount_text":"$5","approved_value_sha256":"de262143739f4455e5cacc2b417e440a3e6fd874631c0b4f71b2b9df0f496228","currency":"USD","modality":"text","model":"claude-opus-5","modifiers":[],"record_id":"claude-opus-5-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":500000,"amount_text":"$0.50","approved_value_sha256":"ef32119e4a0e5e1eb033068f387e2221b190b352ba9655508644f4a10651b14d","currency":"USD","modality":"text","model":"claude-opus-5","modifiers":[],"record_id":"claude-opus-5-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":25000000,"amount_text":"$25","approved_value_sha256":"e445b0c2a4ec027532fef1f4b0026e1c721740edcafd0c856b891cfc7228f758","currency":"USD","modality":"text","model":"claude-opus-5","modifiers":[],"record_id":"claude-opus-5-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"},{"amount_microusd":2000000,"amount_text":"$2","approved_value_sha256":"8cda5405b99ccb565b450d20f642001212e22b332b2f291721c3570a0e495ac6","currency":"USD","modality":"text","model":"claude-sonnet-5","modifiers":[],"record_id":"claude-sonnet-5-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":200000,"amount_text":"$0.20","approved_value_sha256":"c154a7ef74e88516d61679c31f077655b09c89232e7d57838f08332702484323","currency":"USD","modality":"text","model":"claude-sonnet-5","modifiers":[],"record_id":"claude-sonnet-5-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":10000000,"amount_text":"$10","approved_value_sha256":"c0e0150fde7c306b72a69dcf6b65d8a01c7768dcb69c8bb8e671d5b33bf34bd3","currency":"USD","modality":"text","model":"claude-sonnet-5","modifiers":[],"record_id":"claude-sonnet-5-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"}]},"google":{"content_type":"text/html","elapsed_class":"bounded","failure_class":null,"final_url_sha256":"f583c43544cc67eb0c55e73d9e7b3f93c8e0c74e2fe77a37430dfbf6e24877a2","last_successful_official_date":"2026-09-08","material_share_basis_points":2500,"original_last_good_date":null,"provider":"google","redirect_chain_sha256":"572b3ee824f6413b03e39006a5c1f237892bed8f20dc7f2a57e0f44c1ec4cca6","retrieved_date":"2026-09-08","source_url_sha256":"f583c43544cc67eb0c55e73d9e7b3f93c8e0c74e2fe77a37430dfbf6e24877a2","status":"official","value_sha256":"655760343cb963e452d5bc221548a6fc59c926668e43ef6e360660cf5cb2cd55","values":[{"amount_microusd":750000,"amount_text":"$0.75","approved_value_sha256":"99c920a4b654817139bbaa104afc70431cb20608419f1ba3aacbb91b62714268","currency":"USD","modality":"text","model":"gemini-3.7-flash","modifiers":[],"record_id":"gemini-3.7-flash-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":75000,"amount_text":"$0.075","approved_value_sha256":"3f994c7450223eea2d97109266a03b2dc5c0f975da698a8a2011d8047cb2703b","currency":"USD","modality":"text","model":"gemini-3.7-flash","modifiers":[],"record_id":"gemini-3.7-flash-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":3750000,"amount_text":"$3.75","approved_value_sha256":"ce0d7e57c2dc29feb2e7480c6e85be38e2a2259ff6f6d71ce98f7d4bbccdd191","currency":"USD","modality":"text","model":"gemini-3.7-flash","modifiers":[],"record_id":"gemini-3.7-flash-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"},{"amount_microusd":750000,"amount_text":"$0.75","approved_value_sha256":"92d66c0294ca18a632c88a002868c4c48bde9764ca30349f175bd317c635a250","currency":"USD","modality":"text","model":"gemini-3.6-flash","modifiers":[],"record_id":"gemini-3.6-flash-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":75000,"amount_text":"$0.075","approved_value_sha256":"2a95749c43f4396232e24c6b7ad52883bff40b34690c83cd031ca60b700271fb","currency":"USD","modality":"text","model":"gemini-3.6-flash","modifiers":[],"record_id":"gemini-3.6-flash-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":3750000,"amount_text":"$3.75","approved_value_sha256":"52363cc9ea1c4b56700aa0e816f6be6f3aed9f8e80ee128499271c4377d4618e","currency":"USD","modality":"text","model":"gemini-3.6-flash","modifiers":[],"record_id":"gemini-3.6-flash-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"}]},"openai":{"content_type":"text/markdown","elapsed_class":"bounded","failure_class":null,"final_url_sha256":"d62ecf3508c2e7ac43de23710ea8b6563386619e13d1599c5934385a60569bbf","last_successful_official_date":"2026-09-08","material_share_basis_points":2500,"original_last_good_date":null,"provider":"openai","redirect_chain_sha256":"85e42ea7a52aef002865ef69e5fd2c5c2191fbd58c283cd66fc5c4a05da3c9ed","retrieved_date":"2026-09-08","source_url_sha256":"d62ecf3508c2e7ac43de23710ea8b6563386619e13d1599c5934385a60569bbf","status":"official","value_sha256":"3fbeb55777ebcb495cd54ccbc5c07860319fe55c87976fefbef3e09d2e26be67","values":[{"amount_microusd":4000000,"amount_text":"$4","approved_value_sha256":"fea9d389b74a978a0dd0410853bb1136d16e1fc22e36e9854071e61808fd71d0","currency":"USD","modality":"text","model":"gpt-5.6-sol","modifiers":["promotional_through_at_least_2026-11-21","input_over_272k_2x"],"record_id":"gpt-5-6-sol-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":400000,"amount_text":"$0.4","approved_value_sha256":"3b4e12ef906dd5f74c4631d39a97bb8cd4b5a490a20538e89694eba04ac33b4d","currency":"USD","modality":"text","model":"gpt-5.6-sol","modifiers":["promotional_through_at_least_2026-11-21","input_over_272k_2x","cache_write_not_modeled"],"record_id":"gpt-5-6-sol-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":20000000,"amount_text":"$20","approved_value_sha256":"ede62d1719593cf5123a948a8a9c37157dc9d43d92494349b0ae67552dafed3a","currency":"USD","modality":"text","model":"gpt-5.6-sol","modifiers":["promotional_through_at_least_2026-11-21","input_over_272k_output_1_5x"],"record_id":"gpt-5-6-sol-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"}]},"xai":{"content_type":"text/markdown","elapsed_class":"bounded","failure_class":null,"final_url_sha256":"8c76ac38a822d1cc80ff3907c53271503ced7a6ef894fa44777d39a3c6c268ff","last_successful_official_date":"2026-09-08","material_share_basis_points":2500,"original_last_good_date":null,"provider":"xai","redirect_chain_sha256":"025de286854f9320b90dee606adbcdee361fe142de0476b055d6382aa85eee80","retrieved_date":"2026-09-08","source_url_sha256":"8c76ac38a822d1cc80ff3907c53271503ced7a6ef894fa44777d39a3c6c268ff","status":"official","value_sha256":"2f0c6493c4bbe3c6130d5a2e976d5cdae1298b31b9334076f0ee66c2e9db1c3a","values":[{"amount_microusd":1000000,"amount_text":"$1.00","approved_value_sha256":"21e7d546c30672482e4f6dfbb4e875496bea86ef22ffb25565d1cd2ab126d4b1","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-lt_200k-input","tier":"lt_200k","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":200000,"amount_text":"$0.20","approved_value_sha256":"a53a47379746fdb8b27887ea3836146380e52a67fbc0c4a254d77aba185854ce","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-lt_200k-cached-input","tier":"lt_200k","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":2000000,"amount_text":"$2.00","approved_value_sha256":"48463b5a0527ddefb962684ccf208eda2db53c00ec0d31d4226c873d35d8bd5d","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-lt_200k-output","tier":"lt_200k","token_class":"output","unit":"per_million_tokens"},{"amount_microusd":2000000,"amount_text":"$2.00","approved_value_sha256":"2a4c417aec31ed3ab92e22cc306da0fcfb57b76897d3a796cce845cbca95b404","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-gte_200k-input","tier":"gte_200k","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":400000,"amount_text":"$0.40","approved_value_sha256":"a2a75202366013e1487170b77dd97731c3fbd6193f0a653fe2c6235abf0ffc6e","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-gte_200k-cached-input","tier":"gte_200k","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":4000000,"amount_text":"$4.00","approved_value_sha256":"1d8fc9ed0fa451b81e5c79a7ab830613ec97edefa28f2af57e0045585ddc5bcc","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-gte_200k-output","tier":"gte_200k","token_class":"output","unit":"per_million_tokens"}]}},"retrieved_date":"2026-09-08","schema_version":1,"uncertainty_basis_points":0} \ No newline at end of file +{"kind":"pricing","material_unpriced":false,"operator_notification_required":false,"policy_sha256":"ea78f732a3d5a39776b079abde7f900e214ac8afdbd4a281a5b78d3e175a8514","policy_version":"2026-09-06.1","providers":{"anthropic":{"content_type":"text/markdown","elapsed_class":"bounded","failure_class":null,"final_url_sha256":"fd59732fce2c7c1d1c01f3856f7e2d22ff8ad123643f93015d0a644517d10cc2","last_successful_official_date":"2026-09-16","material_share_basis_points":2500,"original_last_good_date":null,"provider":"anthropic","redirect_chain_sha256":"ce33fb44675b007a111837395039727ee222388f3832de74c19971ae6b8dfb2f","retrieved_date":"2026-09-16","source_url_sha256":"fd59732fce2c7c1d1c01f3856f7e2d22ff8ad123643f93015d0a644517d10cc2","status":"official","value_sha256":"584cc479af2cebdcae6c1f9480aac6332027f804f8c89194b40a95fd446eac71","values":[{"amount_microusd":10000000,"amount_text":"$10","approved_value_sha256":"98884ff861c83ec7ab6cf331437fd96ab30a2470a03d1ba03fddbca09a16a217","currency":"USD","modality":"text","model":"claude-fable-5","modifiers":[],"record_id":"claude-fable-5-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":1000000,"amount_text":"$1","approved_value_sha256":"2bd0646253a7f03f13c8b90e9017f449b447535be95953318cbf82188bb97b81","currency":"USD","modality":"text","model":"claude-fable-5","modifiers":[],"record_id":"claude-fable-5-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":50000000,"amount_text":"$50","approved_value_sha256":"4b81a10d37fdac78a8b3049730f298a942036cac34243d931ce4d033b9e9ad08","currency":"USD","modality":"text","model":"claude-fable-5","modifiers":[],"record_id":"claude-fable-5-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"},{"amount_microusd":5000000,"amount_text":"$5","approved_value_sha256":"de262143739f4455e5cacc2b417e440a3e6fd874631c0b4f71b2b9df0f496228","currency":"USD","modality":"text","model":"claude-opus-5","modifiers":[],"record_id":"claude-opus-5-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":500000,"amount_text":"$0.50","approved_value_sha256":"ef32119e4a0e5e1eb033068f387e2221b190b352ba9655508644f4a10651b14d","currency":"USD","modality":"text","model":"claude-opus-5","modifiers":[],"record_id":"claude-opus-5-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":25000000,"amount_text":"$25","approved_value_sha256":"e445b0c2a4ec027532fef1f4b0026e1c721740edcafd0c856b891cfc7228f758","currency":"USD","modality":"text","model":"claude-opus-5","modifiers":[],"record_id":"claude-opus-5-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"},{"amount_microusd":2000000,"amount_text":"$2","approved_value_sha256":"8cda5405b99ccb565b450d20f642001212e22b332b2f291721c3570a0e495ac6","currency":"USD","modality":"text","model":"claude-sonnet-5","modifiers":[],"record_id":"claude-sonnet-5-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":200000,"amount_text":"$0.20","approved_value_sha256":"c154a7ef74e88516d61679c31f077655b09c89232e7d57838f08332702484323","currency":"USD","modality":"text","model":"claude-sonnet-5","modifiers":[],"record_id":"claude-sonnet-5-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":10000000,"amount_text":"$10","approved_value_sha256":"c0e0150fde7c306b72a69dcf6b65d8a01c7768dcb69c8bb8e671d5b33bf34bd3","currency":"USD","modality":"text","model":"claude-sonnet-5","modifiers":[],"record_id":"claude-sonnet-5-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"}]},"google":{"content_type":"text/html","elapsed_class":"bounded","failure_class":null,"final_url_sha256":"f583c43544cc67eb0c55e73d9e7b3f93c8e0c74e2fe77a37430dfbf6e24877a2","last_successful_official_date":"2026-09-16","material_share_basis_points":2500,"original_last_good_date":null,"provider":"google","redirect_chain_sha256":"572b3ee824f6413b03e39006a5c1f237892bed8f20dc7f2a57e0f44c1ec4cca6","retrieved_date":"2026-09-16","source_url_sha256":"f583c43544cc67eb0c55e73d9e7b3f93c8e0c74e2fe77a37430dfbf6e24877a2","status":"official","value_sha256":"655760343cb963e452d5bc221548a6fc59c926668e43ef6e360660cf5cb2cd55","values":[{"amount_microusd":750000,"amount_text":"$0.75","approved_value_sha256":"99c920a4b654817139bbaa104afc70431cb20608419f1ba3aacbb91b62714268","currency":"USD","modality":"text","model":"gemini-3.7-flash","modifiers":[],"record_id":"gemini-3.7-flash-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":75000,"amount_text":"$0.075","approved_value_sha256":"3f994c7450223eea2d97109266a03b2dc5c0f975da698a8a2011d8047cb2703b","currency":"USD","modality":"text","model":"gemini-3.7-flash","modifiers":[],"record_id":"gemini-3.7-flash-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":3750000,"amount_text":"$3.75","approved_value_sha256":"ce0d7e57c2dc29feb2e7480c6e85be38e2a2259ff6f6d71ce98f7d4bbccdd191","currency":"USD","modality":"text","model":"gemini-3.7-flash","modifiers":[],"record_id":"gemini-3.7-flash-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"},{"amount_microusd":750000,"amount_text":"$0.75","approved_value_sha256":"92d66c0294ca18a632c88a002868c4c48bde9764ca30349f175bd317c635a250","currency":"USD","modality":"text","model":"gemini-3.6-flash","modifiers":[],"record_id":"gemini-3.6-flash-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":75000,"amount_text":"$0.075","approved_value_sha256":"2a95749c43f4396232e24c6b7ad52883bff40b34690c83cd031ca60b700271fb","currency":"USD","modality":"text","model":"gemini-3.6-flash","modifiers":[],"record_id":"gemini-3.6-flash-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":3750000,"amount_text":"$3.75","approved_value_sha256":"52363cc9ea1c4b56700aa0e816f6be6f3aed9f8e80ee128499271c4377d4618e","currency":"USD","modality":"text","model":"gemini-3.6-flash","modifiers":[],"record_id":"gemini-3.6-flash-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"}]},"openai":{"content_type":"text/markdown","elapsed_class":"bounded","failure_class":null,"final_url_sha256":"d62ecf3508c2e7ac43de23710ea8b6563386619e13d1599c5934385a60569bbf","last_successful_official_date":"2026-09-16","material_share_basis_points":2500,"original_last_good_date":null,"provider":"openai","redirect_chain_sha256":"85e42ea7a52aef002865ef69e5fd2c5c2191fbd58c283cd66fc5c4a05da3c9ed","retrieved_date":"2026-09-16","source_url_sha256":"d62ecf3508c2e7ac43de23710ea8b6563386619e13d1599c5934385a60569bbf","status":"official","value_sha256":"3fbeb55777ebcb495cd54ccbc5c07860319fe55c87976fefbef3e09d2e26be67","values":[{"amount_microusd":4000000,"amount_text":"$4","approved_value_sha256":"fea9d389b74a978a0dd0410853bb1136d16e1fc22e36e9854071e61808fd71d0","currency":"USD","modality":"text","model":"gpt-5.6-sol","modifiers":["promotional_through_at_least_2026-11-21","input_over_272k_2x"],"record_id":"gpt-5-6-sol-standard-input","tier":"standard","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":400000,"amount_text":"$0.4","approved_value_sha256":"3b4e12ef906dd5f74c4631d39a97bb8cd4b5a490a20538e89694eba04ac33b4d","currency":"USD","modality":"text","model":"gpt-5.6-sol","modifiers":["promotional_through_at_least_2026-11-21","input_over_272k_2x","cache_write_not_modeled"],"record_id":"gpt-5-6-sol-standard-cached-input","tier":"standard","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":20000000,"amount_text":"$20","approved_value_sha256":"ede62d1719593cf5123a948a8a9c37157dc9d43d92494349b0ae67552dafed3a","currency":"USD","modality":"text","model":"gpt-5.6-sol","modifiers":["promotional_through_at_least_2026-11-21","input_over_272k_output_1_5x"],"record_id":"gpt-5-6-sol-standard-output","tier":"standard","token_class":"output","unit":"per_million_tokens"}]},"xai":{"content_type":"text/markdown","elapsed_class":"bounded","failure_class":null,"final_url_sha256":"8c76ac38a822d1cc80ff3907c53271503ced7a6ef894fa44777d39a3c6c268ff","last_successful_official_date":"2026-09-16","material_share_basis_points":2500,"original_last_good_date":null,"provider":"xai","redirect_chain_sha256":"025de286854f9320b90dee606adbcdee361fe142de0476b055d6382aa85eee80","retrieved_date":"2026-09-16","source_url_sha256":"8c76ac38a822d1cc80ff3907c53271503ced7a6ef894fa44777d39a3c6c268ff","status":"official","value_sha256":"2f0c6493c4bbe3c6130d5a2e976d5cdae1298b31b9334076f0ee66c2e9db1c3a","values":[{"amount_microusd":1000000,"amount_text":"$1.00","approved_value_sha256":"21e7d546c30672482e4f6dfbb4e875496bea86ef22ffb25565d1cd2ab126d4b1","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-lt_200k-input","tier":"lt_200k","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":200000,"amount_text":"$0.20","approved_value_sha256":"a53a47379746fdb8b27887ea3836146380e52a67fbc0c4a254d77aba185854ce","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-lt_200k-cached-input","tier":"lt_200k","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":2000000,"amount_text":"$2.00","approved_value_sha256":"48463b5a0527ddefb962684ccf208eda2db53c00ec0d31d4226c873d35d8bd5d","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-lt_200k-output","tier":"lt_200k","token_class":"output","unit":"per_million_tokens"},{"amount_microusd":2000000,"amount_text":"$2.00","approved_value_sha256":"2a4c417aec31ed3ab92e22cc306da0fcfb57b76897d3a796cce845cbca95b404","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-gte_200k-input","tier":"gte_200k","token_class":"input","unit":"per_million_tokens"},{"amount_microusd":400000,"amount_text":"$0.40","approved_value_sha256":"a2a75202366013e1487170b77dd97731c3fbd6193f0a653fe2c6235abf0ffc6e","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-gte_200k-cached-input","tier":"gte_200k","token_class":"cached_input","unit":"per_million_tokens"},{"amount_microusd":4000000,"amount_text":"$4.00","approved_value_sha256":"1d8fc9ed0fa451b81e5c79a7ab830613ec97edefa28f2af57e0045585ddc5bcc","currency":"USD","modality":"text","model":"grok-build-0.1","modifiers":[],"record_id":"grok-build-0-1-gte_200k-output","tier":"gte_200k","token_class":"output","unit":"per_million_tokens"}]}},"retrieved_date":"2026-09-16","schema_version":1,"uncertainty_basis_points":0} \ No newline at end of file diff --git a/plugins/agent-collab/project-estimation-data/quota-snapshot.json b/plugins/agent-collab/project-estimation-data/quota-snapshot.json index 0f46c6d6..b17b39dc 100644 --- a/plugins/agent-collab/project-estimation-data/quota-snapshot.json +++ b/plugins/agent-collab/project-estimation-data/quota-snapshot.json @@ -1 +1 @@ -{"kind":"quota","material_unpriced":false,"operator_notification_required":true,"policy_sha256":"ea78f732a3d5a39776b079abde7f900e214ac8afdbd4a281a5b78d3e175a8514","policy_version":"2026-09-06.1","providers":{"anthropic":{"content_type":null,"elapsed_class":null,"failure_class":"no_reviewed_value","final_url_sha256":null,"last_successful_official_date":null,"material_share_basis_points":0,"original_last_good_date":null,"provider":"anthropic","redirect_chain_sha256":null,"retrieved_date":null,"source_url_sha256":null,"status":"unknown","value_sha256":null,"values":[]},"google":{"content_type":null,"elapsed_class":null,"failure_class":"no_reviewed_value","final_url_sha256":null,"last_successful_official_date":null,"material_share_basis_points":0,"original_last_good_date":null,"provider":"google","redirect_chain_sha256":null,"retrieved_date":null,"source_url_sha256":null,"status":"unknown","value_sha256":null,"values":[]},"openai":{"content_type":null,"elapsed_class":null,"failure_class":"no_reviewed_value","final_url_sha256":null,"last_successful_official_date":null,"material_share_basis_points":0,"original_last_good_date":null,"provider":"openai","redirect_chain_sha256":null,"retrieved_date":null,"source_url_sha256":null,"status":"unknown","value_sha256":null,"values":[]},"xai":{"content_type":null,"elapsed_class":null,"failure_class":"no_reviewed_value","final_url_sha256":null,"last_successful_official_date":null,"material_share_basis_points":0,"original_last_good_date":null,"provider":"xai","redirect_chain_sha256":null,"retrieved_date":null,"source_url_sha256":null,"status":"unknown","value_sha256":null,"values":[]}},"retrieved_date":"2026-09-08","schema_version":1,"uncertainty_basis_points":3000} \ No newline at end of file +{"kind":"quota","material_unpriced":false,"operator_notification_required":true,"policy_sha256":"ea78f732a3d5a39776b079abde7f900e214ac8afdbd4a281a5b78d3e175a8514","policy_version":"2026-09-06.1","providers":{"anthropic":{"content_type":null,"elapsed_class":null,"failure_class":"no_reviewed_value","final_url_sha256":null,"last_successful_official_date":null,"material_share_basis_points":0,"original_last_good_date":null,"provider":"anthropic","redirect_chain_sha256":null,"retrieved_date":null,"source_url_sha256":null,"status":"unknown","value_sha256":null,"values":[]},"google":{"content_type":null,"elapsed_class":null,"failure_class":"no_reviewed_value","final_url_sha256":null,"last_successful_official_date":null,"material_share_basis_points":0,"original_last_good_date":null,"provider":"google","redirect_chain_sha256":null,"retrieved_date":null,"source_url_sha256":null,"status":"unknown","value_sha256":null,"values":[]},"openai":{"content_type":null,"elapsed_class":null,"failure_class":"no_reviewed_value","final_url_sha256":null,"last_successful_official_date":null,"material_share_basis_points":0,"original_last_good_date":null,"provider":"openai","redirect_chain_sha256":null,"retrieved_date":null,"source_url_sha256":null,"status":"unknown","value_sha256":null,"values":[]},"xai":{"content_type":null,"elapsed_class":null,"failure_class":"no_reviewed_value","final_url_sha256":null,"last_successful_official_date":null,"material_share_basis_points":0,"original_last_good_date":null,"provider":"xai","redirect_chain_sha256":null,"retrieved_date":null,"source_url_sha256":null,"status":"unknown","value_sha256":null,"values":[]}},"retrieved_date":"2026-09-16","schema_version":1,"uncertainty_basis_points":3000} \ No newline at end of file diff --git a/plugins/agent-collab/runtime-manifest.json b/plugins/agent-collab/runtime-manifest.json index 7048efd5..0b3d9f6e 100644 --- a/plugins/agent-collab/runtime-manifest.json +++ b/plugins/agent-collab/runtime-manifest.json @@ -1 +1 @@ -{"artifacts":[{"arch":"arm64","entrypoint":"agent-collab-runtime","files":[{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_blake2.so","role":"runtime_library","sha256":"013f9e06ce47f43c8f163634d4e3668ddff3b5bafaafcab49e330072d5fced44","signing_profile":"production_developer_id","size":89456},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_bz2.so","role":"runtime_library","sha256":"bae70ce224d21e05e89587f92041513c89112aa8446a2243cca5ea48f0c49056","signing_profile":"production_developer_id","size":72784},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_cn.so","role":"runtime_library","sha256":"2ac3e26934a660bd8aa4ec8ad3d22ec4a9f4058b3ffced13edaa5fc045714da3","signing_profile":"production_developer_id","size":185264},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_hk.so","role":"runtime_library","sha256":"1613a44c144a314a892d31fbb7f1ba53e51307801688a439def1b816f307898b","signing_profile":"production_developer_id","size":185328},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_iso2022.so","role":"runtime_library","sha256":"2c79b2e46e10c939c826666f80875632615b4d3e6f942793b191a1c6e9e0f091","signing_profile":"production_developer_id","size":71936},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_jp.so","role":"runtime_library","sha256":"41c546c696d7f35e7fb0a687362e0ad84848e1aa94c75a29fedbff5e4183249a","signing_profile":"production_developer_id","size":301120},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_kr.so","role":"runtime_library","sha256":"07d9d1fbe71abad3bf4c3c9fa79924a03943bb4f2513d7ec9e9592da78bf7c11","signing_profile":"production_developer_id","size":168928},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_tw.so","role":"runtime_library","sha256":"6d524aa907fc58b66723ba9bffca80357f2fd158e2f5b547aaeea30844288843","signing_profile":"production_developer_id","size":168432},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_contextvars.so","role":"runtime_library","sha256":"9e15468cfe4aa26fcdcef0383f2e71c78ddb76915ac28bed08388f44e7daca16","signing_profile":"production_developer_id","size":68576},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_ctypes.so","role":"runtime_library","sha256":"da798f2f6167fcac3c7915768ec5cf4b43e751c7d932819b4eae3066d2474ee8","signing_profile":"production_developer_id","size":175840},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_datetime.so","role":"runtime_library","sha256":"ca8bd2d5576c72c714de6aa456f1b0709e0e724e3dcb851eafd8347e793c5c99","signing_profile":"production_developer_id","size":150144},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_decimal.so","role":"runtime_library","sha256":"bb9fb9e0552ed067d58684cb2d69694179a526d6777a1c04afe307d4968a3b43","signing_profile":"production_developer_id","size":364640},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_heapq.so","role":"runtime_library","sha256":"56bf9089e9ab37c8445ec0d0cbd2ef41fc9bdfb33ba70c85ddd14f206f7a5228","signing_profile":"production_developer_id","size":69728},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_lzma.so","role":"runtime_library","sha256":"44eb9fa78feb843eb100d01eb0f9dbb5a4d6ac97efee5e3b4108a15865b699a9","signing_profile":"production_developer_id","size":92240},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_md5.so","role":"runtime_library","sha256":"030e12b51ea2011bb02e11f7a2d5c4a9b44bb36b7748a1d19df8a9c26632054e","signing_profile":"production_developer_id","size":71728},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_multibytecodec.so","role":"runtime_library","sha256":"c7851e33d90b22bf2bdd6f5006b44dd02b77dbd2b69a23624803109b9c556930","signing_profile":"production_developer_id","size":95808},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_multiprocessing.so","role":"runtime_library","sha256":"b22bb0238ee793c8f14ba2feae3646bee7c7e5bee65fbd4da4146c5f08157127","signing_profile":"production_developer_id","size":73472},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_opcode.so","role":"runtime_library","sha256":"19fff2ff555cfc2be167ddde4773fd4a45fd9c929b2f3f255dce54f3f40e6093","signing_profile":"production_developer_id","size":72448},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_pickle.so","role":"runtime_library","sha256":"6fdf67ee717c26a9d54f86e06fb1ef3864ccdbf7f120a0e9de5ce24c49339004","signing_profile":"production_developer_id","size":168032},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_posixshmem.so","role":"runtime_library","sha256":"4a514236d525c98bb227f37b2577b1cc71669a4de424f048d1f52a2a4cdce106","signing_profile":"production_developer_id","size":69408},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_posixsubprocess.so","role":"runtime_library","sha256":"a019895ea5970bdff2c027b06fc0a087ecdba34fdbd32a422cae1d356d0f7cdf","signing_profile":"production_developer_id","size":72496},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_queue.so","role":"runtime_library","sha256":"11209ce54dd8b96069e53a1022be30b5ef7d50a842d559eabacc31a39e28f731","signing_profile":"production_developer_id","size":71840},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_random.so","role":"runtime_library","sha256":"519389177aa0bfe42f57172f72010b47ec2dd269158fda6c868801fed5354936","signing_profile":"production_developer_id","size":71680},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha1.so","role":"runtime_library","sha256":"accbb749b8e4ddf61959831dd703cc844d4ed4fceb44120e6a388f960f377f8e","signing_profile":"production_developer_id","size":71760},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha2.so","role":"runtime_library","sha256":"7727073a440985d4ce81c80d8138a9d20fc14840c9b3568625a000cba19bd3c6","signing_profile":"production_developer_id","size":107264},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha3.so","role":"runtime_library","sha256":"825924bd8834675f2e8ca250b169a0448d6820d72263bc1f169a4cd743fe32ae","signing_profile":"production_developer_id","size":91008},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_socket.so","role":"runtime_library","sha256":"232f3fcae00ca33f0d89fb2defdcb15510a3fff373f6ff1a000977bc4b8743b1","signing_profile":"production_developer_id","size":132288},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_statistics.so","role":"runtime_library","sha256":"e3e96b2767d868fbc7f468e218b22afd0f409a2a0187eaa964ce072803ccdc54","signing_profile":"production_developer_id","size":68704},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_struct.so","role":"runtime_library","sha256":"82e20b32a391ef734d394dd7f09f7005b385843b6c900d75366546918f1050ed","signing_profile":"production_developer_id","size":94528},{"architecture":"arm64","install_mode":320,"macho_type":"executable","minimum_macos":"14.0","path":"agent-collab-runtime","role":"entrypoint","sha256":"faf646a91e58f73bd72eaa703ea19c6e5ead33a76bc6b9f0e4e80678b0911d37","signing_profile":"production_developer_id","size":8643024},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"array.so","role":"runtime_library","sha256":"0634b09257fa7488e3e9cb2f696f8349adde6f2d34ba578a572d28ce25fcc683","signing_profile":"production_developer_id","size":113760},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"binascii.so","role":"runtime_library","sha256":"922b7d16c9e4fd82cc59070a51fd036c85789b8b73e82c533f516e7e41639de8","signing_profile":"production_developer_id","size":72224},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"fcntl.so","role":"runtime_library","sha256":"ae103ad97c627a79fc73ae978f4f3211cf518d5c8a2d95ac896ac780a464c212","signing_profile":"production_developer_id","size":70368},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"grp.so","role":"runtime_library","sha256":"03c3e44375213acc3bc82e473621f3a6502c21aade0c591d0bb0f7f1ffae8c6e","signing_profile":"production_developer_id","size":71024},{"architecture":"arm64","install_mode":320,"macho_type":"dylib","minimum_macos":"14.0","path":"libpython3.13.dylib","role":"runtime_library","sha256":"7a2a9ba4b0479e83c6e6514eba1412f4eef923a0151d254d747d11c3c94f92a8","signing_profile":"production_developer_id","size":4973360},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"math.so","role":"runtime_library","sha256":"202b1b507fb649fede35954fe8bda0c574b8702878068f64badf3a8a99a39f84","signing_profile":"production_developer_id","size":111216},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"mmap.so","role":"runtime_library","sha256":"130255cb10adf9b281ad431cc2123d639288bdde6f73e8724a8d3a3e04d95a6f","signing_profile":"production_developer_id","size":73776},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"pyexpat.so","role":"runtime_library","sha256":"b4f7bb211d841ea24c9df99c0b4103194dc112da3eed472e09c238afe28b627d","signing_profile":"production_developer_id","size":259232},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"select.so","role":"runtime_library","sha256":"6971e34fea47639530b3ce650d65e8bfa52c2a42d74022e55550f2750b2dc460","signing_profile":"production_developer_id","size":92160},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"termios.so","role":"runtime_library","sha256":"9eef8321c920a285fdf4c9abd84244fb7e9b4c9669a84ae10e3ece117fabe0c2","signing_profile":"production_developer_id","size":71744},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"unicodedata.so","role":"runtime_library","sha256":"c1c6d41617392cb1a0a31d16b3dd87e0bee33fc73b958cd304422729ab6f01c8","signing_profile":"production_developer_id","size":746848},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"zlib.so","role":"runtime_library","sha256":"00989f9d9c9f3f9ae1941c3d4339f9ac629a1d64eb6ee1fd947b3249628de2eb","signing_profile":"production_developer_id","size":92896}],"kind":"standalone_bundle","minimum_macos":"14.0","path":"runtime/darwin-arm64/agent-collab-runtime.bundle","platform":"darwin","provider_runtime_version":"5.0.7","sha256":"0d1897e08fc7ad13621681a60f9242d759adc04b4433eac93f53f196dd53d2f3","signing":{"hardened_runtime":true,"identity":"Developer ID Application: OSUMI CONSULTING LLC (36UFP9KY4T)","mode":"developer_id","require_notarization":true,"secure_timestamp":true,"team_id":"36UFP9KY4T"},"size":18888512,"wire_contract_sha256":"a675807e0ff5f0544d7cc9d659914ce2dadac9be8efd0fb56635815e5c3e842a"},{"arch":"x86_64","entrypoint":"agent-collab-runtime","files":[{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_blake2.so","role":"runtime_library","sha256":"7e58c58b8075d8f9b71b0be9047f612b332fc0c9382e95eed8d93a730d362c21","signing_profile":"production_developer_id","size":60944},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_bz2.so","role":"runtime_library","sha256":"f84e2010752315e29c259cfb986ced71ef0342dcb86f4b102ae7ea4495e4c8ad","signing_profile":"production_developer_id","size":44256},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_cn.so","role":"runtime_library","sha256":"44dc30baf480e35a77549c9c767ba20d5ac52e23e4e3bad81d6a27be08aba81e","signing_profile":"production_developer_id","size":165584},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_hk.so","role":"runtime_library","sha256":"897bfec2da9b9fcbd8ceed470d5c11ec50d8db8f72ecd9a0f02e3dd48fa60b03","signing_profile":"production_developer_id","size":173904},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_iso2022.so","role":"runtime_library","sha256":"6e06cba0543abffe8cc2e5842af5e197600c77a0b540d08865e24d5a4ee08017","signing_profile":"production_developer_id","size":43392},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_jp.so","role":"runtime_library","sha256":"3d3c650dd12b0e3a0fc05e51e78994db1371f75c557bddee779623e12f2ad5d7","signing_profile":"production_developer_id","size":273856},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_kr.so","role":"runtime_library","sha256":"2da514ce3e9af98a3fd36c23f710e642d09c24e5bc84aae317abe950f2c519fd","signing_profile":"production_developer_id","size":153280},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_tw.so","role":"runtime_library","sha256":"82a1e28eb60c60a415f904d8d45440496b436cb84646eee0699eb95db9ee7a5a","signing_profile":"production_developer_id","size":132144},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_contextvars.so","role":"runtime_library","sha256":"7a12f2b824514ffe2d8467c00016d1d11b34fd1ce9bbb6510852290fbf942aab","signing_profile":"production_developer_id","size":31712},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_ctypes.so","role":"runtime_library","sha256":"f1226d5ca70a66ca3d769d35523b5df52460b376d12164e772c8ff9d2a847b2d","signing_profile":"production_developer_id","size":148640},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_datetime.so","role":"runtime_library","sha256":"e1e7d62ba1ebc132b280c9ee5141c45123eb52509054c4b5dc66ea8c89cd1bd7","signing_profile":"production_developer_id","size":122768},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_decimal.so","role":"runtime_library","sha256":"180b6722be60d13487381fa18d84484890cf4c83a0e23372fef346536d41940c","signing_profile":"production_developer_id","size":347632},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_heapq.so","role":"runtime_library","sha256":"8df3c5345d8f3a89c548467a9dbfd9617e7d69c5678337af5dedea2b8b7fd0bb","signing_profile":"production_developer_id","size":41120},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_lzma.so","role":"runtime_library","sha256":"92d84246c06cfd91c79de88bf45ae0f714ca6702b3155740991233f8e9bbb83d","signing_profile":"production_developer_id","size":55552},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_md5.so","role":"runtime_library","sha256":"d99e79bc6abea4147db6d21873b23b0082b197b8fb166659a01c2dec895e51c2","signing_profile":"production_developer_id","size":43136},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_multibytecodec.so","role":"runtime_library","sha256":"48c316ed07efdedb9b08daed501c21fa0dabc8cfea7ee36924e5271c7ca9ff6d","signing_profile":"production_developer_id","size":63456},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_multiprocessing.so","role":"runtime_library","sha256":"4baac93e838aff80e172ac79ef260ae2c116e48fa1fcd37ec40ed55c8cee1b2b","signing_profile":"production_developer_id","size":40768},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_opcode.so","role":"runtime_library","sha256":"6fa165acd38f4e7c32847ef231067ef65c12869799c931f7b9ac31965da4ddcf","signing_profile":"production_developer_id","size":43872},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_pickle.so","role":"runtime_library","sha256":"f9c4fc2e3c492aa0faf82e568dfbf92e055643e6afd9b07a993a0c6715430aee","signing_profile":"production_developer_id","size":136096},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_posixshmem.so","role":"runtime_library","sha256":"b2395f48a408a8c5d3a516d97f0778d36779f87527324886e0f0ab09e3748737","signing_profile":"production_developer_id","size":32544},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_posixsubprocess.so","role":"runtime_library","sha256":"865ce97e5862762d0971f15f9052e8a4e556ec75d8ef789dcd2252e7a75c7290","signing_profile":"production_developer_id","size":43952},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_queue.so","role":"runtime_library","sha256":"bb363f5e26bba1dad05fbb9a1d3661df1c434446ec58a08dc11a4540f50afa63","signing_profile":"production_developer_id","size":39136},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_random.so","role":"runtime_library","sha256":"4374dbccaf99ac54a87fba52f302f1436bc750b3fa42f976bc67d2a9936541cc","signing_profile":"production_developer_id","size":38944},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha1.so","role":"runtime_library","sha256":"aa9f31f73d4ec269251e5fc2707f7c0e0521c5af61a4a39df629894b27c4beeb","signing_profile":"production_developer_id","size":39024},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha2.so","role":"runtime_library","sha256":"f6959a0ff038cf1bce3122a8f4d1bccf0ea5803425ef228288dec950020e7ea3","signing_profile":"production_developer_id","size":78992},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha3.so","role":"runtime_library","sha256":"bcf37f52cda204ad7560e24dcca83e91d9f1762a9c855e2eeaaed2abe2f6ed0c","signing_profile":"production_developer_id","size":53632},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_socket.so","role":"runtime_library","sha256":"077831120970a6aa26a7e30188498c6b307de90780c7c2c6ec3ad77c46809644","signing_profile":"production_developer_id","size":104096},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_statistics.so","role":"runtime_library","sha256":"b3d59e370107126cfefce25e79900d1ed8f377d1e6adbb29ef1af4f1145fe34e","signing_profile":"production_developer_id","size":31840},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_struct.so","role":"runtime_library","sha256":"053eac9272cc93dacc9610f58fe99f372947a2e375b6c9f8e51be01671895a9f","signing_profile":"production_developer_id","size":62144},{"architecture":"x86_64","install_mode":320,"macho_type":"executable","minimum_macos":"14.0","path":"agent-collab-runtime","role":"entrypoint","sha256":"51ac029c303a190be1f553a884c40f0fac42a1169445973d530285738e41f821","signing_profile":"production_developer_id","size":8838000},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"array.so","role":"runtime_library","sha256":"8866f89a7c822d731f0c12a99a235c11d4435a6dce992279a6012458a678794e","signing_profile":"production_developer_id","size":77216},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"binascii.so","role":"runtime_library","sha256":"dd4b4851203543791d77dd5dad4ccc915ed213fc381b15be16110ed8e3bb916c","signing_profile":"production_developer_id","size":51920},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"fcntl.so","role":"runtime_library","sha256":"a5208b9ddddae5244df5466a10e968f4d524a8e2ae7c8dc8c7a2f135cf3f44c4","signing_profile":"production_developer_id","size":41760},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"grp.so","role":"runtime_library","sha256":"5660d6c99e9ebdb49e6f3b5489f40276ea28eb9230e57ff65340f9791ed4b547","signing_profile":"production_developer_id","size":38288},{"architecture":"x86_64","install_mode":320,"macho_type":"dylib","minimum_macos":"14.0","path":"libpython3.13.dylib","role":"runtime_library","sha256":"4c5353c54bbf42e76ba18019494ca0da2b45adbef86a0e774a0e35d29c0485c7","signing_profile":"production_developer_id","size":4959200},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"math.so","role":"runtime_library","sha256":"eccabeb3891d7cbf0440213349a3b4f1b95840c65ba64c20972ad6e98f8d503f","signing_profile":"production_developer_id","size":87104},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"mmap.so","role":"runtime_library","sha256":"372c427c8af6d26e93adfd116582ac1e8f2c39b844a42e5d43b73d3178b4b05f","signing_profile":"production_developer_id","size":49312},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"pyexpat.so","role":"runtime_library","sha256":"1e78cdbbf9fc673ec849a3bce79ea137fd17eec1ce8fd6d5f521ffc598df96c5","signing_profile":"production_developer_id","size":260688},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"select.so","role":"runtime_library","sha256":"a29a21e3fc663f060f04b45fb5774e983a22f427a8c1c5fe8f15281c4e7b3677","signing_profile":"production_developer_id","size":55504},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"termios.so","role":"runtime_library","sha256":"3385f8ab59c41a11a0c1bf5f788a1243b5ce3d0deb7c4aac1c96f743819091c9","signing_profile":"production_developer_id","size":43136},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"unicodedata.so","role":"runtime_library","sha256":"90a5620de1c108925ef6367e8943907d74e90a780a45efc9f57fb07348bce7f8","signing_profile":"production_developer_id","size":722256},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"zlib.so","role":"runtime_library","sha256":"3c66c3bf722d6fe71ebc72b4b55db2cfdd5108021921d765a312ffa3d6f749f9","signing_profile":"production_developer_id","size":64512}],"kind":"standalone_bundle","minimum_macos":"14.0","path":"runtime/darwin-x86_64/agent-collab-runtime.bundle","platform":"darwin","provider_runtime_version":"5.0.7","sha256":"672dd9b2d4d69b34ffe3d8f99a5269b4ce38f43c940bf8627280fd0a0e3b86b0","signing":{"hardened_runtime":true,"identity":"Developer ID Application: OSUMI CONSULTING LLC (36UFP9KY4T)","mode":"developer_id","require_notarization":true,"secure_timestamp":true,"team_id":"36UFP9KY4T"},"size":17935312,"wire_contract_sha256":"a675807e0ff5f0544d7cc9d659914ce2dadac9be8efd0fb56635815e5c3e842a"}],"channel":"production","contract_version":4,"protocol_version":5,"schema_version":4,"wire_contract":{"$defs":{"amount":{"additionalProperties":false,"properties":{"amount":{"minimum":0,"type":"number"},"unit":{"minLength":1,"type":"string"}},"required":["amount","unit"],"type":"object"},"work_unit":{"additionalProperties":false,"properties":{"capability":{"enum":["architecture.conceptual","architecture.repository","codegen.repository","context.documents.extract","context.documents.intent","context.documents.reason","context.repository.extract","context.repository.reason","frontend_codegen.repository","frontend_review.repository","governance.repository","review.repository"],"type":"string"},"context_size_estimate":{"description":"caller-estimated input tokens","minimum":0,"type":"integer"},"depends_on":{"items":{"maxLength":128,"minLength":1,"type":"string"},"maxItems":128,"type":"array"},"explicit_target":{"pattern":"^[a-z][a-z0-9_]{0,127}$","type":"string"},"id":{"maxLength":128,"minLength":1,"type":"string"},"native_restrictions":{"type":"object"},"output_size_estimate":{"description":"caller-estimated output tokens","minimum":0,"type":"integer"},"payload":{},"payload_ref":{"maxLength":128,"minLength":1,"type":"string"}},"required":["id","capability","depends_on"],"type":"object"}},"content_frame":{"additionalProperties":true,"properties":{"content":{"minLength":1,"type":"string"},"content_encoding":{"enum":["utf-8","base64"]},"content_kind":{"enum":["explicit final","recovered deltas"]},"content_truncated":{"type":"boolean"},"frame_type":{"const":"content"},"request_id":{"maxLength":128,"minLength":1,"type":"string"},"sequence":{"minimum":0,"type":"integer"},"work_unit_id":{"maxLength":128,"minLength":1,"type":"string"}},"required":["frame_type","request_id","work_unit_id","sequence","content","content_kind","content_encoding","content_truncated"],"type":"object"},"logical_action_timeout_modes":{"architecture.conceptual":"admitted_progress_inactivity","architecture.repository":"admitted_progress_inactivity","codegen.repository":"admitted_progress_inactivity","context.documents.extract":"admitted_progress_inactivity","context.documents.intent":"admitted_progress_inactivity","context.documents.reason":"admitted_progress_inactivity","context.repository.extract":"admitted_progress_inactivity","context.repository.reason":"admitted_progress_inactivity","frontend_codegen.repository":"admitted_progress_inactivity","frontend_review.repository":"admitted_progress_inactivity","governance.repository":"admitted_progress_inactivity","review.repository":"admitted_progress_inactivity"},"logical_actions":["architecture.conceptual","architecture.repository","codegen.repository","context.documents.extract","context.documents.intent","context.documents.reason","context.repository.extract","context.repository.reason","frontend_codegen.repository","frontend_review.repository","governance.repository","review.repository"],"logical_agents":["alibaba","claude","codex","deepseek","gemini","grok","moonshot","zhipu"],"routing_request":{"additionalProperties":false,"properties":{"budget_limit":{"$ref":"#/$defs/amount"},"deadline_ms":{"maximum":86400000,"minimum":0,"type":"integer"},"dispatch_requested":{"type":"boolean"},"effort_class":{"enum":["maximum","minimal","standard"],"type":"string"},"latency_value":{"$ref":"#/$defs/amount"},"max_parallel":{"maximum":128,"minimum":1,"type":"integer"},"quality_profile":{"enum":["economical","frontier","standard"],"type":"string"},"request_id":{"maxLength":128,"minLength":1,"type":"string"},"wire_contract_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"work_units":{"items":{"$ref":"#/$defs/work_unit"},"maxItems":128,"minItems":1,"type":"array"}},"required":["wire_contract_sha256","request_id","quality_profile","effort_class","max_parallel","dispatch_requested","work_units"],"type":"object"},"routing_source_sha256":"160d0453547447dd7279840ead0542843cfd7f60e547d89ac9e718e2f22d8ec1","runtime_protocol_version":5,"schema_version":12,"terminal_planning_record":{"additionalProperties":true,"properties":{"aggregate":{"type":"object"},"decisions":{"type":"array"},"frame_type":{"const":"terminal"},"request_id":{"maxLength":128,"minLength":1,"type":"string"},"waves":{"type":"array"}},"required":["frame_type","request_id","decisions","waves","aggregate"],"type":"object"}},"wire_contract_sha256":"a675807e0ff5f0544d7cc9d659914ce2dadac9be8efd0fb56635815e5c3e842a"} +{"artifacts":[{"arch":"arm64","entrypoint":"agent-collab-runtime","files":[{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_blake2.so","role":"runtime_library","sha256":"c62d1b8d8bc8a232edd4dacb98a8696ead900700fdca7250b7410977b2c25dc0","signing_profile":"production_developer_id","size":89456},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_bz2.so","role":"runtime_library","sha256":"44cf63a1eb455af3dc1541197994442df0a6590a339158f47dcccf66cbd70bd6","signing_profile":"production_developer_id","size":72784},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_cn.so","role":"runtime_library","sha256":"6d4f9f16b92e157b054222d7e78fbc8d00aa4df80c297ef51e9a911e68b21936","signing_profile":"production_developer_id","size":185264},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_hk.so","role":"runtime_library","sha256":"af72e45e8568644f309b0a4e8de3adf7ee9399873ffbe9954296c1507e541515","signing_profile":"production_developer_id","size":185328},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_iso2022.so","role":"runtime_library","sha256":"07c5bbee55b823068be5e1121f1150507f21cbded14a083d70aa0fb770d3280d","signing_profile":"production_developer_id","size":71936},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_jp.so","role":"runtime_library","sha256":"12436e31316c05f6ab62459a8af92db690037e70f8c21756202e3f4ba85b6452","signing_profile":"production_developer_id","size":301120},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_kr.so","role":"runtime_library","sha256":"e0858a8ab13850e2aa8158e1734a69a301ee19ef15333a183a5ce39b97044b8a","signing_profile":"production_developer_id","size":168928},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_tw.so","role":"runtime_library","sha256":"37ae0ae13163ee736229b6362200a9fb717b4a72ffef214804004c97ed9bf7ac","signing_profile":"production_developer_id","size":168432},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_contextvars.so","role":"runtime_library","sha256":"431a1c5fce221345fefe6d25f0494b0f436f09a924d697fb7c62bdedba32c51b","signing_profile":"production_developer_id","size":68576},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_ctypes.so","role":"runtime_library","sha256":"da3732690ebab676315fa08078f107874599e7bde52e42da96f700ced56f554a","signing_profile":"production_developer_id","size":175840},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_datetime.so","role":"runtime_library","sha256":"edb5632aa88fcc2f2b678e98a321d42ec003489e73bb7866052a4d69700de372","signing_profile":"production_developer_id","size":150144},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_decimal.so","role":"runtime_library","sha256":"bb2a42f91a681ff8ae70632005207699b620632fea10c687f6735ef96be306a5","signing_profile":"production_developer_id","size":364640},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_heapq.so","role":"runtime_library","sha256":"3394bb8c85223ecc5405677f2bf6bf3e0e671d9337c1d8bc641df14fbc868fb0","signing_profile":"production_developer_id","size":69728},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_lzma.so","role":"runtime_library","sha256":"cde070b863a4e4f85b72576ce20e94b8a8ce7d301728289a0b47b4c8e4f4b88f","signing_profile":"production_developer_id","size":92240},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_md5.so","role":"runtime_library","sha256":"0898846240940ad6fe22bb72e485675a60fafde29b5f0d9a8cdf91bd8de519a0","signing_profile":"production_developer_id","size":71728},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_multibytecodec.so","role":"runtime_library","sha256":"296376b0d83a590b5f1ac03bd243998e71380508fc9ba9d880fe28c951c20092","signing_profile":"production_developer_id","size":95808},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_multiprocessing.so","role":"runtime_library","sha256":"75c4f51a07f61029e4d788cd86137aad4010e37915601db141b707bf8f588c83","signing_profile":"production_developer_id","size":73472},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_opcode.so","role":"runtime_library","sha256":"75e26547081b6613464b251d4028f899217d42b8344fb60ebe5a272122276caa","signing_profile":"production_developer_id","size":72448},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_pickle.so","role":"runtime_library","sha256":"772a8da5f10808fc4dc61d193b6220a87de4ffcea38237034274e26c3ddee918","signing_profile":"production_developer_id","size":168032},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_posixshmem.so","role":"runtime_library","sha256":"074f007475574e35003d39d0940592fbbb0c89f43fb7b9efd461d4e4f28b9541","signing_profile":"production_developer_id","size":69408},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_posixsubprocess.so","role":"runtime_library","sha256":"64f1966d38f7ccd513585a0ee90509c7e29a3f293175e9ed1f82f61e5dbceb79","signing_profile":"production_developer_id","size":72496},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_queue.so","role":"runtime_library","sha256":"54dd1901c53cf1f77a7a265292093f8a28377e834cb1f2ef4be932f67ca4b94d","signing_profile":"production_developer_id","size":71840},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_random.so","role":"runtime_library","sha256":"0af93b551c97f818d7437d985df932ecf4fe4a830983c0d09ba3a32515bd6839","signing_profile":"production_developer_id","size":71680},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_scproxy.so","role":"runtime_library","sha256":"fdb16d3de8cea0b2e8de27c11a2072e81919eb2eb0b9019f80fd156e5de1fff0","signing_profile":"production_developer_id","size":71232},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha1.so","role":"runtime_library","sha256":"16ca72d0e6f8bf32fe058b8689c7be20e7d486cbfd474d17acc545f04fc9d388","signing_profile":"production_developer_id","size":71760},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha2.so","role":"runtime_library","sha256":"417526c235a64d4bd498ef5c2c22dec07c73edf9b41fe368fc7473fd95da6744","signing_profile":"production_developer_id","size":107264},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha3.so","role":"runtime_library","sha256":"1f991daa634409f5b83e81227226deee2562c0e94b014737c63bd75f013b7363","signing_profile":"production_developer_id","size":91008},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_socket.so","role":"runtime_library","sha256":"287c0cfac94bbaeff9888745f1d2e2f1e2e1db379e858fa0abec614968e67e87","signing_profile":"production_developer_id","size":132288},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sqlite3.so","role":"runtime_library","sha256":"c9e601d6c2aa45861136731f5bb8bf187a1b98277a84e4f287b7d3803a5c8610","signing_profile":"production_developer_id","size":161264},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_statistics.so","role":"runtime_library","sha256":"b75f55e893c3849c46c47fd821d1166a96d1f546d2e0a2ad837118b17587bdff","signing_profile":"production_developer_id","size":68704},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_struct.so","role":"runtime_library","sha256":"6bd6d47f19dcbf6b7e257b352968509d8848d50f87a09421cb52c26454435663","signing_profile":"production_developer_id","size":94528},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_uuid.so","role":"runtime_library","sha256":"036740dc7ef5d21a3c841bd4c57370bc2d4d928dd8eeafecd614e2da09eaefeb","signing_profile":"production_developer_id","size":68528},{"architecture":"arm64","install_mode":320,"macho_type":"executable","minimum_macos":"14.0","path":"agent-collab-runtime","role":"entrypoint","sha256":"51cf1ea1361de1540e580005baa0c1be1c550c2681cdbfe26618dad5f2e949b2","signing_profile":"production_developer_id","size":9089504},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"array.so","role":"runtime_library","sha256":"72183e615b04aae17c57ab8533335d73df14f3b7c592551478f229a83c24a65a","signing_profile":"production_developer_id","size":113760},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"binascii.so","role":"runtime_library","sha256":"e0309e8bc01aa2b7db67d0382ae95d86af7e927444dbb2e0c4af8dafb2228a0f","signing_profile":"production_developer_id","size":72224},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"fcntl.so","role":"runtime_library","sha256":"3659eb6c3c8c121b49c68ef2ad2d2613d422e89db48f722f9358f8864b982a9e","signing_profile":"production_developer_id","size":70368},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"grp.so","role":"runtime_library","sha256":"02c56083f0232ec339a405424252441cc6e96bafd4b6a373436cbddee8042d6a","signing_profile":"production_developer_id","size":71024},{"architecture":"arm64","install_mode":320,"macho_type":"dylib","minimum_macos":"14.0","path":"libpython3.13.dylib","role":"runtime_library","sha256":"f4b485ae7b4208837b763333b64d3a6a30ec9d09fcc20a0c4319b8ffe6ec870c","signing_profile":"production_developer_id","size":4973360},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"math.so","role":"runtime_library","sha256":"fd494ec000ea62bf5f67bf029f76200cef0086e24082ea41274051906a899b56","signing_profile":"production_developer_id","size":111216},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"mmap.so","role":"runtime_library","sha256":"eb926f4581509b782267948ca88e25ed831cfca2456153f937c46562e61818cc","signing_profile":"production_developer_id","size":73776},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"pyexpat.so","role":"runtime_library","sha256":"286896846ecb6129805f937bcc88c8c2c261d18eaee94b5eacbcadd4cfccad99","signing_profile":"production_developer_id","size":259232},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"select.so","role":"runtime_library","sha256":"f61250435def5243001bdc195eae08038b8833604e9d689dd79343793871068d","signing_profile":"production_developer_id","size":92160},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"termios.so","role":"runtime_library","sha256":"d472eb1af45f059be6ab6f172f5cb592f939bf639048ab94a6ecb73d55f734fa","signing_profile":"production_developer_id","size":71744},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"unicodedata.so","role":"runtime_library","sha256":"8d148823787bb3b244535d892d5a719daf40aaed888ffb6bf0b95261628f9f2d","signing_profile":"production_developer_id","size":746848},{"architecture":"arm64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"zlib.so","role":"runtime_library","sha256":"88fe3866a38e7e4732a36ddbddb9dd16619b32374054e85c01b6a07b9dfd1a45","signing_profile":"production_developer_id","size":92896}],"kind":"standalone_bundle","minimum_macos":"14.0","path":"runtime/darwin-arm64/agent-collab-runtime.bundle","platform":"darwin","provider_runtime_version":"5.0.8","sha256":"83d2ebcbc4b8cab2ce18188329d2b229ea373323eb8331f2113eb45bea327e1d","signing":{"hardened_runtime":true,"identity":"Developer ID Application: OSUMI CONSULTING LLC (36UFP9KY4T)","mode":"developer_id","require_notarization":true,"secure_timestamp":true,"team_id":"36UFP9KY4T"},"size":19636016,"wire_contract_sha256":"a675807e0ff5f0544d7cc9d659914ce2dadac9be8efd0fb56635815e5c3e842a"},{"arch":"x86_64","entrypoint":"agent-collab-runtime","files":[{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_blake2.so","role":"runtime_library","sha256":"c4bac353158c3859a760d6af747abf08b0350fe305bee2fcfc8432ec4494815a","signing_profile":"production_developer_id","size":60944},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_bz2.so","role":"runtime_library","sha256":"35b04e1609496326dc0e685c187ccc2f581d1cec0a2561c963b27b2d596c0d78","signing_profile":"production_developer_id","size":44256},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_cn.so","role":"runtime_library","sha256":"05593a4c78f3cfc1f9af341daccfdc49d7fc0473fcfaa746a75fa37cb9be0c63","signing_profile":"production_developer_id","size":165584},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_hk.so","role":"runtime_library","sha256":"b0ab6bf403b7a8596705b5f24367edc7d3979c46d3bdc1791ebf050a4d04323f","signing_profile":"production_developer_id","size":173904},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_iso2022.so","role":"runtime_library","sha256":"5e8bb483f06071a40a33e85424921ede109707163e258e3d6267a3f987e4b6ee","signing_profile":"production_developer_id","size":43392},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_jp.so","role":"runtime_library","sha256":"294fa43e1d94db474100cccc4befd8c4a82f153b060234ed5d72acb16d31070c","signing_profile":"production_developer_id","size":273856},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_kr.so","role":"runtime_library","sha256":"a96538f7c72cd6b7bdc077fb569fb032c9bdf5e298b7b64f330cfea7b1a0262e","signing_profile":"production_developer_id","size":153280},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_codecs_tw.so","role":"runtime_library","sha256":"99a0e54f2e0e0acb4669706908c50b14fbe28c7f695fb8807deff8f1a29fd004","signing_profile":"production_developer_id","size":132144},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_contextvars.so","role":"runtime_library","sha256":"3743e13b82ea65fc931852b7b0fe583b403def68bde6ff68ef4bc91f56d48fbf","signing_profile":"production_developer_id","size":31712},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_ctypes.so","role":"runtime_library","sha256":"111f36818ec5d1d79db5034778c21df79d3d1286cca486b8e0f9c3e32cb1cfa8","signing_profile":"production_developer_id","size":148640},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_datetime.so","role":"runtime_library","sha256":"1659dce8969055a4310c51adf179554608283e89744c7510e32018b269f073ad","signing_profile":"production_developer_id","size":122768},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_decimal.so","role":"runtime_library","sha256":"a29c1edbb09a8b3bee1db604e8ff3d62ec93c7063822e2dffd4e7c6890babf6e","signing_profile":"production_developer_id","size":347632},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_heapq.so","role":"runtime_library","sha256":"99c75db662facaaf5264b6bad7b25aca8e7d3a9311497a956f7897bd6d3dc95a","signing_profile":"production_developer_id","size":41120},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_lzma.so","role":"runtime_library","sha256":"c5b640974be3b80afa689764fc736da52f41533681227c96ffc1e9d4af4f2dba","signing_profile":"production_developer_id","size":55552},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_md5.so","role":"runtime_library","sha256":"66e3ed7d75c59d37efbbb553ea465f824499d173a7cfb25eb0359a95f423b154","signing_profile":"production_developer_id","size":43136},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_multibytecodec.so","role":"runtime_library","sha256":"d5132484ab416dafb43696b23a70baced57347349fda473328e91b50d0d3adb0","signing_profile":"production_developer_id","size":63456},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_multiprocessing.so","role":"runtime_library","sha256":"a8bdba8b814d03fdac35d3ed99c1af81d1bb463bb8814429b229414a7162e910","signing_profile":"production_developer_id","size":40768},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_opcode.so","role":"runtime_library","sha256":"65d36002350fdfba98407be3b3050c0e3a277cef5ae89fcab609b9f86af045ea","signing_profile":"production_developer_id","size":43872},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_pickle.so","role":"runtime_library","sha256":"2d636bd9d94fb37b1b707952ed10bc2832428921b03858d32b1a94e91fab5ce5","signing_profile":"production_developer_id","size":136096},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_posixshmem.so","role":"runtime_library","sha256":"1325876f5764b1d6539d80fdef253c9504eeaaa7830eafc0f3c03b5743095ff6","signing_profile":"production_developer_id","size":32544},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_posixsubprocess.so","role":"runtime_library","sha256":"ff677ceaacbe4b0bde7d89b4fdc0fe7c2f877204e23917786d756e7327499888","signing_profile":"production_developer_id","size":43952},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_queue.so","role":"runtime_library","sha256":"0d991e2184903e5a8db9a10ccc69937ecf6fe99e1a8a80a5a206f7adff043a70","signing_profile":"production_developer_id","size":39136},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_random.so","role":"runtime_library","sha256":"f5938ea5b6fdfd8dfbf45e694c0b456c54146ec4232b4cacefb5e7cd3f629e59","signing_profile":"production_developer_id","size":38944},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_scproxy.so","role":"runtime_library","sha256":"a910f0500de7f495ded0f12141eb8093c1792bf3df77c2d1ec56f2cc3c5de18f","signing_profile":"production_developer_id","size":34368},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha1.so","role":"runtime_library","sha256":"ec3ab7a930ae3108bf585f9dbcebcea397c96608fe01cbf838a6dff7fc10f6fc","signing_profile":"production_developer_id","size":39024},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha2.so","role":"runtime_library","sha256":"48768f2fac9b3d25986f5d1df9e557a2ead4e4ce62bc52c0456ba37e2e262462","signing_profile":"production_developer_id","size":78992},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sha3.so","role":"runtime_library","sha256":"bb4fc819d69ab02c0507cbe3eb761655edd6ab908a994bc7f063481e7b7fa23d","signing_profile":"production_developer_id","size":53632},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_socket.so","role":"runtime_library","sha256":"61ad945cdba579295105bf89c020718e78e8b4efbb51aaff0d21708abe040a3c","signing_profile":"production_developer_id","size":104096},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_sqlite3.so","role":"runtime_library","sha256":"d04160da46f3b7a77dad24bb9e670de5c71df3c0fe23206f1bae604592157178","signing_profile":"production_developer_id","size":137312},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_statistics.so","role":"runtime_library","sha256":"6f6e00e0946ac8e4cc953d9b48eb0e3f4dcd5c30500ab0008a1da8972a28c876","signing_profile":"production_developer_id","size":31840},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_struct.so","role":"runtime_library","sha256":"e440787b0bc213d930d1dcbb2a777ce0e31d727fc27b697359ab870829d48781","signing_profile":"production_developer_id","size":62144},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"_uuid.so","role":"runtime_library","sha256":"54e9fc2112034b5662512fd552bfc081d77d130ec895fec9746303ec23f99b6b","signing_profile":"production_developer_id","size":31664},{"architecture":"x86_64","install_mode":320,"macho_type":"executable","minimum_macos":"14.0","path":"agent-collab-runtime","role":"entrypoint","sha256":"90ede60d4ff4c5c35b981e715ec4cbb6d95b11f37fdf6142e7f1343893597c8e","signing_profile":"production_developer_id","size":9344896},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"array.so","role":"runtime_library","sha256":"bbe6081635cfed7cde948e0f2ec9633d3c4957a5d2080dd631527e2d474d1fc7","signing_profile":"production_developer_id","size":77216},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"binascii.so","role":"runtime_library","sha256":"7464372b065656fffc63d7879ef07ab63ac475cefb9575b58e905a9ecf3f04b1","signing_profile":"production_developer_id","size":51920},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"fcntl.so","role":"runtime_library","sha256":"febf0ae7e9a94317bce838b03af437dc9df0d33b677a90da3e9b6394c956a5fb","signing_profile":"production_developer_id","size":41760},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"grp.so","role":"runtime_library","sha256":"799ba0a420ef1d75c75e286c2b3d238ed15a9722e3cdf6d329879af8bb6f0fd6","signing_profile":"production_developer_id","size":38288},{"architecture":"x86_64","install_mode":320,"macho_type":"dylib","minimum_macos":"14.0","path":"libpython3.13.dylib","role":"runtime_library","sha256":"91fbdb8429e93567883ac007cc16dd6835855bc6575c5cd21d389f1d06ffa3bb","signing_profile":"production_developer_id","size":4959200},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"math.so","role":"runtime_library","sha256":"e2686587e5eee486b7635dbe3bbd2c6f8fd266b381a1395b7011e7277d1c4838","signing_profile":"production_developer_id","size":87104},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"mmap.so","role":"runtime_library","sha256":"8206f92906e51d8c134efecbe79015b0fa1d89e9dfd59998551970fb8f03d9a4","signing_profile":"production_developer_id","size":49312},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"pyexpat.so","role":"runtime_library","sha256":"132def07c2a98a5d44d6c4a8ac2b714e2c1487f190c027b9261d830b94c576f7","signing_profile":"production_developer_id","size":260688},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"select.so","role":"runtime_library","sha256":"02d28336a52caac3617d9fab7277004b688bdb55b15382dc9a5a369afbe998f6","signing_profile":"production_developer_id","size":55504},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"termios.so","role":"runtime_library","sha256":"1a38de66a5c66618e4a82fb732dd8d09e6b99b364c80cb81b0968627541f78dc","signing_profile":"production_developer_id","size":43136},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"unicodedata.so","role":"runtime_library","sha256":"2c37f8fe5f332dafdc5933e58b27f3cd3bf934e2f4556a6dbc5239f4a4388b31","signing_profile":"production_developer_id","size":722256},{"architecture":"x86_64","install_mode":320,"macho_type":"bundle","minimum_macos":"14.0","path":"zlib.so","role":"runtime_library","sha256":"a67ae3abaceef9b47c4c6e17b11e882760a7b52fcfcbe5b6e51d211070bb6e8a","signing_profile":"production_developer_id","size":64512}],"kind":"standalone_bundle","minimum_macos":"14.0","path":"runtime/darwin-x86_64/agent-collab-runtime.bundle","platform":"darwin","provider_runtime_version":"5.0.8","sha256":"02fcfac614da017805b6fa157cd1e1a2fb8de4d2bfc4789539e841cafe9b787e","signing":{"hardened_runtime":true,"identity":"Developer ID Application: OSUMI CONSULTING LLC (36UFP9KY4T)","mode":"developer_id","require_notarization":true,"secure_timestamp":true,"team_id":"36UFP9KY4T"},"size":18645552,"wire_contract_sha256":"a675807e0ff5f0544d7cc9d659914ce2dadac9be8efd0fb56635815e5c3e842a"}],"channel":"production","contract_version":4,"protocol_version":5,"schema_version":4,"wire_contract":{"$defs":{"amount":{"additionalProperties":false,"properties":{"amount":{"minimum":0,"type":"number"},"unit":{"minLength":1,"type":"string"}},"required":["amount","unit"],"type":"object"},"work_unit":{"additionalProperties":false,"properties":{"capability":{"enum":["architecture.conceptual","architecture.repository","codegen.repository","context.documents.extract","context.documents.intent","context.documents.reason","context.repository.extract","context.repository.reason","frontend_codegen.repository","frontend_review.repository","governance.repository","review.repository"],"type":"string"},"context_size_estimate":{"description":"caller-estimated input tokens","minimum":0,"type":"integer"},"depends_on":{"items":{"maxLength":128,"minLength":1,"type":"string"},"maxItems":128,"type":"array"},"explicit_target":{"pattern":"^[a-z][a-z0-9_]{0,127}$","type":"string"},"id":{"maxLength":128,"minLength":1,"type":"string"},"native_restrictions":{"type":"object"},"output_size_estimate":{"description":"caller-estimated output tokens","minimum":0,"type":"integer"},"payload":{},"payload_ref":{"maxLength":128,"minLength":1,"type":"string"}},"required":["id","capability","depends_on"],"type":"object"}},"content_frame":{"additionalProperties":true,"properties":{"content":{"minLength":1,"type":"string"},"content_encoding":{"enum":["utf-8","base64"]},"content_kind":{"enum":["explicit final","recovered deltas"]},"content_truncated":{"type":"boolean"},"frame_type":{"const":"content"},"request_id":{"maxLength":128,"minLength":1,"type":"string"},"sequence":{"minimum":0,"type":"integer"},"work_unit_id":{"maxLength":128,"minLength":1,"type":"string"}},"required":["frame_type","request_id","work_unit_id","sequence","content","content_kind","content_encoding","content_truncated"],"type":"object"},"logical_action_timeout_modes":{"architecture.conceptual":"admitted_progress_inactivity","architecture.repository":"admitted_progress_inactivity","codegen.repository":"admitted_progress_inactivity","context.documents.extract":"admitted_progress_inactivity","context.documents.intent":"admitted_progress_inactivity","context.documents.reason":"admitted_progress_inactivity","context.repository.extract":"admitted_progress_inactivity","context.repository.reason":"admitted_progress_inactivity","frontend_codegen.repository":"admitted_progress_inactivity","frontend_review.repository":"admitted_progress_inactivity","governance.repository":"admitted_progress_inactivity","review.repository":"admitted_progress_inactivity"},"logical_actions":["architecture.conceptual","architecture.repository","codegen.repository","context.documents.extract","context.documents.intent","context.documents.reason","context.repository.extract","context.repository.reason","frontend_codegen.repository","frontend_review.repository","governance.repository","review.repository"],"logical_agents":["alibaba","claude","codex","deepseek","gemini","grok","moonshot","zhipu"],"routing_request":{"additionalProperties":false,"properties":{"budget_limit":{"$ref":"#/$defs/amount"},"deadline_ms":{"maximum":86400000,"minimum":0,"type":"integer"},"dispatch_requested":{"type":"boolean"},"effort_class":{"enum":["maximum","minimal","standard"],"type":"string"},"latency_value":{"$ref":"#/$defs/amount"},"max_parallel":{"maximum":128,"minimum":1,"type":"integer"},"quality_profile":{"enum":["economical","frontier","standard"],"type":"string"},"request_id":{"maxLength":128,"minLength":1,"type":"string"},"wire_contract_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"work_units":{"items":{"$ref":"#/$defs/work_unit"},"maxItems":128,"minItems":1,"type":"array"}},"required":["wire_contract_sha256","request_id","quality_profile","effort_class","max_parallel","dispatch_requested","work_units"],"type":"object"},"routing_source_sha256":"160d0453547447dd7279840ead0542843cfd7f60e547d89ac9e718e2f22d8ec1","runtime_protocol_version":5,"schema_version":12,"terminal_planning_record":{"additionalProperties":true,"properties":{"aggregate":{"type":"object"},"decisions":{"type":"array"},"frame_type":{"const":"terminal"},"request_id":{"maxLength":128,"minLength":1,"type":"string"},"waves":{"type":"array"}},"required":["frame_type","request_id","decisions","waves","aggregate"],"type":"object"}},"wire_contract_sha256":"a675807e0ff5f0544d7cc9d659914ce2dadac9be8efd0fb56635815e5c3e842a"} diff --git a/plugins/agent-collab/runtime-manifest.schema.json b/plugins/agent-collab/runtime-manifest.schema.json index 7aff68c2..5f46424d 100644 --- a/plugins/agent-collab/runtime-manifest.schema.json +++ b/plugins/agent-collab/runtime-manifest.schema.json @@ -169,7 +169,7 @@ "entrypoint": {"const": "agent-collab-runtime"}, "size": {"type": "integer", "minimum": 1, "maximum": 67108864}, "sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}, - "provider_runtime_version": {"const": "5.0.7"}, + "provider_runtime_version": {"const": "5.0.8"}, "wire_contract_sha256": {"const": "a675807e0ff5f0544d7cc9d659914ce2dadac9be8efd0fb56635815e5c3e842a"}, "files": { "type": "array", diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_blake2.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_blake2.so index 8d4be73f..76129182 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_blake2.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_blake2.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_bz2.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_bz2.so index 20950bfb..9255aa57 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_bz2.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_bz2.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_cn.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_cn.so index c3069c84..0f96c4a4 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_cn.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_cn.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_hk.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_hk.so index 7718114c..ecf2aa9d 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_hk.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_hk.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_iso2022.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_iso2022.so index d27189e6..63e84bb8 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_iso2022.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_iso2022.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_jp.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_jp.so index b51261c9..765464a6 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_jp.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_jp.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_kr.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_kr.so index 317cc47f..9261b375 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_kr.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_kr.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_tw.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_tw.so index b01195a7..6857f247 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_tw.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_codecs_tw.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_contextvars.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_contextvars.so index c7032cbf..0a9032a6 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_contextvars.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_contextvars.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_ctypes.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_ctypes.so index da75d9c1..1d34a796 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_ctypes.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_ctypes.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_datetime.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_datetime.so index 1ac41761..27c518b3 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_datetime.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_datetime.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_decimal.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_decimal.so index a34ba4a0..8285be61 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_decimal.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_decimal.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_heapq.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_heapq.so index a00c1a05..ede0e1d3 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_heapq.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_heapq.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_lzma.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_lzma.so index 0a29352c..2974289a 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_lzma.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_lzma.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_md5.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_md5.so index a502e632..95c8ab7b 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_md5.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_md5.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_multibytecodec.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_multibytecodec.so index 8900d935..eaaddfa3 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_multibytecodec.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_multibytecodec.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_multiprocessing.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_multiprocessing.so index 753520a0..28fd14eb 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_multiprocessing.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_multiprocessing.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_opcode.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_opcode.so index 985de612..88af9715 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_opcode.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_opcode.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_pickle.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_pickle.so index e308c7ef..7f00e998 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_pickle.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_pickle.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_posixshmem.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_posixshmem.so index 579b394d..8f901619 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_posixshmem.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_posixshmem.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_posixsubprocess.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_posixsubprocess.so index 6ea9e4d5..ba46a889 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_posixsubprocess.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_posixsubprocess.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_queue.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_queue.so index adfbaeff..6ba08547 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_queue.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_queue.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_random.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_random.so index 0bdc9cd4..74a7b46c 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_random.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_random.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_scproxy.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_scproxy.so new file mode 100755 index 00000000..f33b9f3a Binary files /dev/null and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_scproxy.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha1.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha1.so index 3f1ccb84..56a90ac7 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha1.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha1.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha2.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha2.so index 4f56f4db..80629794 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha2.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha2.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha3.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha3.so index d8a531dc..6c55538c 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha3.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sha3.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_socket.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_socket.so index 310a8244..405854ea 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_socket.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_socket.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sqlite3.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sqlite3.so new file mode 100755 index 00000000..80f55137 Binary files /dev/null and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_sqlite3.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_statistics.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_statistics.so index a7857636..69476512 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_statistics.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_statistics.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_struct.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_struct.so index 1d4157cb..0ea97f53 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_struct.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_struct.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_uuid.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_uuid.so new file mode 100755 index 00000000..a4cc8db3 Binary files /dev/null and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/_uuid.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/agent-collab-runtime b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/agent-collab-runtime index b1ff0051..35ca034a 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/agent-collab-runtime and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/agent-collab-runtime differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/array.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/array.so index 07a2cc02..e0de3d8e 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/array.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/array.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/binascii.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/binascii.so index 408f7c25..14bb3eda 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/binascii.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/binascii.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/fcntl.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/fcntl.so index 82c4b641..dbd0cdbf 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/fcntl.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/fcntl.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/grp.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/grp.so index 18072c71..68ca0133 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/grp.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/grp.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/libpython3.13.dylib b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/libpython3.13.dylib index 05163057..55b26eea 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/libpython3.13.dylib and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/libpython3.13.dylib differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/math.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/math.so index 5a5fa521..7cc64c26 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/math.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/math.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/mmap.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/mmap.so index 659fd78b..390205f0 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/mmap.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/mmap.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/pyexpat.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/pyexpat.so index 96b383f2..3d580e60 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/pyexpat.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/pyexpat.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/select.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/select.so index 43cc6832..ef8974e9 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/select.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/select.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/termios.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/termios.so index c818dd28..77b1acd2 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/termios.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/termios.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/unicodedata.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/unicodedata.so index 9acb2167..4764e40e 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/unicodedata.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/unicodedata.so differ diff --git a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/zlib.so b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/zlib.so index 42e75b60..f1f2e0d6 100755 Binary files a/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/zlib.so and b/plugins/agent-collab/runtime/darwin-arm64/agent-collab-runtime.bundle/zlib.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_blake2.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_blake2.so index 932cdce1..33d0f547 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_blake2.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_blake2.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_bz2.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_bz2.so index 2d7f65b7..515fae77 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_bz2.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_bz2.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_cn.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_cn.so index 97e18cd5..2908b150 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_cn.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_cn.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_hk.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_hk.so index 6917f155..21508c9c 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_hk.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_hk.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_iso2022.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_iso2022.so index 78897071..9cbd2dd8 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_iso2022.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_iso2022.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_jp.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_jp.so index 9869f7a3..7a695ae5 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_jp.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_jp.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_kr.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_kr.so index 2df25fed..fbb0e9e4 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_kr.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_kr.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_tw.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_tw.so index 5504ace6..94a1f0ce 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_tw.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_codecs_tw.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_contextvars.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_contextvars.so index fdadf501..9089e444 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_contextvars.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_contextvars.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_ctypes.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_ctypes.so index 30bc254c..5c8ad811 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_ctypes.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_ctypes.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_datetime.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_datetime.so index 81729d19..a4920b6a 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_datetime.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_datetime.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_decimal.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_decimal.so index dc6390be..7be7c932 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_decimal.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_decimal.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_heapq.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_heapq.so index 4e2a7706..9c526d12 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_heapq.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_heapq.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_lzma.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_lzma.so index 02da4435..653b0a4c 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_lzma.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_lzma.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_md5.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_md5.so index 20d188b3..eec2048f 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_md5.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_md5.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_multibytecodec.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_multibytecodec.so index b79a897a..dbda632e 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_multibytecodec.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_multibytecodec.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_multiprocessing.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_multiprocessing.so index 9a4ddea4..8293e97f 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_multiprocessing.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_multiprocessing.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_opcode.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_opcode.so index fccb5fd2..8bb1aefd 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_opcode.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_opcode.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_pickle.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_pickle.so index 8a4c5b0a..9d940e9c 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_pickle.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_pickle.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_posixshmem.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_posixshmem.so index 90be7fdd..7bc5afff 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_posixshmem.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_posixshmem.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_posixsubprocess.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_posixsubprocess.so index 9613a8b0..ebce575e 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_posixsubprocess.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_posixsubprocess.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_queue.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_queue.so index 35c31b93..a2f19a44 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_queue.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_queue.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_random.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_random.so index f58a7dfa..490b75f8 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_random.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_random.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_scproxy.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_scproxy.so new file mode 100755 index 00000000..dd31634c Binary files /dev/null and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_scproxy.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha1.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha1.so index c15ce99b..05194a3e 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha1.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha1.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha2.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha2.so index 65b55f61..deaa6bd9 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha2.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha2.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha3.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha3.so index fc524df0..e9368570 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha3.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sha3.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_socket.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_socket.so index a5da484d..f038f48c 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_socket.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_socket.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sqlite3.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sqlite3.so new file mode 100755 index 00000000..5d173d9f Binary files /dev/null and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_sqlite3.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_statistics.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_statistics.so index d5a959ee..5dcdd1ad 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_statistics.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_statistics.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_struct.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_struct.so index dda7264d..c6378474 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_struct.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_struct.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_uuid.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_uuid.so new file mode 100755 index 00000000..cd848816 Binary files /dev/null and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/_uuid.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/agent-collab-runtime b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/agent-collab-runtime index 98e7242e..619dc8a7 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/agent-collab-runtime and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/agent-collab-runtime differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/array.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/array.so index bbaa5999..3f545bff 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/array.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/array.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/binascii.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/binascii.so index 869d4e6c..97634a20 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/binascii.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/binascii.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/fcntl.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/fcntl.so index 974ffffe..4056bf79 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/fcntl.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/fcntl.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/grp.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/grp.so index 631774ff..40475205 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/grp.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/grp.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/libpython3.13.dylib b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/libpython3.13.dylib index 03b66d97..c68c99f4 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/libpython3.13.dylib and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/libpython3.13.dylib differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/math.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/math.so index 5243bddf..279de697 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/math.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/math.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/mmap.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/mmap.so index c79ae486..22cec0c8 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/mmap.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/mmap.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/pyexpat.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/pyexpat.so index 5bf18bcd..1722ee8e 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/pyexpat.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/pyexpat.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/select.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/select.so index 77d60154..2f80250b 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/select.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/select.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/termios.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/termios.so index 57de49be..39e2427b 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/termios.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/termios.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/unicodedata.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/unicodedata.so index 7b1a0b4d..f27a5f26 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/unicodedata.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/unicodedata.so differ diff --git a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/zlib.so b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/zlib.so index ef76b46d..d1d5001f 100755 Binary files a/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/zlib.so and b/plugins/agent-collab/runtime/darwin-x86_64/agent-collab-runtime.bundle/zlib.so differ diff --git a/plugins/agent-collab/runtime_client.py b/plugins/agent-collab/runtime_client.py index 100c3646..a304c72d 100644 --- a/plugins/agent-collab/runtime_client.py +++ b/plugins/agent-collab/runtime_client.py @@ -34,7 +34,7 @@ MANIFEST_SCHEMA_VERSION = 4 PROTOCOL_VERSION = 5 CONTRACT_VERSION = 4 -PROVIDER_RUNTIME_VERSION = "5.0.7" +PROVIDER_RUNTIME_VERSION = "5.0.8" MAX_MANIFEST_BYTES = 1024 * 1024 MAX_REQUEST_BYTES = 48 * 1024 * 1024 MAX_RESPONSE_BYTES = 4 * 1024 * 1024 @@ -827,13 +827,20 @@ class _PrivateTmpCleanupError(RuntimeError): def _scrubbed_env(tmpdir: Path) -> dict[str, str]: + # Resolve accounts only after the native platform has been admitted. The + # client still imports and reports typed unavailability on other hosts. + import pwd + env = { + # Native login state belongs to the OS account, not a caller's scratch + # HOME. Keep request artifacts under TMPDIR without relocating profiles. + "HOME": pwd.getpwuid(os.getuid()).pw_dir, "PATH": os.environ.get("PATH") or "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin", "TMPDIR": str(tmpdir), "LANG": os.environ.get("LANG", "en_US.UTF-8"), "LC_ALL": os.environ.get("LC_ALL", "en_US.UTF-8"), } - for name in ("HOME", "USER", "LOGNAME", "SHELL"): + for name in ("USER", "LOGNAME", "SHELL", "SSH_CONNECTION", "SSH_CLIENT", "SSH_TTY"): value = os.environ.get(name) if value: env[name] = value diff --git a/plugins/agent-collab/skills/agent-readiness/SKILL.md b/plugins/agent-collab/skills/agent-readiness/SKILL.md index ca04f6d0..4a959775 100644 --- a/plugins/agent-collab/skills/agent-readiness/SKILL.md +++ b/plugins/agent-collab/skills/agent-readiness/SKILL.md @@ -1,6 +1,6 @@ --- name: agent-readiness -version: 7.0.6 +version: 7.0.7 description: Evaluate whether an agent, model, CLI, plugin, or role is ready for a proposed responsibility. Use when the user says "agent readiness," "is this agent ready," "can Codex be primary," "can Grok handle this role," "promote this agent," "evaluate this worker," "review model readiness," or "/agent-collab:agent-readiness." Also offer this proactively before assigning a new primary, reviewer, worker, delegate, headless, release, or merge-related role to Claude, Codex, Antigravity/Gemini, Grok, or a future agent. --- diff --git a/plugins/agent-collab/skills/agent-runtime-status/SKILL.md b/plugins/agent-collab/skills/agent-runtime-status/SKILL.md index a848af9d..b1a6dabd 100644 --- a/plugins/agent-collab/skills/agent-runtime-status/SKILL.md +++ b/plugins/agent-collab/skills/agent-runtime-status/SKILL.md @@ -1,6 +1,6 @@ --- name: agent-runtime-status -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum @@ -10,8 +10,8 @@ description: Use when the user says "agent runtime status," "check agent runtime ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Agent runtime status diff --git a/plugins/agent-collab/skills/ai-writing-auditor/SKILL.md b/plugins/agent-collab/skills/ai-writing-auditor/SKILL.md index 5edb4584..343fafda 100644 --- a/plugins/agent-collab/skills/ai-writing-auditor/SKILL.md +++ b/plugins/agent-collab/skills/ai-writing-auditor/SKILL.md @@ -1,6 +1,6 @@ --- name: ai-writing-auditor -version: 7.0.6 +version: 7.0.7 description: Audits prose for the tells of machine-generated writing and rewrites it to read as if a careful human wrote it, without softening the actual content. Use when the user says "de-AI this text", "audit this writing for AI patterns", "make this read human", or "/agent-collab:ai-writing-auditor." Also offer this proactively when a piece of customer-facing or published prose is dense with the stock phrasing and mechanical structure typical of unedited model output. --- diff --git a/plugins/agent-collab/skills/architect/SKILL.md b/plugins/agent-collab/skills/architect/SKILL.md index 6bab1405..967f0b02 100644 --- a/plugins/agent-collab/skills/architect/SKILL.md +++ b/plugins/agent-collab/skills/architect/SKILL.md @@ -1,13 +1,13 @@ --- name: architect -version: 7.0.6 +version: 7.0.7 description: Request read-only architecture consultation for codebase analysis, system design, implementation planning, decomposition, or long-horizon strategy. Use when the user says "ask the architect," "have Grok design this," "architecture consultation," "plan this implementation," or "/agent-collab:architect." Also offer this before a substantial multi-system implementation where an additional architecture pass can reduce rework. --- ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Architecture consultation diff --git a/plugins/agent-collab/skills/architecture-review/SKILL.md b/plugins/agent-collab/skills/architecture-review/SKILL.md index d45fae78..fb349a99 100644 --- a/plugins/agent-collab/skills/architecture-review/SKILL.md +++ b/plugins/agent-collab/skills/architecture-review/SKILL.md @@ -1,6 +1,6 @@ --- name: architecture-review -version: 7.0.6 +version: 7.0.7 description: Self-executed sweep of a codebase for module-deepening opportunities — shallow interfaces, scattered locality, untestable seams — presented as a visual report the user picks a candidate from, then explored interactively. Unlike `architect` (routed consultation) and `code-review` (diff review), this skill is run by the active primary on the whole codebase. Use when the user says "architecture review," "find deepening opportunities," "where is this codebase getting muddy," "improve the architecture," or "/agent-collab:architecture-review." Also offer this proactively when repeated friction in a working session traces to shallow modules — bouncing between many files to follow one concept, or tests that cannot reach behavior through the current interfaces. --- diff --git a/plugins/agent-collab/skills/autonomy-readiness/SKILL.md b/plugins/agent-collab/skills/autonomy-readiness/SKILL.md index ea77225f..d1cd8bfa 100644 --- a/plugins/agent-collab/skills/autonomy-readiness/SKILL.md +++ b/plugins/agent-collab/skills/autonomy-readiness/SKILL.md @@ -1,6 +1,6 @@ --- name: autonomy-readiness -version: 7.0.6 +version: 7.0.7 description: Evaluate whether an autonomous, always-on, scheduled, headless, or self-evolving workflow is ready to run safely. Use when the user says "autonomy readiness," "activation gate review," "is this workflow ready to run autonomously," "go/no-go autonomy," "always-on readiness," "headless operation review," or "/agent-collab:autonomy-readiness." Also offer this proactively before enabling background agents, recurring automations, auto-merge/self-evolution, external actions, unattended host runs, or any workflow that can continue without a human watching. --- diff --git a/plugins/agent-collab/skills/brainstorm/SKILL.md b/plugins/agent-collab/skills/brainstorm/SKILL.md index 75b056e7..1a632074 100644 --- a/plugins/agent-collab/skills/brainstorm/SKILL.md +++ b/plugins/agent-collab/skills/brainstorm/SKILL.md @@ -1,6 +1,6 @@ --- name: brainstorm -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: economical effort_class: minimal @@ -10,8 +10,8 @@ description: Use the reviewer as a divergent-thinking partner to widen the optio ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Brainstorm — divergent ideation with a selected partner diff --git a/plugins/agent-collab/skills/chain-configurator/SKILL.md b/plugins/agent-collab/skills/chain-configurator/SKILL.md index d2fc1037..efa08c4f 100644 --- a/plugins/agent-collab/skills/chain-configurator/SKILL.md +++ b/plugins/agent-collab/skills/chain-configurator/SKILL.md @@ -1,6 +1,6 @@ --- name: chain-configurator -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: standard effort_class: standard diff --git a/plugins/agent-collab/skills/chain/SKILL.md b/plugins/agent-collab/skills/chain/SKILL.md index 33ef1e56..cccffe7d 100644 --- a/plugins/agent-collab/skills/chain/SKILL.md +++ b/plugins/agent-collab/skills/chain/SKILL.md @@ -1,6 +1,6 @@ --- name: chain -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: standard effort_class: standard @@ -80,6 +80,9 @@ OpenAI, xAI, Zhipu, and unknown lineage, excludes both immutable primary and artifact-author families, and fails closed for unknown governance provenance. The YAML does not expose a `verifier_family` override; reject one rather than honoring a caller assertion. +Route exclusions alone do not establish response identity or all-contributor +independence. The caller verifies those facts rather than claiming changed +chain execution. This mirrors the orchestrator's Router rule and the verifier-independence block in `second-opinion`, `code-review`, etc. Bypassing it produces an audit log entry that reads as cross-checking but is structurally one-family. diff --git a/plugins/agent-collab/skills/code-review/SKILL.md b/plugins/agent-collab/skills/code-review/SKILL.md index f63cb391..c0cafdc6 100644 --- a/plugins/agent-collab/skills/code-review/SKILL.md +++ b/plugins/agent-collab/skills/code-review/SKILL.md @@ -1,6 +1,6 @@ --- name: code-review -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum @@ -10,8 +10,9 @@ description: Send a code diff, pull request, file, or directory to the reviewer ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +When a completed or terminated read-only review or governance attempt definitively produced no substantive result and no uncertain external mutation, retain that failed attempt as evidence. The caller may then issue at most one new corrected request as a new work unit after fixing a demonstrated setup defect with already authorized context and tools, such as inlining an inaccessible external plan or using an already available interpreter. Keep the same source hash, provider, and known-distinct reviewer requirements, and the original identical authorized scope. The allowance is one correction total per original request across all descendant work units; a corrected work unit cannot issue another correction or reset the allowance. Retain the original-request identity and both attempts in the caller's trace. Do not copy login profiles or expand permissions. This is not a replay, retry, or failover of the consumed work unit, not a runtime automatic retry, and not a provider switch to evade findings. Do not use it to repair formatting or missing lineage, or when failure is unproven or a native mutation is ambiguous. If findings or usable partial content exist, interpret them instead. Native one-process completion remains separate. # Code review — critique of a code artifact @@ -43,28 +44,39 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. ## Procedure @@ -129,7 +141,7 @@ review instructions. First determine whether the task or applicable workflow requires independent approval, or only an ordinary advisory code review. Prefer an eligible reviewer -whose known lineage differs from the primary and artifact author when available. +whose known lineage differs from the primary and every contributing artifact author when available. Do not make Grok, Codex, or any other absent provider mandatory, and do not keep attempting a provider already observed to be unavailable. @@ -153,7 +165,10 @@ and verifies the exact repository head, supplies the bounded review prompt as opaque payload, rechecks the head before using the response, and records the observed reviewer lineage and the result's advisory or independent status. Preserve the single-attempt, no-replay contract; selecting an advisory mode does -not authorize replay of a consumed provider attempt. +not authorize replay of a consumed provider attempt. The one exception is the +bounded caller fresh-review allowance in this skill's Unified runtime invocation +and Public repository governance: a new work unit, never a replay of the +consumed attempt. Use this prompt template for review content. Provider formatting is not an output contract; the caller reasons over the complete raw response: diff --git a/plugins/agent-collab/skills/compose-skills/SKILL.md b/plugins/agent-collab/skills/compose-skills/SKILL.md index a0902112..7e558c05 100644 --- a/plugins/agent-collab/skills/compose-skills/SKILL.md +++ b/plugins/agent-collab/skills/compose-skills/SKILL.md @@ -1,6 +1,6 @@ --- name: compose-skills -version: 7.0.6 +version: 7.0.7 description: Use when the user says "compose skills," "which skills should I use," "select a recipe," "combine these skills," or "/agent-collab:compose-skills." Also offer this when a task needs multiple lenses and benefits from explicit context, fan-out, authority, and stop-condition limits. --- diff --git a/plugins/agent-collab/skills/context/SKILL.md b/plugins/agent-collab/skills/context/SKILL.md index c21ed9d4..689ee3f9 100644 --- a/plugins/agent-collab/skills/context/SKILL.md +++ b/plugins/agent-collab/skills/context/SKILL.md @@ -1,6 +1,6 @@ --- name: context -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum @@ -10,8 +10,8 @@ description: Use when the user says "summarize these documents," "extract this c ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Source-grounded context diff --git a/plugins/agent-collab/skills/data-engineer/SKILL.md b/plugins/agent-collab/skills/data-engineer/SKILL.md index afa532c0..f2220753 100644 --- a/plugins/agent-collab/skills/data-engineer/SKILL.md +++ b/plugins/agent-collab/skills/data-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: data-engineer -version: 7.0.6 +version: 7.0.7 description: Builds and hardens the pipelines and warehouse structures that move data from source systems to the people and systems that consume it. Use when the user says "build the ETL pipeline", "design the dbt models", "orchestrate this pipeline", or "design the warehouse schema", or "/agent-collab:data-engineer." Also offer this proactively when a pipeline lacks idempotency, has no data-quality checks, or moves data through undocumented schema contracts. --- diff --git a/plugins/agent-collab/skills/debate/SKILL.md b/plugins/agent-collab/skills/debate/SKILL.md index 1525d99f..fe8af0b3 100644 --- a/plugins/agent-collab/skills/debate/SKILL.md +++ b/plugins/agent-collab/skills/debate/SKILL.md @@ -1,6 +1,6 @@ --- name: debate -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum @@ -10,8 +10,9 @@ description: Stage a structured multi-round adversarial debate between the activ ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +When a completed or terminated read-only review or governance attempt definitively produced no substantive result and no uncertain external mutation, retain that failed attempt as evidence. The caller may then issue at most one new corrected request as a new work unit after fixing a demonstrated setup defect with already authorized context and tools, such as inlining an inaccessible external plan or using an already available interpreter. Keep the same source hash, provider, and known-distinct reviewer requirements, and the original identical authorized scope. The allowance is one correction total per original request across all descendant work units; a corrected work unit cannot issue another correction or reset the allowance. Retain the original-request identity and both attempts in the caller's trace. Do not copy login profiles or expand permissions. This is not a replay, retry, or failover of the consumed work unit, not a runtime automatic retry, and not a provider switch to evade findings. Do not use it to repair formatting or missing lineage, or when failure is unproven or a native mutation is ambiguous. If findings or usable partial content exist, interpret them instead. Native one-process completion remains separate. # Debate — structured adversarial advocacy with synthesis @@ -43,30 +44,46 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Frame the proposition @@ -97,7 +114,7 @@ State the assignment clearly to the user before starting: "the active primary wi **the active primary's opening:** Write the strongest case for the active primary's assigned side. Not a hedge, not "on balance" — the *strongest* case. Three to five specific points with evidence or reasoning. Treat it like a debate brief, not an analysis. **the reviewer's opening:** Before dispatch, select a reviewer with -known lineage distinct from the observed primary and artifact author. Submit the +known lineage distinct from the observed primary and every contributing artifact author. Submit the sealed debate role through `python3 "/coordinator.py"` with `quality_profile='frontier'` and `effort_class='maximum'`. Verify the observed reviewer lineage before treating its response as independent governance evidence. Use this prompt template for debate content; the returned diff --git a/plugins/agent-collab/skills/decision-map/SKILL.md b/plugins/agent-collab/skills/decision-map/SKILL.md index 883e63d1..c3e94fca 100644 --- a/plugins/agent-collab/skills/decision-map/SKILL.md +++ b/plugins/agent-collab/skills/decision-map/SKILL.md @@ -1,6 +1,6 @@ --- name: decision-map -version: 7.0.6 +version: 7.0.7 description: Plan an effort too large for one session as a shared map of decision tickets on the repo's issue tracker, then resolve them one per session until the way to the destination is clear. Use when the user says "decision map," "chart this effort," "map out this project," "break this fog into tickets," "work the map," or "/agent-collab:decision-map." Also offer this proactively when a request is a loose multi-session idea whose route is not yet visible — where the open questions outnumber the known steps and a single planning pass would either stall or guess. --- diff --git a/plugins/agent-collab/skills/delegate/SKILL.md b/plugins/agent-collab/skills/delegate/SKILL.md index 759d8c37..09272162 100644 --- a/plugins/agent-collab/skills/delegate/SKILL.md +++ b/plugins/agent-collab/skills/delegate/SKILL.md @@ -1,6 +1,6 @@ --- name: delegate -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: economical effort_class: minimal @@ -10,8 +10,8 @@ description: Fan out summary, extraction, or analysis subtasks over supplied bou ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Delegate — fan out independent subtasks for parallel advisory work diff --git a/plugins/agent-collab/skills/dev-delegate/SKILL.md b/plugins/agent-collab/skills/dev-delegate/SKILL.md index 601669e3..2687c2c6 100644 --- a/plugins/agent-collab/skills/dev-delegate/SKILL.md +++ b/plugins/agent-collab/skills/dev-delegate/SKILL.md @@ -1,6 +1,6 @@ --- name: dev-delegate -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: standard effort_class: standard @@ -10,8 +10,8 @@ description: Delegate a bounded independent development slice to an eligible wor ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Dev-delegate diff --git a/plugins/agent-collab/skills/elixir-engineer/SKILL.md b/plugins/agent-collab/skills/elixir-engineer/SKILL.md index 86a01a8a..cd51cbbb 100644 --- a/plugins/agent-collab/skills/elixir-engineer/SKILL.md +++ b/plugins/agent-collab/skills/elixir-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: elixir-engineer -version: 7.0.6 +version: 7.0.7 description: Senior Elixir and OTP engineer for fault-tolerant, concurrent, and Phoenix-based systems. Use when the user says "review this supervision tree", "why did this GenServer crash", "help me design this OTP process architecture", or "/agent-collab:elixir-engineer." Also offer this proactively when a change adds a new process, alters a restart strategy, or touches a Phoenix channel or LiveView boundary. --- diff --git a/plugins/agent-collab/skills/eval-engineer/SKILL.md b/plugins/agent-collab/skills/eval-engineer/SKILL.md index 12c8de94..bd001094 100644 --- a/plugins/agent-collab/skills/eval-engineer/SKILL.md +++ b/plugins/agent-collab/skills/eval-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: eval-engineer -version: 7.0.6 +version: 7.0.7 description: Designs evaluation suites and scoring methods that measure whether an AI-backed workflow is actually good enough to ship. Use when the user says "design evals for this", "build an eval suite", "how should we measure this workflow", or "/agent-collab:eval-engineer." Also offer this proactively when a project ships a prompt, retrieval pipeline, or agent workflow with no structured way to tell whether a change made it better or worse. --- diff --git a/plugins/agent-collab/skills/go-engineer/SKILL.md b/plugins/agent-collab/skills/go-engineer/SKILL.md index fb8c24c0..20a42b14 100644 --- a/plugins/agent-collab/skills/go-engineer/SKILL.md +++ b/plugins/agent-collab/skills/go-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: go-engineer -version: 7.0.6 +version: 7.0.7 description: Senior Go engineer for concurrent, service-oriented, and cloud-native code. Use when the user says "review this Go service for concurrency bugs", "help me design this Go interface", "why is this goroutine leaking", or "/agent-collab:go-engineer." Also offer this proactively when a change adds a goroutine, channel, or context-cancellation path without an obvious termination guarantee. --- diff --git a/plugins/agent-collab/skills/governance-review/SKILL.md b/plugins/agent-collab/skills/governance-review/SKILL.md index 645bc3b8..06584349 100644 --- a/plugins/agent-collab/skills/governance-review/SKILL.md +++ b/plugins/agent-collab/skills/governance-review/SKILL.md @@ -1,13 +1,14 @@ --- name: governance-review -version: 7.0.6 +version: 7.0.7 description: Use when the operator says "governance review," "high-stakes review," "authoritative verdict," or "tiebreaker." Also offer this when reviewer-family independence and an exact repository-grounded verdict must be enforced. --- ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +When a completed or terminated read-only review or governance attempt definitively produced no substantive result and no uncertain external mutation, retain that failed attempt as evidence. The caller may then issue at most one new corrected request as a new work unit after fixing a demonstrated setup defect with already authorized context and tools, such as inlining an inaccessible external plan or using an already available interpreter. Keep the same source hash, provider, and known-distinct reviewer requirements, and the original identical authorized scope. The allowance is one correction total per original request across all descendant work units; a corrected work unit cannot issue another correction or reset the allowance. Retain the original-request identity and both attempts in the caller's trace. Do not copy login profiles or expand permissions. This is not a replay, retry, or failover of the consumed work unit, not a runtime automatic retry, and not a provider switch to evade findings. Do not use it to repair formatting or missing lineage, or when failure is unproven or a native mutation is ambiguous. If findings or usable partial content exist, interpret them instead. Native one-process completion remains separate. # Independent governance review @@ -18,22 +19,37 @@ reconstruct a provider command. Use `quality_profile="frontier"` and `effort_class="maximum"`. These are closed provider-neutral request fields and never authorize a model or version pin. -Before dispatch, the caller must record the observed lineage and source of both -the active primary and artifact author, then select a reviewer whose known -lineage differs from both. After the response, record the observed reviewer -lineage and source before treating it as governance evidence. A route, provider -name, status, receipt, or self-assertion alone does not prove lineage. Preserve -unknown lineage as unknown. If no known-distinct eligible reviewer can be -established, do not dispatch a claimed independent governance review; explain -the missing lineage or selection evidence. A specifically selected ineligible -or same-family agent is not silently replaced. +Independence follows Public repository governance. Exclude the primary and +every contributing author family. Selecting a candidate and accepting +independent approval are different stages. Provider-free planning reports +route eligibility, not model identity. Currently known configuration may +identify a candidate; bind that reviewer with `explicit_target` through +planning and live dispatch. Independent approval requires response-scoped +native evidence correlated to the returned response. + +Before dispatch, record observed lineage and source for the active primary and +every contributing artifact author, then select a reviewer whose currently +known lineage differs from all of them. Honor an operator-named provider; a +specifically selected ineligible or same-family agent is not silently replaced. +If no known-distinct eligible reviewer can be established, do not claim +independent governance; explain the missing capability or evidence. Missing +evidence is not a provider outage. An authorized advisory review may still +proceed. + +After the response, record observed reviewer lineage and source. Configuration, +a route, provider name, status, receipt, or self-assertion alone does not prove +lineage. Preserve unknown lineage as unknown. If independence, exact source +identity, or scope cannot be established, keep useful advisory content and do +not claim authoritative approval. Do not replay a consumed review to repair +incomplete lineage evidence. Preserve every nonempty raw or recovered response. Use ordinary model reasoning over its full content to deduce the best-supported operative verdict; do not require JSON, verdict keys, findings shape, terminal wrappers, telemetry, or a receipt, and never synthesize approval from process exit. Retain available receipts and diagnostics for audit, including any integrity concerns, but do -not discard provider content when they are absent or malformed. If reviewer -independence, exact source identity, or scope cannot be positively established, -keep the response as advisory content and do not claim authoritative approval. -Do not replay a consumed review to repair incomplete lineage evidence. +not discard provider content when they are absent or malformed. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. diff --git a/plugins/agent-collab/skills/hallucination-investigator/SKILL.md b/plugins/agent-collab/skills/hallucination-investigator/SKILL.md index 0912b493..6de0fd3a 100644 --- a/plugins/agent-collab/skills/hallucination-investigator/SKILL.md +++ b/plugins/agent-collab/skills/hallucination-investigator/SKILL.md @@ -1,6 +1,6 @@ --- name: hallucination-investigator -version: 7.0.6 +version: 7.0.7 description: Traces a specific wrong or fabricated AI output back to its root cause in context, retrieval, prompting, or tool use, and recommends the most targeted fix. Use when the user says "why is it hallucinating", "investigate this fabrication", "trace this wrong answer", or "/agent-collab:hallucination-investigator." Also offer this proactively when a factuality failure has been reported but no one has yet reconstructed why the system produced that specific wrong answer. --- diff --git a/plugins/agent-collab/skills/incident-responder/SKILL.md b/plugins/agent-collab/skills/incident-responder/SKILL.md index ee9d4d4f..dc21e9a2 100644 --- a/plugins/agent-collab/skills/incident-responder/SKILL.md +++ b/plugins/agent-collab/skills/incident-responder/SKILL.md @@ -1,6 +1,6 @@ --- name: incident-responder -version: 7.0.6 +version: 7.0.7 description: Leads live incident response — triage, containment, evidence-driven root-cause analysis, and postmortem writeups for active outages or breaches. Use when the user says "we have an incident", "production is down", or "run the postmortem for this outage", or "/agent-collab:incident-responder." Also offer this proactively when the user is trying to write the incident timeline or communicate status while a service disruption is still unresolved. --- diff --git a/plugins/agent-collab/skills/intent-check/SKILL.md b/plugins/agent-collab/skills/intent-check/SKILL.md index f29d1aa3..3ae74631 100644 --- a/plugins/agent-collab/skills/intent-check/SKILL.md +++ b/plugins/agent-collab/skills/intent-check/SKILL.md @@ -1,6 +1,6 @@ --- name: intent-check -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: standard effort_class: standard @@ -10,8 +10,8 @@ description: Verify that the active primary's interpretation matches the operato ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Intent check - advisory interpretation comparison diff --git a/plugins/agent-collab/skills/knowledge-compile/SKILL.md b/plugins/agent-collab/skills/knowledge-compile/SKILL.md index 193e629f..696e50ac 100644 --- a/plugins/agent-collab/skills/knowledge-compile/SKILL.md +++ b/plugins/agent-collab/skills/knowledge-compile/SKILL.md @@ -1,6 +1,6 @@ --- name: knowledge-compile -version: 7.0.6 +version: 7.0.7 description: Compile multiple sources into a durable, cited knowledge dossier without mixing claims, assumptions, and decisions. Use when the user says "compile knowledge," "build a dossier," "create a knowledge base," "synthesize these sources," "preserve research context," "make this reviewable later," or "/agent-collab:knowledge-compile." Also offer this proactively when a task spans several repos, PRs, papers, articles, logs, agent messages, or drafts and future agents need source-separated context for independent review. --- diff --git a/plugins/agent-collab/skills/kubernetes-specialist/SKILL.md b/plugins/agent-collab/skills/kubernetes-specialist/SKILL.md index 30e7db6e..fac57fde 100644 --- a/plugins/agent-collab/skills/kubernetes-specialist/SKILL.md +++ b/plugins/agent-collab/skills/kubernetes-specialist/SKILL.md @@ -1,6 +1,6 @@ --- name: kubernetes-specialist -version: 7.0.6 +version: 7.0.7 description: Designs, hardens, and troubleshoots Kubernetes clusters and the workloads running on them. Use when the user says "review this Kubernetes manifest", "why is my pod crash-looping", or "help me design a multi-tenant cluster", or "/agent-collab:kubernetes-specialist." Also offer this proactively when a change touches Deployment/StatefulSet/DaemonSet specs, RBAC bindings, network policies, or persistent volume claims. --- diff --git a/plugins/agent-collab/skills/learning-loop/SKILL.md b/plugins/agent-collab/skills/learning-loop/SKILL.md index 771f31f8..780e066a 100644 --- a/plugins/agent-collab/skills/learning-loop/SKILL.md +++ b/plugins/agent-collab/skills/learning-loop/SKILL.md @@ -1,6 +1,6 @@ --- name: learning-loop -version: 7.0.6 +version: 7.0.7 description: Capture durable lessons, errors, and verified fixes in a project-local learning ledger, consult it before re-deriving known failures, and track recurrence toward promotion, using the bundled deterministic learning_ledger.py CLI. Use when the user says "capture this lesson", "log this error to the ledger", "check the learning ledger", "record a recurrence", "any known fix for this?", or "/agent-collab:learning-loop." Also offer this proactively when the same failure recurs across sessions, or when a hard-won diagnosis is about to be lost because it lives only in one session's context. --- diff --git a/plugins/agent-collab/skills/llm-architect/SKILL.md b/plugins/agent-collab/skills/llm-architect/SKILL.md index af5a76dc..3f4631d2 100644 --- a/plugins/agent-collab/skills/llm-architect/SKILL.md +++ b/plugins/agent-collab/skills/llm-architect/SKILL.md @@ -1,6 +1,6 @@ --- name: llm-architect -version: 7.0.6 +version: 7.0.7 description: Designs the structural shape of an LLM-powered system — how context is assembled, how tools and retrieval are wired in, and how output flows to the caller. Use when the user says "design the RAG pipeline", "plan the agent architecture", or "help me structure the prompt pipeline", or "/agent-collab:llm-architect." Also offer this proactively when a project is wiring multiple prompts, tools, and retrieval steps together without a clear contract between them. --- diff --git a/plugins/agent-collab/skills/logic-check/SKILL.md b/plugins/agent-collab/skills/logic-check/SKILL.md index 9d8c57f8..019f9d3c 100644 --- a/plugins/agent-collab/skills/logic-check/SKILL.md +++ b/plugins/agent-collab/skills/logic-check/SKILL.md @@ -1,6 +1,6 @@ --- name: logic-check -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum @@ -10,8 +10,9 @@ description: Audit a verifiable, step-wise computation (arithmetic, financial ca ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +When a completed or terminated read-only review or governance attempt definitively produced no substantive result and no uncertain external mutation, retain that failed attempt as evidence. The caller may then issue at most one new corrected request as a new work unit after fixing a demonstrated setup defect with already authorized context and tools, such as inlining an inaccessible external plan or using an already available interpreter. Keep the same source hash, provider, and known-distinct reviewer requirements, and the original identical authorized scope. The allowance is one correction total per original request across all descendant work units; a corrected work unit cannot issue another correction or reset the allowance. Retain the original-request identity and both attempts in the caller's trace. Do not copy login profiles or expand permissions. This is not a replay, retry, or failover of the consumed work unit, not a runtime automatic retry, and not a provider switch to evade findings. Do not use it to repair formatting or missing lineage, or when failure is unproven or a native mutation is ambiguous. If findings or usable partial content exist, interpret them instead. Native one-process completion remains separate. # Logic check — separate re-derivation of a verifiable computation @@ -45,35 +46,51 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Show the active primary's work transparently — do not gate on the audit -Present the active primary's derivation and final answer to the user as you would normally. Then note: "Independent audit in progress; will reconcile if it disagrees." This serves two purposes: the user is not blocked waiting on the verifier, and if the audit later disagrees the reconciliation is visible — the user sees what changed and why. +Present the active primary's derivation and final answer to the user as you would normally. Then note: "Advisory re-derivation in progress; will reconcile if it disagrees." Reviewer independence is pending until the returned response-scoped evidence establishes it. The user can use the initial answer while seeing any later correction and its reason. Do not withhold the answer pending the audit. Suspense without purpose is just latency. @@ -84,7 +101,7 @@ This is the load-bearing methodological discipline of the skill. **Send the prob But: **do send the constraints and assumptions** the active primary used. Implicit choices (currency, rounding rule, FIFO/LIFO ordering, time zone, leap-year handling, edge-case treatment, unit conventions, statistical-test-tail-handling) will produce spurious divergence if the verifier defaults differently. Stating constraints explicitly is not "leading the witness" — it pins the problem to the same instance the active primary was solving. Before dispatch, select a reviewer with known lineage distinct from the observed -primary and artifact author. Submit the sealed logic-check role through +primary and every contributing artifact author. Submit the sealed logic-check role through `python3 "/coordinator.py"` with `quality_profile='frontier'` and `effort_class='maximum'`. Verify the observed reviewer lineage before treating its response as independent governance evidence. Use this prompt template for substantive derivation. The caller reasons over the @@ -136,7 +153,13 @@ TRACE: ### 4. Compare the two derivations -**Both agree on the final answer AND key intermediates:** report "Independent re-derivation agrees: answer = X." High confidence (but not certainty — agreement is one signal, not a proof; both models can be wrong in the same way on a textbook-style problem with a well-known wrong answer). +First verify the returned response-scoped evidence against the primary and every +contributing author family. Use independent wording only when every independent- +governance requirement is met; otherwise label the comparison advisory. Asking +for a derivation without sharing the original answer reduces anchoring, but does +not itself establish reviewer-family independence. + +**Both agree on the final answer AND key intermediates:** report "Independent re-derivation agrees: answer = X" only after that verification; otherwise report "Advisory re-derivation agrees: answer = X; reviewer independence unverified." Agreement is one signal, not a proof; both models can be wrong in the same way on a textbook-style problem with a well-known wrong answer. **Disagree on the final answer:** first, evaluate the verifier's derivation **quality**. Is it coherent end-to-end? Or is it garbled / hallucinated / internally inconsistent? If the verifier's work is broken, do not try to reconcile — flag the verifier's failure to the user, fall back to re-checking the active primary's math against the constraints. If both derivations are coherent, identify the **step where they diverge**, then work out which is correct: re-check the arithmetic at that step, re-check the constraints, re-check the definitions, re-check the edge-case treatment. Report the corrected result with the source of the error explicitly named ("step 7 used a different rounding rule than the constraints specified"). **Do not silently switch the answer** — show the user what changed and why. @@ -144,11 +167,14 @@ TRACE: ### 5. Close the loop -End the user-facing report with a one-line statement of the audited result and a confidence note. Examples: +End with the result, a confidence note, and the established review status. Use +"Independently audited result" only when the response-scoped evidence establishes +all independent-governance requirements. Otherwise use "Advisory result" and +state that reviewer independence remains unverified. Examples: -- "Audited result: $47,283.50 (independent re-derivation by the reviewer agrees on the final answer AND each intermediate)." -- "Audited result: $47,283.50 (revised from the original $47,282.50 — the year-3 vesting acceleration was applied to the wrong tranche in the active primary's computation; verifier's derivation surfaced the error at step 9)." -- "Audited result: PENDING — the reviewer returned an incoherent derivation; falling back to manual re-check against constraints." +- "Independently audited result: $47,283.50 (the verified independent reviewer agrees on the final answer AND each intermediate)." +- "Advisory result: $47,283.50 (reviewer independence unverified; revised from $47,282.50 after checking the year-3 vesting error surfaced at step 9)." +- "Advisory result: PENDING — the reviewer returned an incoherent derivation; falling back to manual re-check against constraints." ## Examples across domains diff --git a/plugins/agent-collab/skills/merge-resolve/SKILL.md b/plugins/agent-collab/skills/merge-resolve/SKILL.md index baab3b49..cd41c8fd 100644 --- a/plugins/agent-collab/skills/merge-resolve/SKILL.md +++ b/plugins/agent-collab/skills/merge-resolve/SKILL.md @@ -1,6 +1,6 @@ --- name: merge-resolve -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum @@ -10,8 +10,8 @@ description: Use when a user asks to resolve a git merge conflict or conflicting ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Merge resolve — merge-conflict resolution, operator-gated by default @@ -42,28 +42,39 @@ Reviewer independence is conditional on the caller verifying the observed famili ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. ## Inputs diff --git a/plugins/agent-collab/skills/migration-doctor/SKILL.md b/plugins/agent-collab/skills/migration-doctor/SKILL.md index 2e00b703..5b2d2d07 100644 --- a/plugins/agent-collab/skills/migration-doctor/SKILL.md +++ b/plugins/agent-collab/skills/migration-doctor/SKILL.md @@ -1,13 +1,13 @@ --- name: migration-doctor -version: 7.0.6 +version: 7.0.7 description: Use when the user says "migration doctor," "check old collaboration plugins," "verify agent-collab migration," or "/agent-collab:migration-doctor." Also offer this after installing or updating agent-collab, when direct runtime invocation is blocked, or when a retired package may still be active. --- ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Migration doctor diff --git a/plugins/agent-collab/skills/mlops-engineer/SKILL.md b/plugins/agent-collab/skills/mlops-engineer/SKILL.md index 613f79ab..a3ccfa78 100644 --- a/plugins/agent-collab/skills/mlops-engineer/SKILL.md +++ b/plugins/agent-collab/skills/mlops-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: mlops-engineer -version: 7.0.6 +version: 7.0.7 description: Designs and hardens the infrastructure that carries models from training through production serving. Use when the user says "set up a model registry", "build the training pipeline", "deploy this model to production", or "/agent-collab:mlops-engineer." Also offer this proactively when a project trains or serves models but has no versioned artifacts, no promotion gate, or no monitoring for prediction quality. --- diff --git a/plugins/agent-collab/skills/orchestrate/SKILL.md b/plugins/agent-collab/skills/orchestrate/SKILL.md index d8ae4e6b..2afa5186 100644 --- a/plugins/agent-collab/skills/orchestrate/SKILL.md +++ b/plugins/agent-collab/skills/orchestrate/SKILL.md @@ -1,6 +1,6 @@ --- name: orchestrate -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: standard effort_class: standard @@ -10,8 +10,8 @@ description: Coordinate a multi-step task through a bounded task graph with expl ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Orchestrate a bounded task graph diff --git a/plugins/agent-collab/skills/postgres-engineer/SKILL.md b/plugins/agent-collab/skills/postgres-engineer/SKILL.md index c72ac52a..48c4a40c 100644 --- a/plugins/agent-collab/skills/postgres-engineer/SKILL.md +++ b/plugins/agent-collab/skills/postgres-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: postgres-engineer -version: 7.0.6 +version: 7.0.7 description: Administers and hardens PostgreSQL at the engine level — configuration, replication, vacuum behavior, and locking under real workloads. Use when the user says "tune postgres for this workload", "design a vacuum strategy", "set up replication", or "fix our connection pooling", or "/agent-collab:postgres-engineer." Also offer this proactively when a PostgreSQL deployment shows replication lag, bloat, connection exhaustion, or a failover plan that has never been tested. --- diff --git a/plugins/agent-collab/skills/project-estimation/SKILL.md b/plugins/agent-collab/skills/project-estimation/SKILL.md index 251e8b52..e3369fb2 100644 --- a/plugins/agent-collab/skills/project-estimation/SKILL.md +++ b/plugins/agent-collab/skills/project-estimation/SKILL.md @@ -1,6 +1,6 @@ --- name: project-estimation -version: 7.0.6 +version: 7.0.7 description: Use when the user says "estimate this project", "estimate the wall-clock time and cost", "scope this enhancement", "reconcile this estimate with actuals", "calibrate project estimates", or "audit the estimation data"; or when asking how long an agent-led project will take, its API-equivalent token cost, why an estimate missed, or whether evidence supports a delivery range. Also use while creating or materially revising a formal implementation design or formal implementation plan. --- diff --git a/plugins/agent-collab/skills/project-knowledge/SKILL.md b/plugins/agent-collab/skills/project-knowledge/SKILL.md index 57e840a3..9347beb3 100644 --- a/plugins/agent-collab/skills/project-knowledge/SKILL.md +++ b/plugins/agent-collab/skills/project-knowledge/SKILL.md @@ -1,6 +1,6 @@ --- name: project-knowledge -version: 7.0.6 +version: 7.0.7 description: Build and maintain a durable, project-local knowledge base with provenance-tracked sources, injection-linted pages, and a generated index, using the bundled deterministic knowledge_tool.py CLI. Use when the user says "build a project knowledge base", "set up a knowledge layer", "register this source", "draft a knowledge page", "lint the knowledge pages", "regenerate the knowledge index", "export a knowledge bundle", or "/agent-collab:project-knowledge." Also offer this proactively when agent memory limits truncate project context across sessions, or when the same sources keep being re-read and re-synthesized because no durable, citable project-local record exists. --- diff --git a/plugins/agent-collab/skills/prompt-regression-tester/SKILL.md b/plugins/agent-collab/skills/prompt-regression-tester/SKILL.md index 504fca22..f2d229e2 100644 --- a/plugins/agent-collab/skills/prompt-regression-tester/SKILL.md +++ b/plugins/agent-collab/skills/prompt-regression-tester/SKILL.md @@ -1,6 +1,6 @@ --- name: prompt-regression-tester -version: 7.0.6 +version: 7.0.7 description: Builds and runs comparison suites that catch behavioral drift when a prompt, model, or workflow configuration changes. Use when the user says "did the prompt change regress anything", "compare these prompt versions", "regression-test this prompt change", or "/agent-collab:prompt-regression-tester." Also offer this proactively when someone is about to swap a prompt, model, or tool wiring in a live workflow without a way to check whether existing behavior held. --- diff --git a/plugins/agent-collab/skills/prototype/SKILL.md b/plugins/agent-collab/skills/prototype/SKILL.md index 6c5060dc..6921907c 100644 --- a/plugins/agent-collab/skills/prototype/SKILL.md +++ b/plugins/agent-collab/skills/prototype/SKILL.md @@ -1,6 +1,6 @@ --- name: prototype -version: 7.0.6 +version: 7.0.7 description: Build a throwaway prototype that answers one design question — an interactive terminal app to pressure-test a state model or logic shape, or several radically different UI variants on one route. Use when the user says "prototype this," "sanity-check this state model," "show me a few options for this page," "mock up some variations," or "/agent-collab:prototype." Also offer this proactively when a design conversation is circling a question that a runnable artifact would settle in minutes — how a state machine handles an awkward case, or which of several layouts actually works with real data. --- diff --git a/plugins/agent-collab/skills/qa-verify/SKILL.md b/plugins/agent-collab/skills/qa-verify/SKILL.md index c9c41671..b894cf97 100644 --- a/plugins/agent-collab/skills/qa-verify/SKILL.md +++ b/plugins/agent-collab/skills/qa-verify/SKILL.md @@ -1,6 +1,6 @@ --- name: qa-verify -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: economical effort_class: minimal @@ -10,8 +10,9 @@ description: Ask the reviewer to QA the output of a completed execution against ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +When a completed or terminated read-only review or governance attempt definitively produced no substantive result and no uncertain external mutation, retain that failed attempt as evidence. The caller may then issue at most one new corrected request as a new work unit after fixing a demonstrated setup defect with already authorized context and tools, such as inlining an inaccessible external plan or using an already available interpreter. Keep the same source hash, provider, and known-distinct reviewer requirements, and the original identical authorized scope. The allowance is one correction total per original request across all descendant work units; a corrected work unit cannot issue another correction or reset the allowance. Retain the original-request identity and both attempts in the caller's trace. Do not copy login profiles or expand permissions. This is not a replay, retry, or failover of the consumed work unit, not a runtime automatic retry, and not a provider switch to evade findings. Do not use it to repair formatting or missing lineage, or when failure is unproven or a native mutation is ambiguous. If findings or usable partial content exist, interpret them instead. Native one-process completion remains separate. # QA verify — verification of a completed execution @@ -41,30 +42,46 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Gather the three pieces of evidence @@ -80,7 +97,7 @@ If any of the three is missing, gather it before invoking. A QA pass on incomple ### 2. Instruct the verifier as a strict QA inspector Before dispatch, select a reviewer with known lineage distinct from the observed -primary and artifact author. Submit the sealed QA role through +primary and every contributing artifact author. Submit the sealed QA role through `python3 "/coordinator.py"` with `quality_profile='economical'` and `effort_class='minimal'` (the skill default; raise the closed quality and effort profiles only for subtle correctness constraints). After the response, verify the observed reviewer lineage before treating it as independent governance evidence. diff --git a/plugins/agent-collab/skills/red-team/SKILL.md b/plugins/agent-collab/skills/red-team/SKILL.md index 71a8aae8..6b33a519 100644 --- a/plugins/agent-collab/skills/red-team/SKILL.md +++ b/plugins/agent-collab/skills/red-team/SKILL.md @@ -1,6 +1,6 @@ --- name: red-team -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum @@ -10,8 +10,9 @@ description: Task the reviewer with actively breaking a system, API, validation ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +When a completed or terminated read-only review or governance attempt definitively produced no substantive result and no uncertain external mutation, retain that failed attempt as evidence. The caller may then issue at most one new corrected request as a new work unit after fixing a demonstrated setup defect with already authorized context and tools, such as inlining an inaccessible external plan or using an already available interpreter. Keep the same source hash, provider, and known-distinct reviewer requirements, and the original identical authorized scope. The allowance is one correction total per original request across all descendant work units; a corrected work unit cannot issue another correction or reset the allowance. Retain the original-request identity and both attempts in the caller's trace. Do not copy login profiles or expand permissions. This is not a replay, retry, or failover of the consumed work unit, not a runtime automatic retry, and not a provider switch to evade findings. Do not use it to repair formatting or missing lineage, or when failure is unproven or a native mutation is ambiguous. If findings or usable partial content exist, interpret them instead. Native one-process completion remains separate. # Red team — adversarial input generation @@ -42,30 +43,46 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Describe the system precisely @@ -93,7 +110,7 @@ A focused objective produces focused output. "Find security issues" produces a g ### 3. Call the verifier Before dispatch, select a reviewer with known lineage distinct from the observed -primary and artifact author. Submit one `review.repository` work unit through +primary and every contributing artifact author. Submit one `review.repository` work unit through `python3 "/coordinator.py"`. The caller seals and verifies the exact repository head, supplies the bounded red-team prompt as opaque payload, and verifies the observed reviewer lineage before treating it as independent governance evidence. diff --git a/plugins/agent-collab/skills/route/SKILL.md b/plugins/agent-collab/skills/route/SKILL.md index 3be1a7bc..c110ba1a 100644 --- a/plugins/agent-collab/skills/route/SKILL.md +++ b/plugins/agent-collab/skills/route/SKILL.md @@ -1,13 +1,13 @@ --- name: route -version: 7.0.6 +version: 7.0.7 description: Use when the operator says "ask Codex," "target Gemini," "target Grok," "target Moonshot," "target Zhipu," or explicitly names a collaboration agent. Also offer this when a semantic action needs a provider-neutral plan or a truthful typed availability decision. --- ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Route a semantic collaboration request @@ -44,7 +44,9 @@ use `explicit_target` to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; untargeted planning does not bind a later live request. Otherwise use normal economic routing. The caller may use provider-free planning -to inspect known family evidence before dispatch. A route, provider name, status, receipt, +to inspect eligible actions and routes before dispatch; planning does not prove +model identity. Currently known native configuration or response-scoped +observations may identify a potential candidate family. A route, provider name, status, receipt, or self-assertion alone does not prove lineage. One selected provider attempt is not replayed after a model call. The skill contains no provider command, model name, version gate, or transport membership table. A route-local diagnostic diff --git a/plugins/agent-collab/skills/rust-engineer/SKILL.md b/plugins/agent-collab/skills/rust-engineer/SKILL.md index 2caeb912..676aacc2 100644 --- a/plugins/agent-collab/skills/rust-engineer/SKILL.md +++ b/plugins/agent-collab/skills/rust-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: rust-engineer -version: 7.0.6 +version: 7.0.7 description: Senior Rust engineer for ownership-heavy, performance-sensitive, and systems-level code. Use when the user says "review this Rust code for soundness", "help me fix this borrow checker error", "optimize this Rust hot path", or "/agent-collab:rust-engineer." Also offer this proactively when a diff introduces unsafe blocks, changes lifetime bounds, or touches an async task's cancellation path. --- diff --git a/plugins/agent-collab/skills/second-opinion/SKILL.md b/plugins/agent-collab/skills/second-opinion/SKILL.md index 03e4efc8..018ccdc2 100644 --- a/plugins/agent-collab/skills/second-opinion/SKILL.md +++ b/plugins/agent-collab/skills/second-opinion/SKILL.md @@ -1,6 +1,6 @@ --- name: second-opinion -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum @@ -10,8 +10,9 @@ description: Send a draft, analysis, plan, or decision to the reviewer for a rev ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +When a completed or terminated read-only review or governance attempt definitively produced no substantive result and no uncertain external mutation, retain that failed attempt as evidence. The caller may then issue at most one new corrected request as a new work unit after fixing a demonstrated setup defect with already authorized context and tools, such as inlining an inaccessible external plan or using an already available interpreter. Keep the same source hash, provider, and known-distinct reviewer requirements, and the original identical authorized scope. The allowance is one correction total per original request across all descendant work units; a corrected work unit cannot issue another correction or reset the allowance. Retain the original-request identity and both attempts in the caller's trace. Do not copy login profiles or expand permissions. This is not a replay, retry, or failover of the consumed work unit, not a runtime automatic retry, and not a provider switch to evade findings. Do not use it to repair formatting or missing lineage, or when failure is unproven or a native mutation is ambiguous. If findings or usable partial content exist, interpret them instead. Native one-process completion remains separate. # Second opinion — review with caller-verified independence @@ -33,7 +34,7 @@ Use this skill when one or more of the following are true: Skip this skill when: - The artifact is a routine lookup or factual query — invoke the underlying console backend (`python3 "/coordinator.py"`) directly. -- Independent approval is required but no reviewer with known lineage distinct from the primary and artifact author can be established (see Verifier independence below). +- Independent approval is required but no reviewer with known lineage distinct from the primary and every contributing artifact author can be established (see Verifier independence below). - The cost of being wrong is trivially recoverable (a draft no one has seen, a sketch of a sketch). The framing overhead is not worth it. - The user has *already* received a second opinion this cycle and is asking for a third — at that point the issue is decision avoidance, not under-scrutiny. @@ -41,30 +42,46 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Identify the artifact and the stakes @@ -82,21 +99,28 @@ Do not dump the artifact at the reviewer with a vague "thoughts?" — that produ ### 3. Call the panel — in parallel -Send the **same** framed request (the four-section template below) to **every available cross-family panelist at once**, not sequentially — the reads are independent, so issue them concurrently and collect all responses before synthesizing. Each panelist gets the identical artifact + template, so their outputs are directly comparable. +Send the **same** framed request (the four-section template below) to the +required initial independent reviewers at once, not sequentially — the reads +are independent, so issue them concurrently and collect all responses before +synthesizing. Each panelist gets the identical artifact + template, so their +outputs are directly comparable. Build the panel from reviewers whose observed lineage is known and differs from -both the recorded primary and artifact author. A route result does not establish -that fact. If no known-distinct eligible reviewer can be established, do not -dispatch an independent governance review; explain the missing lineage or -selection evidence. A raw binary or legacy plugin is never a route. Host-owned +the recorded primary and every contributing artifact author. A route result +does not establish that fact. If no known-distinct eligible reviewer can be +established, do not dispatch an independent governance review; explain the +missing capability or evidence before an expensive dispatch. A raw binary or legacy plugin is never a route. Host-owned async coordination is supplementary advisory content, never a managed review panelist. Callers must not bypass the managed route with a raw `claude -p` invocation. For every panelist and tiebreaker, select the reviewer before dispatch and -verify its observed lineage after the response. Do not replay a consumed review -to repair incomplete lineage evidence. Hold one known-distinct eligible reviewer -as the tiebreaker rather than including it in the first wave. +verify its observed lineage after the response with response-scoped evidence. +Do not replay a consumed review to repair incomplete lineage evidence. Seat +required initial reviewers first. Use a sole eligible independent reviewer in +the initial wave; reserve a tiebreaker only from spare independent eligible +reviewers after those seats are filled. If the governing panel requires more +reviewers than available, keep that unmet requirement visible. Use one documented routing work unit for each panelist with `quality_profile="frontier"` and `effort_class="maximum"`; never name a model @@ -134,8 +158,9 @@ an eligible independent managed reviewer **only** when the panel is in genuine - **Trigger:** the panelists reach **opposing bottom-line conclusions** — e.g. one lands on a confident "this is sound / proceed" while another lands on "this is unsound / do not proceed" — **OR** one panelist flags a **load-bearing risk** (a critical architectural / security / correctness defect) that another explicitly dismisses or did not surface. Resolving *which read is right* is high-stakes and a neutral third family earns its cost here. - **NOT a trigger:** panelists broadly agree on the verdict but list different, additive risks. Aggregate the union and move on; do not add a third reviewer. -- A tiebreaker is selected dynamically from the remaining eligible distinct- - family advisory routes and receives the same template plus conflicting reads. +- A tiebreaker is spare capacity only. Select it dynamically from remaining + independent eligible reviewers after the required initial seats are filled, + and give it the same template plus the conflicting reads. If no eligible independent tiebreaker is reachable, surface the unresolved conflict to the operator; never fabricate a resolution. @@ -219,6 +244,9 @@ When picking the right example to share with the user mid-invocation, match the - **Paraphrasing the panel's critiques of your own work.** When the authoring model summarizes the verifiers' objections, it tends — even unintentionally — to soften the sharpest ones. Surface the raw four-section reads (or faithful direct quotes), attributed; let the operator see the actual critiques. - **Firing a tiebreaker on agreement.** A tiebreaker resolves a verdict conflict; it does not ratify a panel or adjudicate additive compatible notes. +- **Reserving the only eligible independent reviewer as a tiebreaker.** Seat + required initial reviewers first. A sole eligible independent reviewer is used + initially; unmet required panel size stays visible. - **Claiming independent review without observed lineage.** When the reviewer shares the author or primary family, or lineage is unknown, retain the response as advisory and keep required independent approval unmet. - **Reviewing a structured config diff with the generic four-section template only.** Invoke the structured-artifact lens above — the recurring failure categories catch defects the generic template will miss. - **Replaying for formatting.** Preserve every nonempty raw response and reason diff --git a/plugins/agent-collab/skills/simulate-user/SKILL.md b/plugins/agent-collab/skills/simulate-user/SKILL.md index 9de974cd..eea6b4a3 100644 --- a/plugins/agent-collab/skills/simulate-user/SKILL.md +++ b/plugins/agent-collab/skills/simulate-user/SKILL.md @@ -1,6 +1,6 @@ --- name: simulate-user -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: economical effort_class: minimal @@ -10,8 +10,8 @@ description: Cast the reviewer into a strict roleplay as a user persona or stake ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Simulate-user — in-character persona reaction to an artifact diff --git a/plugins/agent-collab/skills/sql-engineer/SKILL.md b/plugins/agent-collab/skills/sql-engineer/SKILL.md index 88179393..94fba62d 100644 --- a/plugins/agent-collab/skills/sql-engineer/SKILL.md +++ b/plugins/agent-collab/skills/sql-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: sql-engineer -version: 7.0.6 +version: 7.0.7 description: Senior SQL specialist for query design, query optimization, and schema-aware performance work across relational databases. Use when the user says "optimize this SQL query", "explain this query plan", "design these indexes", or "/agent-collab:sql-engineer." Also offer this proactively when a diff adds a new query against a large table, changes a join or aggregation, or introduces a schema change that could affect an existing access pattern. --- diff --git a/plugins/agent-collab/skills/sre-engineer/SKILL.md b/plugins/agent-collab/skills/sre-engineer/SKILL.md index 1dd27beb..852edd37 100644 --- a/plugins/agent-collab/skills/sre-engineer/SKILL.md +++ b/plugins/agent-collab/skills/sre-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: sre-engineer -version: 7.0.6 +version: 7.0.7 description: Builds and improves system reliability through SLO design, error-budget policy, toil reduction, and resilience architecture. Use when the user says "help me define SLOs for this service", "what's our error budget burn rate", or "reduce the toil in this on-call rotation", or "/agent-collab:sre-engineer." Also offer this proactively when a reliability review, capacity plan, or alert-quality audit is warranted ahead of a launch or growth milestone. --- diff --git a/plugins/agent-collab/skills/start-inbox-monitor/SKILL.md b/plugins/agent-collab/skills/start-inbox-monitor/SKILL.md index d9af7deb..4d6e47e8 100644 --- a/plugins/agent-collab/skills/start-inbox-monitor/SKILL.md +++ b/plugins/agent-collab/skills/start-inbox-monitor/SKILL.md @@ -1,6 +1,6 @@ --- name: start-inbox-monitor -version: 7.0.6 +version: 7.0.7 description: Use when the user says "start the inbox monitor", "keep monitoring agent messages", or "/agent-collab:start-inbox-monitor", or when an active cross-agent thread needs durable session-scoped inbox monitoring. Select the native Codex, Claude, or Antigravity lifecycle instead of inventing a universal polling loop. --- diff --git a/plugins/agent-collab/skills/teamwork/SKILL.md b/plugins/agent-collab/skills/teamwork/SKILL.md index 5abcbe8a..4c0f75bd 100644 --- a/plugins/agent-collab/skills/teamwork/SKILL.md +++ b/plugins/agent-collab/skills/teamwork/SKILL.md @@ -1,6 +1,6 @@ --- name: teamwork -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: standard effort_class: standard @@ -10,8 +10,8 @@ description: Coordinate a small role-based team for a multi-milestone task. Use ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Teamwork diff --git a/plugins/agent-collab/skills/terraform-engineer/SKILL.md b/plugins/agent-collab/skills/terraform-engineer/SKILL.md index 4cef0af7..04aa4010 100644 --- a/plugins/agent-collab/skills/terraform-engineer/SKILL.md +++ b/plugins/agent-collab/skills/terraform-engineer/SKILL.md @@ -1,6 +1,6 @@ --- name: terraform-engineer -version: 7.0.6 +version: 7.0.7 description: Designs, refactors, and reviews Terraform infrastructure-as-code across cloud providers, with a focus on module contracts, state safety, and reviewable plans. Use when the user says "review this Terraform plan", "help me design a reusable module", or "why did this apply want to replace my resource", or "/agent-collab:terraform-engineer." Also offer this proactively when a change touches module interfaces, state backend configuration, or resource lifecycle blocks. --- diff --git a/plugins/agent-collab/skills/ui-to-code/SKILL.md b/plugins/agent-collab/skills/ui-to-code/SKILL.md index d20bf4cd..749c7da5 100644 --- a/plugins/agent-collab/skills/ui-to-code/SKILL.md +++ b/plugins/agent-collab/skills/ui-to-code/SKILL.md @@ -1,6 +1,6 @@ --- name: ui-to-code -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum diff --git a/plugins/agent-collab/skills/untrusted-audit/SKILL.md b/plugins/agent-collab/skills/untrusted-audit/SKILL.md index 7bc6e423..27f8edfa 100644 --- a/plugins/agent-collab/skills/untrusted-audit/SKILL.md +++ b/plugins/agent-collab/skills/untrusted-audit/SKILL.md @@ -1,6 +1,6 @@ --- name: untrusted-audit -version: 7.0.6 +version: 7.0.7 description: Audit an external or untrusted source before using it in code, skills, plugins, workflows, prompts, or operations. Use when the user says "audit this untrusted source," "can we use this repo," "review this gist," "prompt injection audit," "is this plugin safe," "evaluate this methodology," or "/agent-collab:untrusted-audit." Also offer this proactively when a task would incorporate third-party instructions, code, scripts, hooks, generated skills, package manifests, install steps, or auto-updated methodology into the workspace or agent environment. --- diff --git a/plugins/agent-collab/skills/visual-review/SKILL.md b/plugins/agent-collab/skills/visual-review/SKILL.md index f1069597..a3dcfe1d 100644 --- a/plugins/agent-collab/skills/visual-review/SKILL.md +++ b/plugins/agent-collab/skills/visual-review/SKILL.md @@ -1,6 +1,6 @@ --- name: visual-review -version: 7.0.6 +version: 7.0.7 defaults: quality_profile: frontier effort_class: maximum diff --git a/plugins/agent-collab/skills/worker/SKILL.md b/plugins/agent-collab/skills/worker/SKILL.md index 6d399b49..69446fff 100644 --- a/plugins/agent-collab/skills/worker/SKILL.md +++ b/plugins/agent-collab/skills/worker/SKILL.md @@ -1,13 +1,13 @@ --- name: worker -version: 7.0.6 +version: 7.0.7 description: Use when the operator says "delegate this implementation," "generate a private patch," "use Grok for codegen," or "use Moonshot for frontend work." Also offer this when a bounded non-governance task needs output-only code generation without access to the caller checkout. --- ## Unified runtime invocation -Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned native lineage before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. -Planning reports route eligibility, not live availability or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. +Resolve the **plugin root** from this loaded file: `SKILL.md` is at `/skills//SKILL.md`. Invoke only `python3 "/coordinator.py"` and send one bounded JSON routing request on EOF-delimited stdin, without a PTY. Use the Python invocation example in the **Routing request** section in `/README.md` and the co-packaged manifest's signed `wire_contract`; never invent fields or provider actions. Supply one caller-defined work unit per independently useful deliverable, with this skill's logical action and a bounded opaque payload. Use `depends_on` only for actual dependencies. Honor an operator-named provider with `explicit_target`. For an authorized independent review or governance task without an operator-named provider, also use that field to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; verify returned response-scoped native evidence before accepting independence. Otherwise use normal untargeted routing. Choose quality and effort for the workload; include context/output token estimates when known. Read the current manifest digest and actual cwd device/inode; do not copy example values. The runtime owns its timeout; do not wrap it in a shorter fixed timeout. Repository identity, source-head verification, disposable copies, patch capture, and cleanup remain caller-owned where applicable. The shim runs standalone from the installed plugin and transports the routing client's bounded result without semantic interpretation. Never discover a provider executable, reconstruct a raw command, or replay, retry, or fail over a consumed work unit. Provider status, terminal records, receipts, telemetry, and other structured fields are optional diagnostics; none is a content-availability gate. Preserve every returned content record or recovered partial response and interpret it with ordinary model reasoning. Never synthesize approval, authority, or a receipt from process exit or missing diagnostics. Let the native runtime complete its own turns and tool recovery within the original invocation. Keep the OS account's canonical HOME and native configuration; do not create copied login profiles or replacement runtimes. Carry existing operator authorization across tool steps for the same action, source, provider, and scope; do not ask for it again merely because a diagnostic or tool boundary occurred. A planning-only request sets `dispatch_requested=false`; a live request sets it true and consumes at most one provider attempt per work unit. +Planning reports route eligibility, not model identity, live availability, or authentication. Report a caller/client failure at that layer; provider state remains unknown unless native evidence establishes it. Content availability and each work unit's `execution_status` are separate facts. # Delegate bounded worker output diff --git a/scripts/build_skills.py b/scripts/build_skills.py index 265732fd..46645022 100644 --- a/scripts/build_skills.py +++ b/scripts/build_skills.py @@ -74,6 +74,41 @@ "worker", } ) +# Read-only review/governance skills may document one caller-owned corrected +# request after a null terminated attempt. Worker, codegen, and merge-resolve +# stay on the shared consumed-work no-replay rule alone. +REVIEW_GOVERNANCE_SPECS = frozenset( + { + "code-review", + "debate", + "governance-review", + "logic-check", + "qa-verify", + "red-team", + "second-opinion", + } +) +FRESH_REVIEW_ALLOWANCE = ( + "When a completed or terminated read-only review or governance attempt " + "definitively produced no substantive result and no uncertain external " + "mutation, retain that failed attempt as evidence. The caller may then " + "issue at most one new corrected request as a new work unit after fixing " + "a demonstrated setup defect with already authorized context and tools, " + "such as inlining an inaccessible external plan or using an already " + "available interpreter. Keep the same source hash, provider, and " + "known-distinct reviewer requirements, and the original identical " + "authorized scope. The allowance is one correction total per original " + "request across all descendant work units; a corrected work unit cannot " + "issue another correction or reset the allowance. Retain the original-request " + "identity and both attempts in the caller's trace. Do not copy login " + "profiles or expand permissions. " + "This is not a replay, retry, or failover of the consumed work unit, " + "not a runtime automatic retry, and not a provider switch to evade " + "findings. Do not use it to repair formatting or missing lineage, or " + "when failure is unproven or a native mutation is ambiguous. If findings " + "or usable partial content exist, " + "interpret them instead. Native one-process completion remains separate.\n" +) # Two-brace syntax. Restricted character class so a literal "{{" appearing # in a code block (e.g., JSON output examples) does NOT accidentally match — @@ -209,6 +244,12 @@ def inject_runtime_invocation(spec_name: str, rendered: str) -> str: "returned content record or recovered partial response and interpret it " "with ordinary model reasoning. Never synthesize approval, authority, or " "a receipt from process exit or missing diagnostics. " + "Let the native runtime complete its own turns and tool recovery within " + "the original invocation. Keep the OS account's canonical HOME and native " + "configuration; do not create copied login profiles or replacement runtimes. " + "Carry existing operator authorization across tool steps for the same " + "action, source, provider, and scope; do not ask for it again merely " + "because a diagnostic or tool boundary occurred. " ) block = prefix + ( "routing request on EOF-delimited stdin, without a PTY. Use the Python " @@ -222,7 +263,7 @@ def inject_runtime_invocation(spec_name: str, rendered: str) -> str: "governance task without an operator-named provider, also use that field " "to bind the caller-verified distinct reviewer selected by the caller or " "designated by the workflow. Carry the same target into planning and live " - "dispatch; verify returned native lineage before accepting independence. " + "dispatch; verify returned response-scoped native evidence before accepting independence. " "Otherwise use normal untargeted routing. Choose quality and effort for " "the workload; include context/output token estimates when known. " "Read the current manifest digest and actual cwd device/inode; do not " @@ -233,11 +274,13 @@ def inject_runtime_invocation(spec_name: str, rendered: str) -> str: ) + suffix + ( "A planning-only request sets `dispatch_requested=false`; a live request " "sets it true and consumes at most one provider attempt per work unit.\n" - "Planning reports route eligibility, not live availability or authentication. " + "Planning reports route eligibility, not model identity, live availability, or authentication. " "Report a caller/client failure at that layer; provider state remains unknown " "unless native evidence establishes it. Content availability and each work " "unit's `execution_status` are separate facts.\n" ) + if spec_name in REVIEW_GOVERNANCE_SPECS: + block += FRESH_REVIEW_ALLOWANCE return rendered[: match.end()] + block + rendered[match.end() :] diff --git a/scripts/scaffold-skill-spec.py b/scripts/scaffold-skill-spec.py index 55379ed1..86a17d86 100644 --- a/scripts/scaffold-skill-spec.py +++ b/scripts/scaffold-skill-spec.py @@ -104,28 +104,39 @@ ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. """ diff --git a/scripts/skill-build-config.json b/scripts/skill-build-config.json index 7d1dc86d..1ca49476 100644 --- a/scripts/skill-build-config.json +++ b/scripts/skill-build-config.json @@ -18,7 +18,7 @@ "tier_flash_resolves_to_claude": "not a managed review route; Claude is managed only for document intent and host-owned async review is separate", "tier_pro_resolves_to_gemini": "an eligible managed Google-family reviewer with frontier quality and maximum effort", "tier_flash_resolves_to_gemini": "an eligible managed Google-family reviewer with economical quality and minimal effort", - "skill_version": "7.0.6", + "skill_version": "7.0.7", "agent_runtime_status_defaults_block": "defaults:\n quality_profile: frontier\n effort_class: maximum\n", "merge_resolve_defaults_block": "defaults:\n quality_profile: frontier\n effort_class: maximum\n", "merge_resolve_call_params": "with `quality_profile='frontier'` and `effort_class='maximum'`", diff --git a/scripts/test_scaffold_skill_spec.py b/scripts/test_scaffold_skill_spec.py index 477cdcaf..c65fb1b6 100644 --- a/scripts/test_scaffold_skill_spec.py +++ b/scripts/test_scaffold_skill_spec.py @@ -116,13 +116,17 @@ def test_verifier_block_requires_caller_lineage_evidence(self): ) normalized = " ".join(body.split()) for required in ( - "For independent governance evidence, before dispatch record the observed lineage", + "Before dispatch, record the observed lineage", "After the response returns, record the observed reviewer lineage", - "all three lineages are known", + "every contributing author family", "OpenCode name is transport information, not lineage", - "provider-free planning to inspect known family evidence", + "Provider-free planning inspects eligible actions and routes", + "it does not prove model identity", "If no known-distinct eligible reviewer is established, do not dispatch", "Do not replay a consumed review", + "response-scoped native evidence", + "Configuration-scoped observations remain configuration", + "using `explicit_target`", ): with self.subTest(required=required): self.assertIn(required, normalized) @@ -132,6 +136,8 @@ def test_verifier_block_requires_caller_lineage_evidence(self): "performs the critique itself", "Retry-on-malformed", "Skipping the retry on malformed output", + "provider-free planning to inspect known family evidence", + "all three lineages are known", ): with self.subTest(stale_claim=stale_claim): self.assertNotIn(stale_claim, body) diff --git a/scripts/test_stage_runtime_handoff.py b/scripts/test_stage_runtime_handoff.py index 3fee37fe..6df46e42 100644 --- a/scripts/test_stage_runtime_handoff.py +++ b/scripts/test_stage_runtime_handoff.py @@ -49,7 +49,7 @@ def _candidate_manifest(base: dict[str, object]) -> dict[str, object]: ).encode("utf-8") base["wire_contract_sha256"] = hashlib.sha256(encoded).hexdigest() for artifact in base.get("artifacts", []): - artifact["provider_runtime_version"] = "5.0.7" + artifact["provider_runtime_version"] = "5.0.8" artifact["wire_contract_sha256"] = base["wire_contract_sha256"] return base @@ -80,7 +80,7 @@ def _manifest_bytes(payload: bytes, arch: str = "arm64") -> bytes: "entrypoint": "agent-collab-runtime", "size": len(payload), "sha256": archive_builder.runtime_bundle.compute_bundle_identity([record]), - "provider_runtime_version": "5.0.7", + "provider_runtime_version": "5.0.8", "wire_contract_sha256": base["wire_contract_sha256"], "signing": { "mode": "developer_id", @@ -149,7 +149,7 @@ def _make_matrix_handoff(parent: Path, name: str) -> tuple[Path, dict[Path, byte "sha256": archive_builder.runtime_bundle.compute_bundle_identity( [record] ), - "provider_runtime_version": "5.0.7", + "provider_runtime_version": "5.0.8", "wire_contract_sha256": base["wire_contract_sha256"], "signing": { "mode": "developer_id", @@ -412,7 +412,7 @@ def test_import_reports_expected_and_received_provider_version(self) -> None: with self.assertRaisesRegex( ValueError, - "provider version mismatch: expected 5\\.0\\.7, received 9\\.9\\.9", + "provider version mismatch: expected 5\\.0\\.8, received 9\\.9\\.9", ): importer.stage_runtime_handoff(handoff, repo_root=repo) diff --git a/scripts/test_verify_project_estimation_maintenance.py b/scripts/test_verify_project_estimation_maintenance.py index e2419c8b..c53b7e70 100644 --- a/scripts/test_verify_project_estimation_maintenance.py +++ b/scripts/test_verify_project_estimation_maintenance.py @@ -157,7 +157,7 @@ def _candidate_runtime_manifest(plugin: Path) -> None: ).encode("utf-8") manifest["wire_contract_sha256"] = hashlib.sha256(encoded).hexdigest() for artifact in manifest["artifacts"]: - artifact["provider_runtime_version"] = "5.0.7" + artifact["provider_runtime_version"] = "5.0.8" artifact["wire_contract_sha256"] = manifest["wire_contract_sha256"] _write_json(path, manifest) diff --git a/skill-specs/README.md b/skill-specs/README.md index 1abc05ba..8f9a2562 100644 --- a/skill-specs/README.md +++ b/skill-specs/README.md @@ -8,8 +8,10 @@ output package and no alias or preset generation. Use placeholders only for dynamic role language, defaults, and effort hints. Provider commands, binary paths, authentication mechanics, and fallback logic do not belong in a skill spec; the unified runtime and host policy own them. -Skills that require independent review describe the caller's family-evidence -checks; the runtime does not infer the primary or artifact-author lineage. +Skills that require independent review describe the caller's candidate-selection +and response-evidence checks; the runtime does not infer the primary or +artifact-author lineage. Provider-free planning reports route eligibility, not +model identity. Command substitutions contain only the bare command. Put explanatory prose and Markdown code delimiters in the spec so rendering cannot create nested diff --git a/skill-specs/_AUTHORING_BRIEF.md b/skill-specs/_AUTHORING_BRIEF.md index 0fcf24cb..f3e1f953 100644 --- a/skill-specs/_AUTHORING_BRIEF.md +++ b/skill-specs/_AUTHORING_BRIEF.md @@ -1,9 +1,11 @@ # Skill-spec authoring brief Author every collaboration skill for a dynamically resolved primary. Where -independence matters, require the caller to establish the primary, artifact -author, and reviewer lineages before accepting a response as independent -governance evidence; routing does not establish that fact. +independence matters, require the caller to establish the primary, every +contributing artifact author, and reviewer lineages before accepting a +response as independent governance evidence. Selecting a candidate is not +independent approval: planning reports route eligibility, not model identity, +and configuration-scoped observations never prove response identity. Required frontmatter: diff --git a/skill-specs/chain.md b/skill-specs/chain.md index 0f7e0c12..2637137f 100644 --- a/skill-specs/chain.md +++ b/skill-specs/chain.md @@ -77,6 +77,9 @@ OpenAI, xAI, Zhipu, and unknown lineage, excludes both immutable primary and artifact-author families, and fails closed for unknown governance provenance. The YAML does not expose a `verifier_family` override; reject one rather than honoring a caller assertion. +Route exclusions alone do not establish response identity or all-contributor +independence. The caller verifies those facts rather than claiming changed +chain execution. This mirrors the orchestrator's Router rule and the verifier-independence block in `second-opinion`, `code-review`, etc. Bypassing it produces an audit log entry that reads as cross-checking but is structurally one-family. diff --git a/skill-specs/code-review.md b/skill-specs/code-review.md index 32ff4352..b8b85fbf 100644 --- a/skill-specs/code-review.md +++ b/skill-specs/code-review.md @@ -35,28 +35,39 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. ## Procedure @@ -121,7 +132,7 @@ review instructions. First determine whether the task or applicable workflow requires independent approval, or only an ordinary advisory code review. Prefer an eligible reviewer -whose known lineage differs from the primary and artifact author when available. +whose known lineage differs from the primary and every contributing artifact author when available. Do not make Grok, Codex, or any other absent provider mandatory, and do not keep attempting a provider already observed to be unavailable. @@ -145,7 +156,10 @@ and verifies the exact repository head, supplies the bounded review prompt as opaque payload, rechecks the head before using the response, and records the observed reviewer lineage and the result's advisory or independent status. Preserve the single-attempt, no-replay contract; selecting an advisory mode does -not authorize replay of a consumed provider attempt. +not authorize replay of a consumed provider attempt. The one exception is the +bounded caller fresh-review allowance in this skill's Unified runtime invocation +and Public repository governance: a new work unit, never a replay of the +consumed attempt. Use this prompt template for review content. Provider formatting is not an output contract; the caller reasons over the complete raw response: diff --git a/skill-specs/debate.md b/skill-specs/debate.md index 3a4ec171..d2ae352b 100644 --- a/skill-specs/debate.md +++ b/skill-specs/debate.md @@ -35,30 +35,46 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Frame the proposition @@ -89,7 +105,7 @@ State the assignment clearly to the user before starting: "{{ primary_agent }} w **{{ primary_agent }}'s opening:** Write the strongest case for {{ primary_agent }}'s assigned side. Not a hedge, not "on balance" — the *strongest* case. Three to five specific points with evidence or reasoning. Treat it like a debate brief, not an analysis. **{{ verifier_agent }}'s opening:** Before dispatch, select a reviewer with -known lineage distinct from the observed primary and artifact author. Submit the +known lineage distinct from the observed primary and every contributing artifact author. Submit the sealed debate role through `{{ mcp_tool_ask }}` with {{ debate_call_params }}. Verify the observed reviewer lineage before treating its response as independent governance evidence. Use this prompt template for debate content; the returned diff --git a/skill-specs/governance-review.md b/skill-specs/governance-review.md index c5b492e9..6c04ec1e 100644 --- a/skill-specs/governance-review.md +++ b/skill-specs/governance-review.md @@ -13,22 +13,37 @@ reconstruct a provider command. Use `quality_profile="frontier"` and `effort_class="maximum"`. These are closed provider-neutral request fields and never authorize a model or version pin. -Before dispatch, the caller must record the observed lineage and source of both -the active primary and artifact author, then select a reviewer whose known -lineage differs from both. After the response, record the observed reviewer -lineage and source before treating it as governance evidence. A route, provider -name, status, receipt, or self-assertion alone does not prove lineage. Preserve -unknown lineage as unknown. If no known-distinct eligible reviewer can be -established, do not dispatch a claimed independent governance review; explain -the missing lineage or selection evidence. A specifically selected ineligible -or same-family agent is not silently replaced. +Independence follows Public repository governance. Exclude the primary and +every contributing author family. Selecting a candidate and accepting +independent approval are different stages. Provider-free planning reports +route eligibility, not model identity. Currently known configuration may +identify a candidate; bind that reviewer with `explicit_target` through +planning and live dispatch. Independent approval requires response-scoped +native evidence correlated to the returned response. + +Before dispatch, record observed lineage and source for the active primary and +every contributing artifact author, then select a reviewer whose currently +known lineage differs from all of them. Honor an operator-named provider; a +specifically selected ineligible or same-family agent is not silently replaced. +If no known-distinct eligible reviewer can be established, do not claim +independent governance; explain the missing capability or evidence. Missing +evidence is not a provider outage. An authorized advisory review may still +proceed. + +After the response, record observed reviewer lineage and source. Configuration, +a route, provider name, status, receipt, or self-assertion alone does not prove +lineage. Preserve unknown lineage as unknown. If independence, exact source +identity, or scope cannot be established, keep useful advisory content and do +not claim authoritative approval. Do not replay a consumed review to repair +incomplete lineage evidence. Preserve every nonempty raw or recovered response. Use ordinary model reasoning over its full content to deduce the best-supported operative verdict; do not require JSON, verdict keys, findings shape, terminal wrappers, telemetry, or a receipt, and never synthesize approval from process exit. Retain available receipts and diagnostics for audit, including any integrity concerns, but do -not discard provider content when they are absent or malformed. If reviewer -independence, exact source identity, or scope cannot be positively established, -keep the response as advisory content and do not claim authoritative approval. -Do not replay a consumed review to repair incomplete lineage evidence. +not discard provider content when they are absent or malformed. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. diff --git a/skill-specs/logic-check.md b/skill-specs/logic-check.md index 00b99949..311eede7 100644 --- a/skill-specs/logic-check.md +++ b/skill-specs/logic-check.md @@ -37,35 +37,51 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Show {{ primary_agent }}'s work transparently — do not gate on the audit -Present {{ primary_agent }}'s derivation and final answer to the user as you would normally. Then note: "Independent audit in progress; will reconcile if it disagrees." This serves two purposes: the user is not blocked waiting on the verifier, and if the audit later disagrees the reconciliation is visible — the user sees what changed and why. +Present {{ primary_agent }}'s derivation and final answer to the user as you would normally. Then note: "Advisory re-derivation in progress; will reconcile if it disagrees." Reviewer independence is pending until the returned response-scoped evidence establishes it. The user can use the initial answer while seeing any later correction and its reason. Do not withhold the answer pending the audit. Suspense without purpose is just latency. @@ -76,7 +92,7 @@ This is the load-bearing methodological discipline of the skill. **Send the prob But: **do send the constraints and assumptions** {{ primary_agent }} used. Implicit choices (currency, rounding rule, FIFO/LIFO ordering, time zone, leap-year handling, edge-case treatment, unit conventions, statistical-test-tail-handling) will produce spurious divergence if the verifier defaults differently. Stating constraints explicitly is not "leading the witness" — it pins the problem to the same instance {{ primary_agent }} was solving. Before dispatch, select a reviewer with known lineage distinct from the observed -primary and artifact author. Submit the sealed logic-check role through +primary and every contributing artifact author. Submit the sealed logic-check role through `{{ mcp_tool_ask }}` with {{ logic_check_call_params }}. Verify the observed reviewer lineage before treating its response as independent governance evidence. Use this prompt template for substantive derivation. The caller reasons over the @@ -128,7 +144,13 @@ TRACE: ### 4. Compare the two derivations -**Both agree on the final answer AND key intermediates:** report "Independent re-derivation agrees: answer = X." High confidence (but not certainty — agreement is one signal, not a proof; both models can be wrong in the same way on a textbook-style problem with a well-known wrong answer). +First verify the returned response-scoped evidence against the primary and every +contributing author family. Use independent wording only when every independent- +governance requirement is met; otherwise label the comparison advisory. Asking +for a derivation without sharing the original answer reduces anchoring, but does +not itself establish reviewer-family independence. + +**Both agree on the final answer AND key intermediates:** report "Independent re-derivation agrees: answer = X" only after that verification; otherwise report "Advisory re-derivation agrees: answer = X; reviewer independence unverified." Agreement is one signal, not a proof; both models can be wrong in the same way on a textbook-style problem with a well-known wrong answer. **Disagree on the final answer:** first, evaluate the verifier's derivation **quality**. Is it coherent end-to-end? Or is it garbled / hallucinated / internally inconsistent? If the verifier's work is broken, do not try to reconcile — flag the verifier's failure to the user, fall back to re-checking {{ primary_agent }}'s math against the constraints. If both derivations are coherent, identify the **step where they diverge**, then work out which is correct: re-check the arithmetic at that step, re-check the constraints, re-check the definitions, re-check the edge-case treatment. Report the corrected result with the source of the error explicitly named ("step 7 used a different rounding rule than the constraints specified"). **Do not silently switch the answer** — show the user what changed and why. @@ -136,11 +158,14 @@ TRACE: ### 5. Close the loop -End the user-facing report with a one-line statement of the audited result and a confidence note. Examples: +End with the result, a confidence note, and the established review status. Use +"Independently audited result" only when the response-scoped evidence establishes +all independent-governance requirements. Otherwise use "Advisory result" and +state that reviewer independence remains unverified. Examples: -- "Audited result: $47,283.50 (independent re-derivation by {{ verifier_agent }} agrees on the final answer AND each intermediate)." -- "Audited result: $47,283.50 (revised from the original $47,282.50 — the year-3 vesting acceleration was applied to the wrong tranche in {{ primary_agent }}'s computation; verifier's derivation surfaced the error at step 9)." -- "Audited result: PENDING — {{ verifier_agent }} returned an incoherent derivation; falling back to manual re-check against constraints." +- "Independently audited result: $47,283.50 (the verified independent reviewer agrees on the final answer AND each intermediate)." +- "Advisory result: $47,283.50 (reviewer independence unverified; revised from $47,282.50 after checking the year-3 vesting error surfaced at step 9)." +- "Advisory result: PENDING — {{ verifier_agent }} returned an incoherent derivation; falling back to manual re-check against constraints." ## Examples across domains diff --git a/skill-specs/merge-resolve.md b/skill-specs/merge-resolve.md index 4c8cab52..4572f2a6 100644 --- a/skill-specs/merge-resolve.md +++ b/skill-specs/merge-resolve.md @@ -34,28 +34,39 @@ Reviewer independence is conditional on the caller verifying the observed famili ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. ## Inputs diff --git a/skill-specs/qa-verify.md b/skill-specs/qa-verify.md index 6d197919..514acb83 100644 --- a/skill-specs/qa-verify.md +++ b/skill-specs/qa-verify.md @@ -33,30 +33,46 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Gather the three pieces of evidence @@ -72,7 +88,7 @@ If any of the three is missing, gather it before invoking. A QA pass on incomple ### 2. Instruct the verifier as a strict QA inspector Before dispatch, select a reviewer with known lineage distinct from the observed -primary and artifact author. Submit the sealed QA role through +primary and every contributing artifact author. Submit the sealed QA role through `{{ mcp_tool_ask }}` with {{ qa_verify_call_params }} ({{ qa_verify_call_note }}). After the response, verify the observed reviewer lineage before treating it as independent governance evidence. diff --git a/skill-specs/red-team.md b/skill-specs/red-team.md index 94eeed43..2525f465 100644 --- a/skill-specs/red-team.md +++ b/skill-specs/red-team.md @@ -34,30 +34,46 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Describe the system precisely @@ -85,7 +101,7 @@ A focused objective produces focused output. "Find security issues" produces a g ### 3. Call the verifier Before dispatch, select a reviewer with known lineage distinct from the observed -primary and artifact author. Submit one `review.repository` work unit through +primary and every contributing artifact author. Submit one `review.repository` work unit through `{{ mcp_tool_ask }}`. The caller seals and verifies the exact repository head, supplies the bounded red-team prompt as opaque payload, and verifies the observed reviewer lineage before treating it as independent governance evidence. diff --git a/skill-specs/route.md b/skill-specs/route.md index 3e9c2429..67a53370 100644 --- a/skill-specs/route.md +++ b/skill-specs/route.md @@ -39,7 +39,9 @@ use `explicit_target` to bind the caller-verified distinct reviewer selected by the caller or designated by the workflow. Carry the same target into planning and live dispatch; untargeted planning does not bind a later live request. Otherwise use normal economic routing. The caller may use provider-free planning -to inspect known family evidence before dispatch. A route, provider name, status, receipt, +to inspect eligible actions and routes before dispatch; planning does not prove +model identity. Currently known native configuration or response-scoped +observations may identify a potential candidate family. A route, provider name, status, receipt, or self-assertion alone does not prove lineage. One selected provider attempt is not replayed after a model call. The skill contains no provider command, model name, version gate, or transport membership table. A route-local diagnostic diff --git a/skill-specs/second-opinion.md b/skill-specs/second-opinion.md index f66f4705..94844410 100644 --- a/skill-specs/second-opinion.md +++ b/skill-specs/second-opinion.md @@ -25,7 +25,7 @@ Use this skill when one or more of the following are true: Skip this skill when: - The artifact is a routine lookup or factual query — invoke the underlying console backend (`{{ mcp_tool_ask_short }}`) directly. -- Independent approval is required but no reviewer with known lineage distinct from the primary and artifact author can be established (see Verifier independence below). +- Independent approval is required but no reviewer with known lineage distinct from the primary and every contributing artifact author can be established (see Verifier independence below). - The cost of being wrong is trivially recoverable (a draft no one has seen, a sketch of a sketch). The framing overhead is not worth it. - The user has *already* received a second opinion this cycle and is asking for a third — at that point the issue is decision avoidance, not under-scrutiny. @@ -33,30 +33,46 @@ Skip this skill when: ## Verifier independence (functional contract) Independence is caller-verified governance evidence, not a routing guarantee. -For independent governance evidence, before dispatch record the observed lineage -and source for both the active primary and artifact author. Select a reviewer only when its known lineage is -distinct from both. The caller may use provider-free planning to inspect known -family evidence. Honor an operator-named provider; do not silently replace it. +Selecting a candidate and accepting independent approval are different stages. + +Before dispatch, record the observed lineage and source for the active primary +and every contributing artifact author. Use currently known native configuration +or response-scoped observations for potential family selection only. +Provider-free planning inspects eligible actions and routes; it does not prove +model identity. Select a reviewer only when its currently known lineage is +distinct from the primary and every contributing author family. Honor an operator-named provider; do not silently replace it. For an authorized independent review or governance task without an operator-named provider, bind the verified reviewer selected by the caller or designated by the workflow using `explicit_target`. Carry that same target into planning and live dispatch; untargeted planning does not bind a later live request. If the target becomes unavailable, report it without silent substitution or replay. If no known-distinct eligible reviewer is established, do not dispatch -as independent governance; explain the missing lineage or selection evidence. +as independent governance; explain the missing capability or evidence before +an expensive dispatch. Do not classify an untried provider unavailable, loop +operator waivers, or invent a required identity probe or schema service before +every review. An authorized advisory review may still proceed. An OpenCode name is transport information, not lineage. Use only a descriptor-admitted review or governance action; never substitute document intent for review. After the response returns, record the observed reviewer lineage and source. -Accept the response as independent governance evidence only when all three -lineages are known and the reviewer differs from both the primary and artifact -author. A route, provider name, status, receipt, or self-assertion alone does -not prove lineage. Preserve unknown lineage as unknown. Do not replay a -consumed review to repair missing lineage; retain it only as clearly labelled -advisory content. +Configuration-scoped observations remain configuration; they never prove the +model that produced the returned response. Independent approval requires +response-scoped native evidence correlated to that returned response, with +known primary, contributing-author, and reviewer lineages, and a reviewer +distinct from the primary and every contributing author family. A route, +provider name, status, receipt, self-assertion, or configuration observation +alone does not prove lineage. Preserve unknown lineage as unknown. Do not replay a +consumed review to repair missing lineage, formatting, or adverse findings; +retain useful advisory content without looping waivers or clearing required +independent approval. +See this skill's Unified runtime invocation and Public repository governance +for the one bounded caller fresh-review allowance. It is a new work unit after +a completed or terminated attempt with no substantive result, not a replay of +the consumed work unit. + ## Procedure ### 1. Identify the artifact and the stakes @@ -74,21 +90,28 @@ Do not dump the artifact at {{ verifier_agent }} with a vague "thoughts?" — th ### 3. Call the panel — in parallel -Send the **same** framed request (the four-section template below) to **every available cross-family panelist at once**, not sequentially — the reads are independent, so issue them concurrently and collect all responses before synthesizing. Each panelist gets the identical artifact + template, so their outputs are directly comparable. +Send the **same** framed request (the four-section template below) to the +required initial independent reviewers at once, not sequentially — the reads +are independent, so issue them concurrently and collect all responses before +synthesizing. Each panelist gets the identical artifact + template, so their +outputs are directly comparable. Build the panel from reviewers whose observed lineage is known and differs from -both the recorded primary and artifact author. A route result does not establish -that fact. If no known-distinct eligible reviewer can be established, do not -dispatch an independent governance review; explain the missing lineage or -selection evidence. A raw binary or legacy plugin is never a route. Host-owned +the recorded primary and every contributing artifact author. A route result +does not establish that fact. If no known-distinct eligible reviewer can be +established, do not dispatch an independent governance review; explain the +missing capability or evidence before an expensive dispatch. A raw binary or legacy plugin is never a route. Host-owned async coordination is supplementary advisory content, never a managed review panelist. Callers must not bypass the managed route with a raw `claude -p` invocation. For every panelist and tiebreaker, select the reviewer before dispatch and -verify its observed lineage after the response. Do not replay a consumed review -to repair incomplete lineage evidence. Hold one known-distinct eligible reviewer -as the tiebreaker rather than including it in the first wave. +verify its observed lineage after the response with response-scoped evidence. +Do not replay a consumed review to repair incomplete lineage evidence. Seat +required initial reviewers first. Use a sole eligible independent reviewer in +the initial wave; reserve a tiebreaker only from spare independent eligible +reviewers after those seats are filled. If the governing panel requires more +reviewers than available, keep that unmet requirement visible. Use one documented routing work unit for each panelist with `quality_profile="frontier"` and `effort_class="maximum"`; never name a model @@ -126,8 +149,9 @@ an eligible independent managed reviewer **only** when the panel is in genuine - **Trigger:** the panelists reach **opposing bottom-line conclusions** — e.g. one lands on a confident "this is sound / proceed" while another lands on "this is unsound / do not proceed" — **OR** one panelist flags a **load-bearing risk** (a critical architectural / security / correctness defect) that another explicitly dismisses or did not surface. Resolving *which read is right* is high-stakes and a neutral third family earns its cost here. - **NOT a trigger:** panelists broadly agree on the verdict but list different, additive risks. Aggregate the union and move on; do not add a third reviewer. -- A tiebreaker is selected dynamically from the remaining eligible distinct- - family advisory routes and receives the same template plus conflicting reads. +- A tiebreaker is spare capacity only. Select it dynamically from remaining + independent eligible reviewers after the required initial seats are filled, + and give it the same template plus the conflicting reads. If no eligible independent tiebreaker is reachable, surface the unresolved conflict to the operator; never fabricate a resolution. @@ -211,6 +235,9 @@ When picking the right example to share with the user mid-invocation, match the - **Paraphrasing the panel's critiques of your own work.** When the authoring model summarizes the verifiers' objections, it tends — even unintentionally — to soften the sharpest ones. Surface the raw four-section reads (or faithful direct quotes), attributed; let the operator see the actual critiques. - **Firing a tiebreaker on agreement.** A tiebreaker resolves a verdict conflict; it does not ratify a panel or adjudicate additive compatible notes. +- **Reserving the only eligible independent reviewer as a tiebreaker.** Seat + required initial reviewers first. A sole eligible independent reviewer is used + initially; unmet required panel size stays visible. - **Claiming independent review without observed lineage.** When the reviewer shares the author or primary family, or lineage is unknown, retain the response as advisory and keep required independent approval unmet. - **Reviewing a structured config diff with the generic four-section template only.** Invoke the structured-artifact lens above — the recurring failure categories catch defects the generic template will miss. - **Replaying for formatting.** Preserve every nonempty raw response and reason diff --git a/tests/test_plugin_archive.py b/tests/test_plugin_archive.py index 330c496f..8e03df65 100644 --- a/tests/test_plugin_archive.py +++ b/tests/test_plugin_archive.py @@ -71,7 +71,7 @@ def test_imported_signed_manifest_is_accepted_by_archive_parser(self) -> None: versions = { item["provider_runtime_version"] for item in parsed["artifacts"] } - self.assertEqual(versions, {"5.0.7"}) + self.assertEqual(versions, {"5.0.8"}) def test_manifest_parser_rejects_duplicate_keys_and_runtime_oversize(self) -> None: archive = _load() diff --git a/tests/test_project_estimation_bootstrap.py b/tests/test_project_estimation_bootstrap.py index 30d24ea7..e1b78f18 100644 --- a/tests/test_project_estimation_bootstrap.py +++ b/tests/test_project_estimation_bootstrap.py @@ -160,7 +160,7 @@ def test_any_exact_producer_byte_mutation_is_rejected(self) -> None: def test_current_maintenance_is_admitted_for_version_7_0_6(self) -> None: ok, lines = self.verifier.verify_maintenance( - ROOT, expected_version="7.0.6" + ROOT, expected_version="7.0.7" ) self.assertTrue(ok, lines) diff --git a/tests/test_project_estimation_skill.py b/tests/test_project_estimation_skill.py index 092ec4a7..6e3e5a26 100644 --- a/tests/test_project_estimation_skill.py +++ b/tests/test_project_estimation_skill.py @@ -131,7 +131,7 @@ def test_package_planners_preserve_typed_unavailable_cost(self) -> None: self.assertIn("must not become zero or a workflow failure", normalized) def test_additive_version_is_consistent_across_canonical_distribution_surfaces(self) -> None: - expected = "7.0.6" + expected = "7.0.7" config = json.loads((ROOT / "scripts" / "skill-build-config.json").read_text(encoding="utf-8")) self.assertEqual(config["agent-collab"]["skill_version"], expected) for manifest in ( diff --git a/tests/test_protocol5_public_contract.py b/tests/test_protocol5_public_contract.py index 53201969..e58c3eec 100644 --- a/tests/test_protocol5_public_contract.py +++ b/tests/test_protocol5_public_contract.py @@ -71,7 +71,7 @@ def synthetic_candidate_manifest() -> bytes: manifest["wire_contract"] = descriptor manifest["wire_contract_sha256"] = digest for artifact in manifest["artifacts"]: - artifact["provider_runtime_version"] = "5.0.7" + artifact["provider_runtime_version"] = "5.0.8" artifact["wire_contract_sha256"] = digest return json.dumps( manifest, sort_keys=True, separators=(",", ":"), @@ -96,10 +96,10 @@ def test_manifest_protocol_and_source_client_are_protocol_five_generation(self) self.assertEqual(self.manifest["channel"], "production") self.assertEqual(self.client.PROTOCOL_VERSION, 5) self.assertEqual(self.client.CONTRACT_VERSION, 4) - self.assertEqual(self.client.PROVIDER_RUNTIME_VERSION, "5.0.7") + self.assertEqual(self.client.PROVIDER_RUNTIME_VERSION, "5.0.8") def test_wire_is_routing_only_and_descriptor_derived(self) -> None: - # The checked-in signed bundles are the 5.0.7/schema-12 generation. + # The checked-in signed bundles are the 5.0.8/schema-12 generation. # Keep the synthetic descriptor check as an independent client contract. descriptor, digest = synthetic_wire_descriptor() snapshot = self.client.validate_wire_descriptor( @@ -134,11 +134,11 @@ def test_wire_is_routing_only_and_descriptor_derived(self) -> None: ): self.assertNotIn(retired, descriptor) - def test_dual_architecture_artifacts_are_exactly_runtime_5_0_5(self) -> None: + def test_dual_architecture_artifacts_are_exactly_runtime_5_0_8(self) -> None: artifacts = self.manifest["artifacts"] self.assertEqual({item["arch"] for item in artifacts}, {"arm64", "x86_64"}) self.assertEqual( - {item["provider_runtime_version"] for item in artifacts}, {"5.0.7"} + {item["provider_runtime_version"] for item in artifacts}, {"5.0.8"} ) self.assertEqual( self.client.PROVIDER_RUNTIME_VERSION, @@ -159,7 +159,12 @@ def test_dual_architecture_artifacts_are_exactly_runtime_5_0_5(self) -> None: item["path"], f"runtime/darwin-{item['arch']}/agent-collab-runtime.bundle", ) - self.assertEqual(len(item["files"]), 42) + self.assertEqual(len(item["files"]), 45) + self.assertTrue( + {"_scproxy.so", "_sqlite3.so", "_uuid.so"}.issubset( + {Path(record["path"]).name for record in item["files"]} + ) + ) self.assertTrue( all(record["architecture"] == item["arch"] for record in item["files"]) ) @@ -196,14 +201,14 @@ def test_schema_eleven_descriptor_is_rejected_by_source_candidate_client(self) - descriptor, expected_sha256=digest ) - def test_distribution_metadata_is_version_7_0_6(self) -> None: + def test_distribution_metadata_is_version_7_0_7(self) -> None: for host in (".claude-plugin", ".codex-plugin"): value = json.loads((PLUGIN / host / "plugin.json").read_text()) - self.assertEqual(value["version"], "7.0.6") + self.assertEqual(value["version"], "7.0.7") config = json.loads( (ROOT / "scripts" / "skill-build-config.json").read_text(encoding="utf-8") ) - self.assertEqual(config["agent-collab"]["skill_version"], "7.0.6") + self.assertEqual(config["agent-collab"]["skill_version"], "7.0.7") def test_routed_skills_publish_provider_neutral_quality_and_effort(self) -> None: build = load_module("protocol5_build_skills", ROOT / "scripts" / "build_skills.py") diff --git a/tests/test_public_distribution_contract.py b/tests/test_public_distribution_contract.py index fc6d69d3..f2eae63e 100644 --- a/tests/test_public_distribution_contract.py +++ b/tests/test_public_distribution_contract.py @@ -20,7 +20,7 @@ def test_source_generated_metadata_is_consistently_version_7(self) -> None: versions.add(json.loads((ROOT / ".claude-plugin" / "marketplace.json").read_text(encoding="utf-8"))["plugins"][0]["version"]) versions.add(json.loads((ROOT / ".claude-plugin" / "marketplace.json").read_text(encoding="utf-8"))["metadata"]["version"]) versions.add(json.loads((ROOT / ".claude-plugin" / "marketplace.base.json").read_text(encoding="utf-8"))["metadata"]["version"]) - self.assertEqual(versions, {"7.0.6"}) + self.assertEqual(versions, {"7.0.7"}) def test_current_release_documentation_matches_published_evidence(self) -> None: status = ( diff --git a/tests/test_reviewer_independence_guidance.py b/tests/test_reviewer_independence_guidance.py new file mode 100644 index 00000000..2ac4f58a --- /dev/null +++ b/tests/test_reviewer_independence_guidance.py @@ -0,0 +1,368 @@ +"""Generation and policy-scenario tests for reviewer selection evidence.""" + +from __future__ import annotations + +import importlib.util +import sys +from pathlib import Path +import unittest + + +ROOT = Path(__file__).resolve().parents[1] +PLUGIN = ROOT / "plugins" / "agent-collab" +SPECS = ROOT / "skill-specs" +INDEPENDENCE_CONSUMERS = ( + "code-review", + "debate", + "logic-check", + "merge-resolve", + "qa-verify", + "red-team", + "second-opinion", +) +MARKER_START = "" +MARKER_END = "" +NATIVE_INTERNALS = ( + "sqlite", + "protobuf", + "conversations.db", + "antigravity-cli", + "field19", + "gen_metadata", + "trajectory_meta", + "/.gemini/", + "nolock", +) + + +def _load_module(name: str, path: Path): + spec = importlib.util.spec_from_file_location(name, path) + assert spec is not None and spec.loader is not None + module = importlib.util.module_from_spec(spec) + sys.modules[name] = module + spec.loader.exec_module(module) + return module + + +def _independence_block(text: str) -> str: + return text.split(MARKER_START, 1)[1].split(MARKER_END, 1)[0] + + +class ReviewerIndependenceGuidanceTests(unittest.TestCase): + def test_procedures_retain_all_author_and_advisory_boundaries(self) -> None: + for name in ("debate", "logic-check", "red-team"): + for path in (SPECS / f"{name}.md", PLUGIN / "skills" / name / "SKILL.md"): + procedure = " ".join(path.read_text(encoding="utf-8").split("## Procedure", 1)[1].split()) + with self.subTest(path=path): + self.assertIn("primary and every contributing artifact author", procedure) + self.assertNotIn("primary and artifact author", procedure) + if name == "logic-check": + self.assertIn("Advisory re-derivation in progress", procedure) + self.assertNotIn("Independent audit in progress", procedure) + self.assertIn("reviewer independence unverified", procedure) + self.assertIn('Otherwise use "Advisory result"', procedure) + + @classmethod + def setUpClass(cls) -> None: + cls.scaffold = _load_module( + "reviewer_independence_scaffold", + ROOT / "scripts" / "scaffold-skill-spec.py", + ) + cls.build_skills = _load_module( + "reviewer_independence_build_skills", + ROOT / "scripts" / "build_skills.py", + ) + cls.shared_block = _independence_block( + cls.scaffold.VERIFIER_INDEPENDENCE_BLOCK + ) + + def test_authoring_template_and_seven_specs_share_the_independence_block(self) -> None: + for name in INDEPENDENCE_CONSUMERS: + spec = (SPECS / f"{name}.md").read_text(encoding="utf-8") + generated = (PLUGIN / "skills" / name / "SKILL.md").read_text( + encoding="utf-8" + ) + with self.subTest(name=name): + self.assertEqual(_independence_block(spec), self.shared_block) + self.assertEqual(_independence_block(generated), self.shared_block) + + def test_planning_proves_route_eligibility_not_model_identity(self) -> None: + normalized = " ".join(self.shared_block.split()) + self.assertIn( + "Provider-free planning inspects eligible actions and routes; " + "it does not prove model identity.", + normalized, + ) + self.assertIn( + "Selecting a candidate and accepting independent approval are " + "different stages.", + normalized, + ) + self.assertNotIn("inspect known family evidence", normalized) + route = " ".join( + (SPECS / "route.md").read_text(encoding="utf-8").split() + ) + self.assertIn("planning does not prove model identity", route) + self.assertNotIn("inspect known family evidence", route) + invocation = self.build_skills.inject_runtime_invocation( + "second-opinion", + "---\nname: second-opinion\n---\n# Title\nbody\n", + ) + self.assertIn( + "Planning reports route eligibility, not model identity, " + "live availability, or authentication.", + invocation, + ) + self.assertIn( + "verify returned response-scoped native evidence before " + "accepting independence", + invocation, + ) + self.assertNotIn( + "verify returned native lineage before accepting independence", + invocation, + ) + + def test_candidate_selection_uses_known_observations_then_binds_target(self) -> None: + normalized = " ".join(self.shared_block.split()) + self.assertIn( + "Use currently known native configuration or response-scoped " + "observations for potential family selection only.", + normalized, + ) + self.assertIn("using `explicit_target`", normalized) + self.assertIn( + "Carry that same target into planning and live dispatch", + normalized, + ) + self.assertIn( + "explain the missing capability or evidence before an expensive dispatch", + normalized, + ) + self.assertIn( + "Do not classify an untried provider unavailable", + normalized, + ) + self.assertIn("An authorized advisory review may still proceed.", normalized) + self.assertIn( + "Do not classify an untried provider unavailable, loop operator " + "waivers, or invent a required identity probe or schema service " + "before every review.", + normalized, + ) + + def test_same_family_contributors_cannot_count_as_independent(self) -> None: + normalized = " ".join(self.shared_block.split()) + self.assertIn( + "distinct from the primary and every contributing author family", + normalized, + ) + self.assertIn( + "known primary, contributing-author, and reviewer lineages", + normalized, + ) + merge = " ".join( + (SPECS / "merge-resolve.md").read_text(encoding="utf-8").split() + ) + self.assertIn( + "select and verify a resolver distinct from the primary and every " + "known side-author family", + merge, + ) + + def test_configuration_is_not_response_evidence(self) -> None: + normalized = " ".join(self.shared_block.split()) + self.assertIn( + "Configuration-scoped observations remain configuration; they " + "never prove the model that produced the returned response.", + normalized, + ) + self.assertIn( + "Independent approval requires response-scoped native evidence " + "correlated to that returned response", + normalized, + ) + self.assertIn( + "self-assertion, or configuration observation alone does not " + "prove lineage", + normalized, + ) + governance = " ".join( + (ROOT / "docs" / "public-governance.md").read_text(encoding="utf-8").split() + ) + self.assertIn( + "generation metadata at response scope", + governance, + ) + self.assertIn( + "does not expand the public routing wire", + governance, + ) + self.assertIn( + "Missing observation is evidence unavailability, not a " + "provider-health verdict", + governance, + ) + + def test_only_candidate_is_used_initially_and_tiebreaker_is_spare(self) -> None: + text = " ".join( + (SPECS / "second-opinion.md").read_text(encoding="utf-8").split() + ) + generated = " ".join( + (PLUGIN / "skills" / "second-opinion" / "SKILL.md").read_text( + encoding="utf-8" + ).split() + ) + for label, body in (("spec", text), ("generated", generated)): + with self.subTest(source=label): + self.assertIn("Seat required initial reviewers first.", body) + self.assertIn( + "Use a sole eligible independent reviewer in the initial wave", + body, + ) + self.assertIn( + "reserve a tiebreaker only from spare independent eligible " + "reviewers after those seats are filled", + body, + ) + self.assertIn( + "If the governing panel requires more reviewers than " + "available, keep that unmet requirement visible.", + body, + ) + self.assertIn("A tiebreaker is spare capacity only.", body) + self.assertNotIn( + "Hold one known-distinct eligible reviewer as the tiebreaker", + body, + ) + + def test_no_replay_for_missing_identity_and_corrected_review_policy_remains(self) -> None: + normalized = " ".join(self.shared_block.split()) + self.assertIn( + "Do not replay a consumed review to repair missing lineage, " + "formatting, or adverse findings", + normalized, + ) + allowance = self.build_skills.FRESH_REVIEW_ALLOWANCE + self.assertIn( + "at most one new corrected request as a new work unit", + allowance, + ) + self.assertIn("repair formatting or missing lineage", allowance) + self.assertNotIn("fresh-review allowance", self.shared_block) + self.assertNotIn("new corrected request", self.shared_block) + for name in sorted(self.build_skills.REVIEW_GOVERNANCE_SPECS): + generated = (PLUGIN / "skills" / name / "SKILL.md").read_text( + encoding="utf-8" + ) + with self.subTest(name=name): + self.assertIn(allowance, generated.split("\n# ", 1)[0]) + + def test_governance_review_uses_shared_semantics_without_the_long_block(self) -> None: + spec = (SPECS / "governance-review.md").read_text(encoding="utf-8") + generated = (PLUGIN / "skills" / "governance-review" / "SKILL.md").read_text( + encoding="utf-8" + ) + for label, text in (("spec", spec), ("generated", generated)): + normalized = " ".join(text.split()) + with self.subTest(source=label): + self.assertIn("every contributing author family", normalized) + self.assertIn("every contributing artifact author", normalized) + self.assertIn( + "planning reports route eligibility, not model identity", + normalized.casefold(), + ) + self.assertIn("`explicit_target`", text) + self.assertIn("response-scoped native evidence", normalized) + self.assertIn("Missing evidence is not a provider outage.", normalized) + self.assertIn( + "An authorized advisory review may still proceed.", + normalized, + ) + self.assertIn("keep useful advisory content", normalized) + self.assertIn("Public repository governance", normalized) + self.assertNotIn(MARKER_START, text) + self.assertNotIn("OpenCode name is transport information", text) + + def test_readme_invocation_matches_independence_semantics_and_keeps_history(self) -> None: + text = (PLUGIN / "README.md").read_text(encoding="utf-8") + preamble, rest = text.split("## Routing request", 1) + invocation = rest.split("\n## ", 1)[0] + normalized = " ".join(invocation.split()) + self.assertIn("every contributing author family", normalized) + self.assertIn( + "Planning reports route eligibility, not model identity, live " + "availability, or authentication.", + normalized, + ) + self.assertIn("`explicit_target`", invocation) + self.assertIn( + "Verify returned response-scoped native evidence before accepting " + "independent approval.", + normalized, + ) + self.assertIn( + "Missing evidence keeps useful advisory content and does not " + "imply a provider outage.", + normalized, + ) + self.assertIn("Configuration may identify a candidate", normalized) + self.assertNotIn("verify the returned native lineage", invocation) + self.assertIn( + "The 7.0.6 content update corrects reviewer-independence instructions", + preamble, + ) + self.assertIn( + "establishes the primary and artifact-author families", + preamble, + ) + self.assertIn("The 7.0.5 release restored migration-doctor reports", preamble) + + def test_chain_keeps_routing_exclusions_and_defers_identity_to_the_caller(self) -> None: + spec = (SPECS / "chain.md").read_text(encoding="utf-8") + generated = (PLUGIN / "skills" / "chain" / "SKILL.md").read_text( + encoding="utf-8" + ) + for label, text in (("spec", spec), ("generated", generated)): + normalized = " ".join(text.split()) + with self.subTest(source=label): + self.assertIn( + "excludes both immutable primary and artifact-author families", + normalized, + ) + self.assertIn( + "Anthropic, Google, OpenAI, xAI, Zhipu, and unknown lineage", + normalized, + ) + self.assertIn( + "Route exclusions alone do not establish response identity " + "or all-contributor independence.", + normalized, + ) + self.assertIn( + "The caller verifies those facts rather than claiming " + "changed chain execution.", + normalized, + ) + + def test_public_guidance_stays_provider_neutral(self) -> None: + surfaces = [ + self.shared_block, + (SPECS / "second-opinion.md").read_text(encoding="utf-8"), + (SPECS / "route.md").read_text(encoding="utf-8"), + (SPECS / "governance-review.md").read_text(encoding="utf-8"), + (SPECS / "chain.md").read_text(encoding="utf-8"), + (ROOT / "docs" / "public-governance.md").read_text(encoding="utf-8"), + (SPECS / "README.md").read_text(encoding="utf-8"), + (SPECS / "_AUTHORING_BRIEF.md").read_text(encoding="utf-8"), + (PLUGIN / "README.md").read_text(encoding="utf-8"), + ] + for text in surfaces: + lowered = text.casefold() + for token in NATIVE_INTERNALS: + with self.subTest(token=token): + self.assertNotIn(token.casefold(), lowered) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_runtime_client_configuration_environment.py b/tests/test_runtime_client_configuration_environment.py index 870a8233..3a0c0405 100644 --- a/tests/test_runtime_client_configuration_environment.py +++ b/tests/test_runtime_client_configuration_environment.py @@ -4,6 +4,7 @@ import importlib.util import os +import pwd from pathlib import Path import sys import tempfile @@ -25,6 +26,28 @@ def _load_client(): class RuntimeClientConfigurationEnvironmentTests(unittest.TestCase): + def test_client_import_does_not_require_a_posix_account_database(self) -> None: + with mock.patch.dict(sys.modules, {"pwd": None}): + self.assertTrue(callable(_load_client().invoke)) + + def test_native_runtime_uses_account_home_not_a_caller_temporary_home(self) -> None: + client = _load_client() + canonical = pwd.getpwuid(os.getuid()).pw_dir + for inherited in ({}, {"HOME": "/temporary/caller-home"}): + with mock.patch.dict(os.environ, inherited, clear=True): + environment = client._scrubbed_env(Path("/temporary/request")) + self.assertEqual(environment["HOME"], canonical) + self.assertEqual(environment["TMPDIR"], "/temporary/request") + + def test_native_runtime_preserves_ssh_session_detection_without_forwarding_agent(self) -> None: + client = _load_client() + session = {"SSH_CONNECTION": "fixture-connection", "SSH_CLIENT": "fixture-client", "SSH_TTY": "/dev/fixture"} + with mock.patch.dict(os.environ, {**session, "SSH_AUTH_SOCK": "/private/agent"}, clear=True): + environment = client._scrubbed_env(Path("/temporary/request")) + for key, value in session.items(): + self.assertEqual(environment.get(key), value) + self.assertNotIn("SSH_AUTH_SOCK", environment) + def test_preserves_native_login_and_catalog_locations_without_credentials(self) -> None: client = _load_client() configured = { diff --git a/tests/test_unified_skill_runtime_contract.py b/tests/test_unified_skill_runtime_contract.py index a1efc7ab..29994cda 100644 --- a/tests/test_unified_skill_runtime_contract.py +++ b/tests/test_unified_skill_runtime_contract.py @@ -22,12 +22,12 @@ def _assert_single_cardinality_claim( ) -> None: self.assertEqual([str(expected)], re.findall(pattern, section)) - def test_generated_skills_and_host_manifests_are_version_7_0_6(self) -> None: + def test_generated_skills_and_host_manifests_are_version_7_0_7(self) -> None: for path in (PLUGIN / "skills").glob("*/SKILL.md"): - self.assertIn("\nversion: 7.0.6\n", path.read_text(encoding="utf-8")) + self.assertIn("\nversion: 7.0.7\n", path.read_text(encoding="utf-8")) for host in (".claude-plugin", ".codex-plugin"): manifest = json.loads((PLUGIN / host / "plugin.json").read_text(encoding="utf-8")) - self.assertEqual(manifest["version"], "7.0.6") + self.assertEqual(manifest["version"], "7.0.7") def test_readme_documents_routing_only_protocol_five(self) -> None: text = (PLUGIN / "README.md").read_text(encoding="utf-8") @@ -109,11 +109,16 @@ def test_independence_consumers_share_caller_verified_contract(self) -> None: self.assertIn("Carry that same target into planning and live", block) self.assertIn("Honor an operator-named provider", block) self.assertNotIn("only when the operator names", block) - self.assertIn("all three\nlineages are known", block) + self.assertIn("every contributing author family", block) + self.assertIn("does not prove\nmodel identity", block) + self.assertIn("Configuration-scoped observations remain configuration", block) + self.assertIn("response-scoped native evidence", block) self.assertIn("OpenCode name is transport information", block) self.assertNotIn("shared policy", block) self.assertNotIn("same_family_blocked", block) self.assertNotIn("unknown_family", block) + self.assertNotIn("inspect known family evidence", block) + self.assertNotIn("all three\nlineages are known", block) rendered = (PLUGIN / "skills" / name / "SKILL.md").read_text( encoding="utf-8" @@ -348,6 +353,138 @@ def test_private_patch_remains_caller_owned_and_disposable(self) -> None: self.assertIn(phrase, text) self.assertIn("never infer a patch", text) + def test_fresh_review_allowance_is_review_governance_only(self) -> None: + build_skills = self._load_build_skills() + denied = frozenset({"worker", "dev-delegate", "merge-resolve"}) + self.assertTrue( + build_skills.REVIEW_GOVERNANCE_SPECS.isdisjoint(denied) + ) + self.assertTrue( + build_skills.REVIEW_GOVERNANCE_SPECS.issubset(build_skills.ROUTED_SPECS) + ) + dummy = "---\nname: demo\n---\n# Title\nbody\n" + shared_no_replay = "replay, retry, or fail over a consumed work unit" + allowance = build_skills.FRESH_REVIEW_ALLOWANCE + self.assertIn("at most one new corrected request as a new work unit", allowance) + self.assertIn("inlining an inaccessible external plan", allowance) + self.assertIn("already available interpreter", allowance) + self.assertIn("not a runtime automatic retry", allowance) + self.assertIn("repair formatting or missing lineage", allowance) + self.assertIn("provider switch to evade findings", allowance) + self.assertIn("no uncertain external mutation", allowance) + self.assertIn("one correction total per original request across all descendant work units", allowance) + self.assertIn("a corrected work unit cannot issue another correction or reset the allowance", allowance) + self.assertIn("native mutation is ambiguous", allowance) + self.assertIn("Native one-process completion remains separate", allowance) + + for name in sorted(build_skills.ROUTED_SPECS): + injected = build_skills.inject_runtime_invocation(name, dummy) + generated = (PLUGIN / "skills" / name / "SKILL.md").read_text( + encoding="utf-8" + ) + invocation = generated.split("\n# ", 1)[0] + spec = (ROOT / "skill-specs" / f"{name}.md").read_text(encoding="utf-8") + with self.subTest(name=name): + self.assertIn(shared_no_replay, injected) + self.assertIn(shared_no_replay, invocation) + self.assertIn("at most one provider attempt per work unit", invocation) + if name in build_skills.REVIEW_GOVERNANCE_SPECS: + self.assertIn(allowance, injected) + self.assertIn(allowance, invocation) + self.assertIn("bounded caller fresh-review allowance", spec) + if "" in spec: + independence = spec.split( + "", 1 + )[1].split("", 1)[0] + self.assertNotIn( + "bounded caller fresh-review allowance", independence + ) + else: + self.assertNotIn(allowance, injected) + self.assertNotIn(allowance, invocation) + self.assertNotIn( + "at most one new corrected request as a new work unit", + generated, + ) + self.assertNotIn("bounded caller fresh-review allowance", spec) + self.assertNotIn("bounded caller fresh-review allowance", generated) + + for name in denied: + with self.subTest(denied=name): + self.assertNotIn(name, build_skills.REVIEW_GOVERNANCE_SPECS) + spec = (ROOT / "skill-specs" / f"{name}.md").read_text(encoding="utf-8") + generated = (PLUGIN / "skills" / name / "SKILL.md").read_text( + encoding="utf-8" + ) + self.assertNotIn("bounded caller fresh-review allowance", spec) + self.assertNotIn("new corrected request as a new work unit", generated) + + independence_consumers = ( + "code-review", + "debate", + "logic-check", + "merge-resolve", + "qa-verify", + "red-team", + "second-opinion", + ) + marker_start = "" + marker_end = "" + expected_block = None + for name in independence_consumers: + spec_text = (ROOT / "skill-specs" / f"{name}.md").read_text( + encoding="utf-8" + ) + block = spec_text.split(marker_start, 1)[1].split(marker_end, 1)[0] + if expected_block is None: + expected_block = block + with self.subTest(independence=name): + self.assertEqual(block, expected_block) + self.assertIn( + "Do not replay a\nconsumed review to repair missing lineage", + block, + ) + self.assertNotIn("fresh-review allowance", block) + self.assertNotIn("new corrected request", block) + + governance = " ".join( + (ROOT / "docs" / "public-governance.md").read_text(encoding="utf-8").split() + ) + for phrase in ( + "bounded caller fresh-review allowance", + "at most one new corrected request as a new work unit", + "inlining an inaccessible external plan", + "already available interpreter", + "same source hash", + "known-distinct reviewer", + "must not auto-retry", + "switched to evade findings", + "repair formatting or missing lineage", + "native mutation is ambiguous", + "Worker, dev-delegate, and merge-resolve", + ): + self.assertIn(phrase, governance) + self.assertIn( + "No consumed request is replayed merely to change formatting", + governance, + ) + readme = " ".join( + (PLUGIN / "README.md").read_text(encoding="utf-8").split() + ) + self.assertIn("Caller-owned bounded fresh-review", readme) + self.assertIn("the shim still passes each request through once", readme) + + code_review = " ".join( + (ROOT / "skill-specs" / "code-review.md").read_text(encoding="utf-8").split() + ) + self.assertIn("Preserve the single-attempt, no-replay contract", code_review) + self.assertIn( + "The one exception is the bounded caller fresh-review allowance", + code_review, + ) + merge = (ROOT / "skill-specs" / "merge-resolve.md").read_text(encoding="utf-8") + self.assertNotIn("The one exception is the", merge) + @staticmethod def _load_build_skills(): spec = importlib.util.spec_from_file_location(