Skip to content

fix(orchestrate): restore the model-family verifier and the path for runtimes without nested agents (#265) - #266

Merged
mergify[bot] merged 1 commit into
mainfrom
fix/265-orchestrate-verifier
Nov 6, 2026
Merged

mergify[bot] merged 1 commit into
mainfrom
fix/265-orchestrate-verifier

Conversation

@ericlitman

Copy link
Copy Markdown
Owner

Why

The 0.15.36 sync (#264) left two errors in the Orchestrate playbook: the verifier rule could not be met on a native-only sheet, and a sub-coordinator had no way to start workers on a runtime whose subagents cannot start agents. Fixes #265.

Summary

 orchestrate.md
-  verifier ... on a different provider.
+  verifier ... on a different model family.          # upstream's wording
   sub-coordinator owns its area's workers and kickoffs
+  where a subagent cannot start agents (e.g. a Claude Code native lane),
+  the coordinator starts its workers from the kickoffs it writes
 codex-tools.md#subagent-policy
+  a Claude Code native lane cannot start agents (pstack-*.md disallow Agent, Task)
 UPSTREAM.md
+  #265 ledger line so later syncs keep both

Evidence

  • Before: orchestrate.md:13 says "on a different provider"; cursor/main:pstack/skills/poteto-mode/playbooks/orchestrate.md:13 says "on a different model family". A Claude-only sheet (Opus and Sonnet) has no second provider. After: matches upstream.
  • Before: the 1.16.0 playbook (b4c5e3d) had the sub-coordinator spawn workers only "where the runtime lets a subagent spawn one"; sync: Cursor pstack 0.15.36 as Open Pstack 1.17.0 (#262) #264's rewrite dropped that. plugins/pstack/agents/pstack-*.md disallow Agent and Task. After: the coordinator starts those workers.
  • No other provider-for-family substitution in sync: Cursor pstack 0.15.36 as Open Pstack 1.17.0 (#262) #264's diff: each "provider" hit was checked against upstream (arena's cross-judge rule is intended).
  • Live gate: pending. Feature: skill-invocation:poteto-mode in Claude Code and Codex.

Merge Danger

Door: two-way

Blast Radius: prose

Wording in one playbook and one mapping line.

Acceptance criteria

  1. "The verifier rule says a different model family, as upstream does." Done, orchestrate.md:13.
  2. "Where a subagent cannot start agents, the coordinator starts the sub-coordinator's workers… harness fact in codex-tools.md." Done, orchestrate.md:11 and codex-tools.md#subagent-policy.
  3. "Gates pass; live gate per verify-open-pstack." Gates below; live gate pending.

Gate results

On a2474ff: bun run test 0, bun run typecheck 0, bun run static 0, claude plugin validate plugins/pstack 0.

Not verified

  • Whether a Codex subagent can call spawn_agent; the new bullet makes no Codex claim.

Introduced by: #264

🤖 Generated with Claude Code

…runtimes without nested agents

Fixes #265

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mergify

mergify Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Merge Protections

🟢 All 2 merge protections satisfied — ready to merge.

Show 2 satisfied protections

🟢 Queue ready pull requests

Automatically queue non-draft pull requests targeting main after verify and live-gate pass on the head and every review thread is resolved.

  • #review-threads-unresolved = 0
  • -draft
  • check-success=live-gate
  • check-success=verify

🟢 🚦 Auto-queue

When all merge protections are satisfied and these conditions match, this pull request will be queued automatically.

  • -files~=^\.github/
  • base = main

@ericlitman

Copy link
Copy Markdown
Owner Author

Live evidence: Open Pstack

  • Candidate SHA: a2474ff7e0d5c5fb648d61f16e78d6713f5211f2
  • Base SHA: bf53ac9fe8e90a6192152da13360b03a5fd4b773
  • Result: PASSED — named features verified
  • Self-test: not requested
  • Planned sessions: 2 (limit 12)
  • Publisher revision: bf53ac9fe8e90a6192152da13360b03a5fd4b773
  • Evidence-set SHA-256: a65bca790e716fb92baba7ed588fd18b773ff3dcf89d7ba58e2a5dc52f095ab2
  • Installation (claude): CLI 2.1.318 (Claude Code), plugin 1.17.0, candidate a2474ff7e0d5c5fb648d61f16e78d6713f5211f2, tree f73370f8020083685ec4f62c38103d5549c1f3c99423b187a355e55c29500895.
  • Installation (codex): CLI codex-cli 0.166.0, plugin 1.17.0, candidate a2474ff7e0d5c5fb648d61f16e78d6713f5211f2, tree f73370f8020083685ec4f62c38103d5549c1f3c99423b187a355e55c29500895.
  • Observation (claude / skill-invocation:poteto-mode): surface claude -p stream-json with the candidate plugin-dir; action recipe skill-invocation:poteto-mode: invoke; result passed: invoke:exit-0 invoke:skill-loaded invoke:file:result.md; 3 assertions machine-checked; transcript SHA-256 2f1a1db30ccdfc9660bb6d61f948959f33402a857d84034aac2fd539c1a01467; artifact-set SHA-256 710efa5c86dd47d831bc1d33e6e25ff5598a8523428ba93af5039318d0f41ac9.
  • Observation (codex / skill-invocation:poteto-mode): surface codex exec --json with the run-owned candidate installation; action recipe skill-invocation:poteto-mode: invoke; result passed: invoke:exit-0 invoke:skill-loaded invoke:file:result.md; 3 assertions machine-checked; transcript SHA-256 890f8743800adaab98f67306e53a7507437965a7ac6f1b016a25153915c4a804; artifact-set SHA-256 70342b97b8ca1feef7ca6f3ce99c5e65cd352dcb30e981a8a221a1dce7dc4074.
  • Policy: every new head requires a fresh run; this verifier does not change PR state, queue, or merge.

@greptile-apps

greptile-apps Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

RetriggerView in Greptile

[Low impact] The changes appear safe to merge once the required live gate passes.

Summary

The PR restores Orchestrate’s different-model-family verifier rule and lets the coordinator launch workers when a sub-coordinator cannot.

  • The parent can start workers for a sub-coordinator that cannot.
  • PR verifiers now come from a different model family.

Reviews (1) · Last reviewed commit: "fix(orchestrate): restore the model-fami..." · Reviewed by Greptile

@mergify
mergify Bot merged commit 3c6779c into main Nov 6, 2026
7 checks passed
@mergify

mergify Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

✅ Merged into main as 3c6779c at 12:16 UTC

Less than a minute in the queue, with no time running CI.

So far

  • ✅ Entered the queue Fri 6 Nov, 12:16 · rule default · triggered by merge protections
  • ✅ Checks skipped · PR is already up-to-date
  • ✅ Merged 12:16 · 3c6779c · merge
8 merge conditions met
  • github-review-approved · required by GitHub repository ruleset rule Protect main
  • #review-threads-unresolved = 0 · required by Merge Protections rule Queue ready pull requests
  • -draft · required by Merge Protections rule Queue ready pull requests
  • check-success=live-gate · required by Merge Protections rule Queue ready pull requests
  • check-success=verify · required by Merge Protections rule Queue ready pull requests
  • any of · required by GitHub repository ruleset rule Protect main:
    • check-success = @github-actions/verify
    • check-neutral = @github-actions/verify
    • check-skipped = @github-actions/verify
  • any of · required by GitHub repository ruleset rule Protect main:
    • check-success = live-gate
    • check-neutral = live-gate
    • check-skipped = live-gate
  • any of · required by GitHub repository ruleset rule Review gate:
    • check-success = @mergify/Mergify Merge Protections
    • check-neutral = @mergify/Mergify Merge Protections
    • check-skipped = @mergify/Mergify Merge Protections

Times in UTC · dashboard · how the merge queue works

@unfret-eal

unfret-eal Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

✅ No blocking findings

Light review ran with 1 elected reviewer.

Walkthrough

This fixes two wording errors that the last upstream sync (#264) introduced into the Orchestrate playbook. The verifier rule now says each PR's verifier must be on a different model family, as upstream says, rather than a different provider, which a Claude-only setup could never satisfy. It also restores guidance for runtimes where a subagent cannot start agents, such as a Claude Code native lane: the coordinator starts the sub-coordinator's workers from the kickoffs it writes and hands the results back. The PR also adds a matching line to `codex-tools.md` and a ledger entry in `UPSTREAM.md` so later syncs keep both changes. The author reports that the gates pass; the live gate is still pending.

Area What changes
Orchestrate playbook The verifier requirement changes from a different provider to a different model family. A new sentence says that where a subagent cannot start agents, the coordinator starts the sub-coordinator's workers from the kickoffs it writes and hands their results back.
Harness reference and sync ledger `codex-tools.md` now states that Claude Code native lanes (`pstack-*.md`) disallow `Agent` and `Task`. `UPSTREAM.md` gets a #265 entry telling future syncs to keep both deviations.
Details
Lane / stage Model Effort Outcome Duration
focal-gpt-5.6-sol-xhigh copy / review openai/gpt-6.1-sol → gpt-6.1-sol · primary xhigh succeeded 5 min 13 s

First review of this pull request.
1 reviewer finished.
Commit a2474ff.
Check run.
Run: GET /unfret/run/panel:a2474ff7e0d5c5fb648d61f16e78d6713f5211f2:Wa1O8YChWSh:HOezc6IPqQM.

@unfret review · @unfret status · @unfret help

@unfret-eal unfret-eal Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No blocking findings
Check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Orchestrate: restore the model-family verifier rule and the path for runtimes without nested agents

1 participant