Skip to content

chore(p3stack): sync with cursor/plugins at 424f2f6 - #26

Merged
sandwichlegend merged 6 commits into
mainfrom
sync/2026-10-28
Oct 28, 2026
Merged

sandwichlegend merged 6 commits into
mainfrom
sync/2026-10-28

Conversation

@sandwichlegend

Copy link
Copy Markdown
Owner

Why

Upstream pstack shipped 2 commits since the last sync. They make /interrogate keep only findings a run proves, and they replace the Orchestrate playbook and its orch CLI with a short agentic playbook. This PR brings both into p3stack and ports the conflicting parts to T3 Code.

What changed

  • Merges cursor/plugins at 424f2f6: b410df5 (#986, port recent skill updates, bump 0.15.35) and 424f2f6 (#1043, make Orchestrate agentic and delete the orch scripts, bump 0.15.36).
  • Conflicts, each ported to T3 Code:
    • arena: the judge never comes from the parent's lab, and arena skips the judge when no other lab can run. An inherit seat never judges. Dropped seats are refilled so at least two runners remain, which overrides poteto-mode's rule to run a panel one seat short.
    • interrogate: takes upstream's adversary rewrite. Each adversary is a delegate_task in its own worktree with role: "test", and it applies a patch of the uncommitted changes, because a worktree starts from the last commit. Every follow-up round is still a fresh task.
    • orchestrate: takes upstream's new playbook. Its Cursor mechanics map to delegate_task, the run store, watch_pull_request, max parallel writers, and a verifier from another lab.
    • poteto-mode: adds upstream's first-message rule and the new Autopilot-stack line. Upstream's "rejected slug" fallback chain becomes a rule for a rejected delegate_task target. That rule never falls back to inherit for a panel seat.
    • setup-pstack, autopilot-full, autopilot-stack, multi-phase-plan, autonomous-run, recipes guide: upstream's wording, kept in T3 terms.
  • Removes orch from the bun test command in CI and in sync step 6, because upstream deleted that suite.

Needs a human

  • b410df5 changes how Autopilot-stack works. Before, the root owned one linear base-branch stack and was its only writer. Now it is Autopilot-full without the merge, and a PR stacks only on a PR it builds on. Each owner rebases its own branch. I took upstream's version and changed only "loop tick" to "heartbeat tick".
  • b410df5 changes how /interrogate works. Reviewers who sorted findings into Act on, Consider, Noted, and Dismissed are replaced by adversaries who must prove each finding with a run, and the reviewer prompt, rubric, and lead-judgment references are deleted. Adversaries now write repro files, so I spawn them with role: "test" and give each a patch of the uncommitted changes. A reviewer should confirm the patch handoff.
  • 424f2f6 changes how Orchestrate works. The store tables (units, ledger, frontier, inbox), the stacker role, and the drain protocol are gone. The coordinator keeps its state in the run store in a form it chooses.
  • The arena runner top-up (b410df5) can seat the same lab twice. I made it an explicit exception to poteto-mode's rule to run a panel one seat short, rather than drop it.

Lines not from upstream

  • p3stack/docs/guide/04-design.md: "different lab" in place of "different model family", to match p3stack's lab terms.
  • p3stack/skills/arena/SKILL.md: the runner top-up and the cross-judge lab rules, in T3 seat and role terms.
  • p3stack/skills/interrogate/SKILL.md: delegate_task spawn, the patch handoff for uncommitted changes, and p3stack's follow-up-round rule.
  • p3stack/skills/poteto-mode/SKILL.md: upstream's rejected-slug fallback chain, as a rule for a rejected delegate_task target.
  • p3stack/skills/poteto-mode/playbooks/autonomous-run.md: upstream's "that support the goal", merged into p3stack's line without AskQuestion.
  • p3stack/skills/poteto-mode/playbooks/autopilot-full.md: upstream's rebase, push, and wording-only verifier changes, merged into p3stack's T3 lines.
  • p3stack/skills/poteto-mode/playbooks/autopilot-stack.md: "heartbeat tick" in place of "loop tick".
  • p3stack/skills/poteto-mode/playbooks/multi-phase-plan.md: upstream's playbook picker, verifier, and blocking-rule changes, merged into p3stack's lines with <p3stack> paths.
  • p3stack/skills/poteto-mode/playbooks/orchestrate.md: T3 rewrite of the Task, Project store, cloud VM, fork, and model family lines.
  • p3stack/skills/setup-pstack/SKILL.md: upstream's cross-judge pool rule, in seat and lab terms.

Blast Radius

Users of /interrogate, /arena, Orchestrate, and Autopilot-stack get the new workflows. The orch CLI is gone, so any in-flight Orchestrate program that called it must switch to the new playbook.

Verification

  • scripts/sync-upstream.sh finished with checks passing. scripts/check.sh passes with 0 files left to port. scripts/check-docs.mjs reports 0 problems.
  • Poteto-mode tests pass, 61 of 61. The skill script tests pass from the repo root with 267 pass, 0 fail, and 67 skipped.
  • /interrogate ran with Claude Opus 5.5, GPT-6.1-Sol, and Muse Spark 1.3. The four port findings from Claude and the one from Muse are fixed in this branch. GPT found nothing.

🤖 Generated with Claude Code

poteto and others added 6 commits October 27, 2026 11:49
* feat(pstack): port recent skill updates

- poteto-mode: restate the user's goal in the first message, briefs, PRs,
  and final reports. Background steers and resumes. Chain fallbacks when the
  Task tool rejects a slug. Apply Explain the Number before measuring.
- Autopilot playbooks: block a PR only for a problem a run or a wrong doc
  line shows, push each finished unit, give wording-only changes no
  verifier, and make Autopilot-stack Autopilot-full without the merge.
- interrogate: adversaries prove each finding with a run, and the lead keeps
  only findings a rerun confirms. Drop the reviewer and rubric references.
- arena: drop or replace a rejected runner seat, and walk the cross-judge
  pool by family before falling back to the parent model.
- ketchup-video: subtitle each slide and measure holds from the file.
- principle-explain-the-number: write the decision before you run.
- orchestrate: copy store files to local disk once.
- Update the README and guide where these changes made them wrong.

* chore(pstack): bump to 0.15.35

Co-authored-by: lauren <[email protected]>

* fix(pstack): rebase stacked PRs onto their parent branch

Co-authored-by: lauren <[email protected]>

* pstack: never pick a cross-judge from the parent's family

Arena's judge now comes only from a family other than the parent's.
An auto or inherit-parent entry never judges. When no entry from
another family runs, the agent skips the judge and picks the base
alone. Setup describes the cross-judge pool the same way.

Co-authored-by: lauren <[email protected]>

* pstack: describe the arena judge fallback in the design guide

The guide now says the judge comes from a different model family,
and that the coordinator skips the judge when no model from another
family can run.

Co-authored-by: lauren <[email protected]>

* pstack: let arena Phase D and Outputs handle a skipped judge

Phase D compares with the cross-judge only when Phase C ran one, and
the synthesis note says when Phase C skipped the judge.

Co-authored-by: lauren <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
…1043)

