Skip to content

sync: merge open-pstack 1.3.0, track Cursor pstack 0.14.8, release 1.3.1 - #1

Merged
gannonh merged 6 commits into
mainfrom
sync/upstream-0.14.7
Sep 4, 2026
Merged

gannonh merged 6 commits into
mainfrom
sync/upstream-0.14.7

Conversation

@gannonh

@gannonh gannonh commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Closes #

Issues are disabled on this fork; the durable record is UPSTREAM.md and CHANGES.md.

What changed

Merges ericlitman/open-pstack main at 56bfd14 (release: sync Cursor pstack 0.14.7) into this fork, picking up:

Conflict resolutions, all unions of upstream and fork intent:

  • runner/run.ts, runner/run.test.ts: keep upstream's versionedClaudeAlias / reportedModel alongside the cursor-agent fake and cursorCliModel import.
  • runner/parse-output.test.ts: reportedModelMatches gained a provider argument upstream; the cursor test now passes "cursor".
  • provider-dispatch.md, setup-pstack/SKILL.md, architect, arena, how, interrogate, codex-tools.md: upstream's claude:fable@max / claude:opus@xhigh rolling aliases plus this fork's cursor:cursor-grok-4.6@xhigh Grok route. The grok matrix row stays on cursor with efforts ending at xhigh.
  • UPSTREAM.md, CHANGES.md, README.md: sync point moves to Cursor commit efa2a531985e0a8084d36ff3cf87233be8a9f34b / pstack 0.14.7; the fork's 1.3.0 (gannonh fork) CHANGES entry sits above upstream's 1.3.0 entry.

A second commit ports the only Cursor pstack change after 0.14.7, 7314f72 (0.14.8: 512x512 assets/logo.png under 512 KiB), and moves the recorded sync point in UPSTREAM.md, NOTICE.md, README.md, docs/reference.md, and CHANGES.md to 7314f723a487ec406b6369fe5865ba034cfed166. Verified with git log efa2a53..cursor/main -- pstack; nothing else in pstack/ changed.

The branch is a merge commit plus the sync and release commits on top of origin/main, so it fast-forwards cleanly. A third commit bumps the fork to 1.3.1: upstream's v1.3.0 and the fork's previous v1.3.0 are different trees, and Claude Code caches installed plugins by version string, so the merged candidate needs its own number. The fork's version line now increments past the upstream version it includes.

Verification

  • Bun tests, strict typecheck, static invariants, and plugin validation pass.
  • The exact candidate is installed in every affected harness.
  • The changed behavior passes from each real user surface.
  • The installed version, action, and observed result appear below.

Exact candidate: 81e89899bfd26e30a8325cfc2c69311a0c96303c on base b6d9d84f4a0b447cd533b28976adc38b53347f1f.

Local gates at the exact head:

  • 164 Bun tests pass with 678 expectations.
  • Strict typecheck for watch-pr, runner, and check-plan; four manifest parses; PSTACK_STATIC_ONLY=1 tests/skill-collision-repro.sh (13 invariants, including version agreement at 1.3.1, rolling-alias enforcement, and the default quad claude:fable@max codex:gpt-5.6-sol@max cursor:cursor-grok-4.6@xhigh claude:opus@xhigh); git diff --check.
  • plugins/pstack/assets/logo.png matches cursor/main:pstack/assets/logo.png (7314f72) at SHA-256 672f6791589ef758b0ced2c4c477913fa2758623c438e265639a0d539ce90695.
  • Cursor sync point re-checked: git log 7314f72..cursor/main -- pstack is empty.

Live evidence:

Claude Code 2.1.260, pstack@open-pstack 1.3.1 installed at user scope from the open-pstack marketplace. installed_plugins.json records version: 1.3.1, gitCommitSha: 81e8989…; diff -rq between the installed tree and the candidate's plugins/pstack is empty.

  • Lane 1 (native, changed rolling alias): a claude -p session was asked to dispatch claude:opus@xhigh per the plugin's provider-dispatch reference. It routed to the pstack:pstack-opus-xhigh agent and the agent replied PONG. The session's PLUGIN_VERSION line read 1.3.1.
  • Lane 2 (external, fork route through the merged runner): the same session ran the installed pstack-runner with --parent claude --provider cursor --model cursor-grok-4.6 --effort xhigh --mode read-only. Preflight cursor-agent models passed with model cursor-grok-4.6-xhigh available; argv pinned --model cursor-grok-4.6-xhigh --mode plan; exit 0; output PONG; receipt status: complete, reportedModel: cursor-grok-4.6-extra-high, modelVerified: true, modelEvidence: provider-report, elapsedMs: 15683, 22248 input / 60 output tokens. No --timeout, no fallback.
  • Cancellation path, observed incidentally: an earlier attempt in a print session ended the parent turn while the lane was live; Claude Code sent SIGTERM and the runner wrote a status: cancelled receipt with exitCode: 143, signal: SIGTERM, preflight passed, and the partial stream-json init event (model: Cursor Grok 4.6 Extra High) as evidence. The rerun used fresh unique paths, as the reference requires.
  • Fable dropout (account, not plugin): dispatching claude:fable@max to pstack:pstack-fable-max sent claude-fable-5-1 to the API (the alias resolved to the latest revision as intended) and the API returned HTTP 429 You've hit your monthly spend limit (req_011CejC8a5sCHwe2aJkutAsJ). A direct claude -p --model fable reproduces the same 429 outside the plugin; --model opus succeeds. The Opus lanes above exercise the same rolling-alias code path.

Codex CLI 0.153.3, pstack@open-pstack 1.3.1 installed from the open-pstack marketplace pinned to sync/upstream-0.14.7. codex plugin list shows installed, enabled 1.3.1; the marketplace snapshot is at 81e8989; diff -rq between the snapshot's plugins/pstack and the candidate is empty; the manifest's interface.logo (./assets/logo.png) resolves in the installed cache.

  • Lane 3 (external Claude lane from a Codex parent, changed alias verification): a codex exec session read the installed poteto-mode and Codex dispatch references, then ran the installed pstack-runner with --parent codex --provider claude --model opus --effort xhigh --mode read-only. Preflight claude auth status --json passed; argv pinned --model opus --effort xhigh --permission-mode plan with the restricted tool list; exit 0; output PONG; receipt status: complete, reportedModel: claude-opus-4-8, modelVerified: true, modelEvidence: provider-report, costUsd: 0.067963. The requested alias and the concrete family revision are both recorded, which is the fix(pstack): use rolling Claude model aliases ericlitman/open-pstack#39 behavior.
  • Lane 4 (external Cursor lane from a Codex parent): same session, --parent codex --provider cursor --model cursor-grok-4.6 --effort xhigh --mode read-only, run concurrently with lane 3 in a retained persistent exec session. Preflight passed; exit 0; output PONG; receipt status: complete, reportedModel: cursor-grok-4.6-extra-high, modelVerified: true, elapsedMs: 15688.
  • The session's report lines read PLUGIN_DIR: /Users/gannonhall/.codex/plugins/cache/open-pstack/pstack/1.3.1, PLUGIN_VERSION: 1.3.1, LOGO: ./assets/logo.png exists=true.

Not exercised live: the upstream 0.14.7 playbook text (shipping, babysit, autopilots, opening-a-pr, multi-phase-plan) and the TypeScript skill changes. Those arrived byte-identical from ericlitman#44, which recorded its own installed-lane evidence for them on Claude Code and Codex; this PR's conflict resolutions did not touch those files.

Candidate identity:

  • Commit 1: cec02442a66dbd402669fff0013d0fd2f680fcf9 (merge of upstream/main 56bfd14).
  • Commit 2: 12efe34 sync: track Cursor pstack 0.14.8 (7314f72).
  • Commit 3: 81e89899bfd26e30a8325cfc2c69311a0c96303c release: open-pstack 1.3.1 (gannonh fork).

ericlitman and others added 3 commits September 1, 2026 16:39
* fix(pstack): use rolling Claude model aliases

* test(pstack): catch standalone Claude model pins

---------

Co-authored-by: Eric A. Litman <ericlitman@studio2.tail062eee.ts.net>
Brings in ericlitman/open-pstack 56bfd14:
- f466256 fix(pstack): use rolling Claude model aliases (ericlitman#39)
- 56bfd14 release: sync Cursor pstack 0.14.7 (ericlitman#44)

Conflicts resolved as unions of upstream and fork intent: rolling
claude:fable / claude:opus aliases plus the fork's
cursor:cursor-grok-4.6@xhigh Grok route; reportedModelMatches gains
the provider argument in the cursor test; sync point moves to Cursor
commit efa2a531985e0a8084d36ff3cf87233be8a9f34b / pstack 0.14.7.
@gannonh
gannonh force-pushed the sync/upstream-0.14.7 branch from bfc1401 to cec0244 Compare September 4, 2026 20:58
Port cursor/plugins 7314f72 (fix(pstack): shrink logo under 512KiB).
The only pstack change after 0.14.7 is the 512x512 assets/logo.png;
copy it verbatim and move the recorded sync point in UPSTREAM.md,
NOTICE.md, README.md, docs/reference.md, and CHANGES.md.
@gannonh gannonh changed the title sync: rebase fork onto upstream open-pstack 1.3.0 (pstack 0.14.7) sync: merge open-pstack 1.3.0 and track Cursor pstack 0.14.8 Sep 4, 2026
The fork's previous 1.3.0 and upstream's 1.3.0 are different trees, and
Claude Code caches installed plugins by version string, so the merged
candidate needs its own number. Bump the three manifests and the
UPSTREAM.md version row together; fold the CHANGES entry for the merge
and the 0.14.8 sync under 1.3.1.
@gannonh gannonh changed the title sync: merge open-pstack 1.3.0 and track Cursor pstack 0.14.8 sync: merge open-pstack 1.3.0, track Cursor pstack 0.14.8, release 1.3.1 Sep 4, 2026
@gannonh
gannonh marked this pull request as ready for review September 4, 2026 22:40
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-04T22:45:22.336872Z 81e8989 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 81e89899bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread plugins/pstack/skills/poteto-mode/playbooks/multi-phase-plan.md
Comment thread plugins/pstack/skills/poteto-mode/playbooks/multi-phase-plan.md
The 0.14.7 skeleton already required a trunk regression lane and a
dual-sided interleaved probe, but the checker still accepted a generic
Lane 1 and a head-only perf payload.
@gannonh
gannonh merged commit b7e393a into main Sep 4, 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