Repository navigation
Port upstream pstack #700 and #704 - #17
Conversation
Bring in the branded-type guard from #700 and the docs prose and autopilot wording from #704. Leave Claude Code harness commits and the docs-vs-tree script out. Upstream plugin.json stays 0.15.25. Co-authored-by: Kaitian Xie <caelaxie@users.noreply.github.com>
caelaxie
left a comment
There was a problem hiding this comment.
verdict: changes requested (comment review, same account as author).
content is clean. every hunk in docs/guide/02–10 and both typescript-best-practices files matches upstream 019a6a205 / 0317eb8b8 line for line, and the existing antigravity adaptations (Workspace: "branch" / "share" in the pitfalls list) are kept. skipping #702, #705, check-pstack-docs.mjs, and the README wording holds up. versions stay on pstack 0.15.25 / cursor-team-kit 1.2.0, matching upstream. there's no open issue, so no linkage needed.
blocker: harness proof is still "pending" in the body. to merge i need, pasted into the body:
agy plugin installoutput for this branchagy plugin listshowing pstack (and cursor-team-kit) at the expected versionsbun testoutput- the changed skill run once: invoke
typescript-best-practicesin agy and show it loads the new branded-type row
will re-review on the next push or body update.
| |------|---------| | ||
| | Discriminated unions | Model variants with a `kind` literal discriminant so impossible states can't be represented. No optional-field bags. | | ||
| | Branded types | Brand primitives with `& { readonly __brand: "X" }` so they can't be mixed up. Validate once at the boundary. | | ||
| | Branded types | Brand primitives with `& { readonly __brand: "X" }` so they can't be mixed up. Validate once at the boundary. A brand comes from a verifying type guard (`input is AgentId`), never from `as`. | |
There was a problem hiding this comment.
matches upstream. this is the changed skill, so please show it running in agy (it loads and the new type-guard row is there) as part of the harness proof.
caelaxie
left a comment
There was a problem hiding this comment.
verdict: approved (comment review, same account as author). merging.
re-review at 81aa19d, no new commits. the body now has the harness proof: agy plugin validate + agy plugin install . + agy plugin list on this branch (pstack 0.15.25, 57 skills, 2 agents), bun run test 69/0, typecheck clean, and the installed typescript-best-practices carries the type-guard row and isAgentId. that covers the changed skill for doc-only text. content and parity already passed against upstream 019a6a205 / 0317eb8b8. Validate plugin is green. no issue to link.
Summary
Ports the upstream cursor/plugins pstack commits after
182f2ce41(#637, Claude Code harness only, already skipped). Upstreamplugin.jsonis still0.15.25, so this port stays on0.15.25. cursor-team-kit stays1.2.0.Ported
#7000317eb8b8fix(pstack): make a brand with a type guard, not as.skills/typescript-best-practices/SKILL.mdandreferences/patterns.md. The port still omits the Cursorpathsfrontmatter key.#704019a6a205guide prose and the autopilot-full wording, indocs/guide/02throughdocs/guide/10. Files that already matched upstream were copied verbatim. Files this port already adapts keep those adaptations (Antigravity install paths, model tiers,invoke_subagentworkspaces, bundled/deslop,/goalinstead of/loop). The parallel-agents pitfall takes the new first sentence and keepsWorkspace: "branch"/"share".docs/guide/01-setup.mdhad one upstream hunk, the Custom Mode docs anchor. This port already drops that paragraph because Antigravity has no Custom Modes, so the file is unchanged.Skipped
#702a96815932name every skill after its folder.make-bot-uiandpoteto-modealready use those folder names, and CI already requires every skill name to match its directory.scripts/generate-pstack-harness-trees.mjsis the Claude Code tree generator and this repo does not ship it.#7051b8008005close three gaps in the Claude Code plugin. The edits aredocs/harness/claude-code.md, the generator, and the generatedharness/pstack/claude-code/tree. None of those files exist here. The twopstack/README.mdsentences are Claude Code install notes. This repo's README is the Antigravity install page and does not carry them.#704scripts/check-pstack-docs.mjs. A path-only run (this repo aspstack/) exits 1 with 87 problems. The script requiresREADME.mdto link every skill, playbook, and agent in the upstream tables. This README is an install page and has never had those tables. It also flags/goaland/schedule, which this port uses in place of Cursor's/loop. Making it pass would mean rewriting the checks, not adapting paths.#704pstack/README.mdwording (everyday, the autopilot-full table row, the custom-mode anchor, the babysit/autopilot note, the Claude Code install paragraphs). Those sentences are not in this port's README.Harness proof
agy1.4.2, installed from the Antigravity CLI installer. Commands ran against this branch checkout with a cleanHOME.agy plugin list --jsonlistspoteto-mode,make-bot-ui, andtypescript-best-practicesunder those folder names. All 57 installed skills have frontmatternameequal to the directory. The installedtypescript-best-practicesskill contains the type-guard row andfunction isAgentId(input: string): input is AgentId.