Skip to content

port upstream pstack through 0.15.30 - #26

Merged
caelaxie merged 1 commit into
mainfrom
cursor/port-pstack-0.15.30-02cb
Oct 23, 2026
Merged

caelaxie merged 1 commit into
mainfrom
cursor/port-pstack-0.15.30-02cb

Conversation

@caelaxie

Copy link
Copy Markdown
Contributor

synced to 4ec7ffa. compared 88d4751..4ec7ffa for pstack/. later commits on upstream main through 9b93e81 do not touch pstack/. version is 0.15.30 in plugin.json, .devin-plugin/plugin.json, and the readme marker.

ported:

  • eb4db2b (#741) add the statechart skill. guide page 6, poteto-help, and the readme skill table match. slash commands keep the /pstack: prefix. disable-model-invocation: true stays triggers: [user].
  • 7698375 (#776) six fixes to the statechart skill. scripts copied verbatim.
  • 4ec7ffa (#779) delete statechart comments that repeat the code, and rename helpers. the version bumps to 0.15.30. the same bump is in .devin-plugin/plugin.json and the readme marker, which is where this repo records the version.

skipped:

  • harness/pstack/claude-code/ copies in #741, #776, and #779. this port does not carry the generated claude code tree.
  • #741 pstack/.cursor-plugin/plugin.json. cursor packaging. the version bump lands in .devin-plugin/plugin.json instead.
  • #741 .github/workflows/validate-plugins.yml test step. that workflow belongs to the cursor/plugins monorepo and also checks generated harness trees. this repo's ci is separate, so the step was not copied. node --test skills/statechart/scripts/test/*.test.mjs passed locally (67 tests, with tlc).

harness proof (install, devin plugins list, exercising /pstack:statechart and /pstack:poteto-mode) will follow as a comment. the devin cli can't log in from this cloud environment.

Open in Web Open in Cursor 

sync pstack to 4ec7ffa: the statechart skill, guide, poteto-help, and version pins.

Co-authored-by: Kaitian Xie <caelaxie@users.noreply.github.com>

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

changes requested (posting as comment, same account as the author).

reviewed at ed6a0b9 against upstream 4ec7ffa.

passes:

  • content: statechart skill, scripts, guide page 6, poteto-help row, and readme row match upstream; /pstack: prefix and triggers: [user] are the usual devin mapping.
  • layout/target: skills under skills/, no cursor packaging carried; skipping pstack/.cursor-plugin/plugin.json, the claude-code tree, and the monorepo workflow step is right.
  • parity: version 0.15.30 in plugin.json, .devin-plugin/plugin.json, and the readme marker.
  • ci: Validate plugin green.
  • linkage: no open issue covers this sync, so none needed.

blocking:

  • harness proof is missing. the body says it will follow as a comment. post it on this head (or a new one): devin plugins install pinned to the full PR head sha (the --local wrapper that lets devin fetch the repo itself is fine; symlink-only proofs aren't), then devin plugins list showing pstack at 0.15.30, plus the installed copy showing skills/statechart/SKILL.md. if login blocks a live turn, install + list + installed copy is enough for this text/script change.

once that lands i'll merge.

Copy link
Copy Markdown
Contributor Author

harness proof

Real Devin CLI on a local box (no cloud agent, no git clone). PR head ed6a0b970a96079509463874a083f6e9509eb087 (cursor/port-pstack-0.15.30-02cb), which I checked with git ls-remote refs/pull/26/head before installing and again before posting. Expected version: 0.15.30 (upstream pin 4ec7ffa, statechart skill).

  • CLI: devin 3000.11.92 (7f4e64980e22), devin auth status → Logged in (via Devin).
  • Read-only throughout. Skills were exercised in describe mode only (devin skills list, devin plugins info). No session was started.
# step result
1 devin plugins list before: only thermos v1.0.0 ✅ recorded
2 --local wrapper pinned to the full head sha ✅ PASS
3 devin plugins list shows pstack v0.15.30 (required), and both plugin.json files say 0.15.30 ✅ PASS
4 installed skills/statechart/SKILL.md is a regular file (not a symlink) and is byte-identical to head (cmp) ✅ PASS
5 statechart SKILL.md has triggers: [user] and mentions /pstack:statechart ✅ PASS
6 skills/poteto-mode/SKILL.md is a regular file ✅ PASS
7 CLI lists /pstack:statechart [user] and /pstack:poteto-mode [user] from the 0.15.30 cache ✅ PASS
8 head sha unchanged at the end; wrapper and pstack removed, thermos left ✅ PASS

1–3. before list, install, after list

$ devin plugins list          # before
Installed plugins

  • thermos v1.0.0

$ cat /workspace/devin-harness/wrap-pr26/.devin-plugin/plugin.json
{ "name": "pstack-harness-pr26", "version": "0.0.0",
  "requiredPlugins": [ { "source": "github", "repo": "pstack-ports/devin-pstack",
                         "sha": "ed6a0b970a96079509463874a083f6e9509eb087" } ] }
$ devin plugins install --local -y /workspace/devin-harness/wrap-pr26
This install will add:
  • pstack-harness-pr26 v0.0.0
  • pstack v0.15.30 (required)
      ...
      /pstack:statechart
      ...
      /pstack:poteto-mode
      ...
✓ Installed pstack-harness-pr26.
  auto-installed required plugins: pstack
$ devin plugins list
Installed plugins

  • thermos v1.0.0
  • pstack-harness-pr26 v0.0.0
  • pstack v0.15.30 (required)

4–6. installed cache copy

$ cd ~/.local/share/devin/cli/plugins/cache/github.com_pstack-ports_devin-pstack-816793bb/0.15.30
$ grep -n '"version"' .devin-plugin/plugin.json plugin.json
.devin-plugin/plugin.json:3:  "version": "0.15.30",
plugin.json:4:  "version": "0.15.30",
$ stat -c '%F %s %n' skills/statechart/SKILL.md skills/poteto-mode/SKILL.md
regular file 5277 skills/statechart/SKILL.md
regular file 23778 skills/poteto-mode/SKILL.md
$ curl -fsSL https://raw.githubusercontent.com/pstack-ports/devin-pstack/ed6a0b970a96079509463874a083f6e9509eb087/skills/statechart/SKILL.md -o /tmp/pr26-sc.md && cmp skills/statechart/SKILL.md /tmp/pr26-sc.md && echo IDENTICAL
IDENTICAL
$ sha256sum skills/statechart/SKILL.md /tmp/pr26-sc.md   # first 16 hex
9a255d2a7be8f85e skills/statechart/SKILL.md
9a255d2a7be8f85e /tmp/pr26-sc.md
$ head -5 skills/statechart/SKILL.md
---
name: statechart
description: "Draw what an app's user sees as a Mermaid statechart from a TLA+ model. ... Use for /pstack:statechart, \"show the PM the bug\", or to turn an agreed chart into a TLA+ skeleton."
triggers: [user]
---

7. describe-only exercise

$ devin skills list | grep -E 'statechart|poteto-mode'
  /pstack:statechart [user] (~/.local/share/devin/cli/plugins/cache/github.com_pstack-ports_devin-pstack-816793bb/0.15.30/skills/statechart) - Draw what an app's user sees as a Mermaid statechart from a TLA+ model. ...
  /pstack:poteto-mode [user] (~/.local/share/devin/cli/plugins/cache/github.com_pstack-ports_devin-pstack-816793bb/0.15.30/skills/poteto-mode) - poteto's agent style for concise, detailed responses, ...
$ devin plugins info pstack | grep -E 'version|source'
  version: 0.15.30
  source: https://github.com/pstack-ports/devin-pstack

8. re-check and cleanup

$ git ls-remote https://github.com/pstack-ports/devin-pstack.git refs/pull/26/head
ed6a0b970a96079509463874a083f6e9509eb087	refs/pull/26/head
$ devin plugins remove pstack-harness-pr26 -y
✓ Removed pstack-harness-pr26.
  note: auto-installed required plugins were left in place: pstack
$ devin plugins remove pstack -y
✓ Removed pstack.
$ devin plugins list
Installed plugins

  • thermos v1.0.0

No code was changed, and no allowlist entries were added. No secrets appear in this comment.

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

pass. content/versions match upstream 4ec7ffa (0.15.30), layout is harness-correct, ci Validate plugin green on ed6a0b9, and harness proof (devin plugins install --local wrapper pinned to full head sha + list + installed statechart byte-identical) is on the pr. squash-merging.

@caelaxie
caelaxie merged commit 06785ea into main Oct 23, 2026
1 check passed
@caelaxie
caelaxie deleted the cursor/port-pstack-0.15.30-02cb branch October 23, 2026 01:35
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