* feat(pstack): make Orchestrate agentic and delete the orch scripts

The Orchestrate playbook now runs the program with the coordinator's own
tools: Task for workers, the Project tracker and store for state, and PR
and CI event subscriptions where the harness has them. It no longer calls
the orch CLI, so the orch scripts and their test entry are removed. The
overnight guide's description of the coordinator matches the new playbook.

* chore(pstack): bump to 0.15.36

---------

Co-authored-by: Cursor Agent <[email protected]>
# Conflicts:
#	p3stack/.cursor-plugin/plugin.json
#	p3stack/docs/guide/10-recipes-and-pitfalls.md
#	p3stack/plugin.json
#	p3stack/skills/arena/SKILL.md
#	p3stack/skills/interrogate/SKILL.md
#	p3stack/skills/poteto-mode/SKILL.md
#	p3stack/skills/poteto-mode/playbooks/autonomous-run.md
#	p3stack/skills/poteto-mode/playbooks/autopilot-full.md
#	p3stack/skills/poteto-mode/playbooks/autopilot-stack.md
#	p3stack/skills/poteto-mode/playbooks/multi-phase-plan.md
#	p3stack/skills/poteto-mode/playbooks/orchestrate.md
#	p3stack/skills/setup-pstack/SKILL.md
Upstream 424f2f6 deleted p3stack/skills/poteto-mode/scripts/orch, so the
bun test filter no longer has an orch suite to run.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
- interrogate: hand adversaries a patch of uncommitted changes, since a
  delegate_task worktree starts from the last commit. Adversaries write
  repros, so they spawn as role test, not the read-only review role.
- arena: say the two-runner minimum overrides the one-seat-short panel rule.
- poteto-mode: a rejected target falls back to inherit only when the seat
  is not a panel seat and the calling skill doesn't drop or skip it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@sandwichlegend
sandwichlegend merged commit d1ab444 into main Oct 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants