Skip to content

Releases: creedants/pstack-t3

pstack-t3 0.2.0

Choose a tag to compare

@creedants creedants released this 06 Oct 15:48
b53dd5f

0.1.0 ported Lauren Tan's pstack to T3 Code. 0.2.0 adds a standing coordinator on top of it. You hand a project to one pinned thread, send it requests, and review what landed.

New

  • $brigade, a standing coordinator for each project. One pinned thread holds the project's purpose and never writes code. It groups your requests into units of work and runs each unit as a poteto-mode playbook in its own worktree thread. A reviewer from another model family checks the exact commit, and what passes lands. When no other family can run, the reviewer shares the author's family and the verdict says so. You pick how often it reports with every-turn, milestones, or digest.
  • $landing, one queue that is the only writer to trunk. The coordinator claims a lease on the paths a unit of work will change before the worker starts, so overlapping work is refused before it starts. The queue pins the reviewed commit, rebases it onto trunk, runs your checks in a clean worktree, and refuses a change whose rebased diff differs from the reviewed one. Four modes decide what reaches trunk. They are merge, human, push, and local. Builds and tests share a machine-wide slot limit.
  • Pull request watching. A wait on a pull request's checks, reviews, or conflicts now uses T3's watch_pull_request, which wakes the thread when a check fails, the required checks pass, someone else comments or reviews, or the branch starts to conflict with its base. Shipping and Babysit watch every open pull request in a stack. Pausing records the watches, and Session pickup restores them.
  • Upstream pstack 0.15.15. 0.1.0 shipped upstream 0.15.6. This release brings in upstream's $correct and $poteto-help, and the seven ordered performance mantras in the Perf issue playbook.
  • New role defaults, which are pstack-t3's own and not upstream's. Unset roles use Claude Opus at xhigh for judgment and Grok at xhigh for code. The arena, architect, and interrogate panels are those two seats.
  • The first live Autopilot run. One Claude Opus thread took a queue of four issues on a scratch repository. Grok wrote each change, and four verifiers on other model families checked every round. Three of the four pull requests merged within 30 minutes. The fourth merged at 109 minutes, after five review rounds. The operator answered no question. The run exposed four defects in pstack-t3's own skills. Pull requests #42, #44, #45, and #46 fixed them, and all four fixes are in this release. The record is in docs/live-runs.md.

Fixed

  • The landing queue works on git 2.43, the version Ubuntu 24.04 ships. It no longer passes --empty=drop to git cherry-pick, an option git added in 2.45.
  • The landing queue runs git in the C locale, so a conflict is recognized and bounces under any system language. Before, a translated conflict message paused the whole queue.
  • install.py creates a backup directory only when it moves a skill aside. A clean install and a rerun leave none.
  • The build keeps each source file's mode, so watch-pr stays executable.
  • The Autopilot and Orchestrate playbooks name how a launched owner reports back. The runtime now says a launched thread's finished turn does not wake its launcher.
  • $no-comments names the role that seats its reviewer, judgment and prose.
  • roles.py show accepts a repeated --role.

Before you upgrade

  • pstack-t3 now needs T3 Code 0.0.46-nightly.20261005.2702 or later, the minimum this project accepts for watch_pull_request. $setup-pstack stops when the host does not expose that tool.
  • A roles file you already have stays as written. Unset code and judgment roles move from inherit to the Grok and Opus defaults. Unset arena, architect, and interrogate panels drop the inherit seat and any Codex seat. Codex stays available in verifiers and as a configured choice in the roles file.
  • The unlimited budget now caps at max. A configured level at or below max stays as configured. A seat above that cap, such as a configured ultra, drops to the highest offered level at or below max. When every offered level is above a budget's cap, that budget writes the lowest offered level. A model that offers only ultra writes ultra under small, medium, large, and unlimited. default has no cap and leaves a seat as configured. In 0.1.0, the unlimited cap was the highest level a model offered, ultra included.
  • Landing queue entries are now E<n>, and their pull request branches are landing/e<n>. land.py status still accepts an old Q<n> for this release, and an entry already in flight under landing/q<n> still settles. A Q<n> now means only a decision waiting for you.
  • To update, run git pull in the checkout, then python3 scripts/install.py.

More changes are listed in CHANGELOG.md. Every commit is in v0.1.0...v0.2.0.

pstack-t3 0.1.0

Choose a tag to compare

@creedants creedants released this 03 Oct 22:50

First public release, ported from upstream pstack 0.15.6 (cursor/plugins@23e4138).

  • Every pstack skill and playbook runs on T3 Code's orchestrator V2 tools: delegate_task, task_status, t3_thread_launch, schedule_task, t3_thread_read, the preview tools, and link_pull_request.
  • pstack-runtime holds the whole Cursor-to-T3 mapping in one skill.
  • roles.py resolves each role to providers and models from T3's live catalog, with reasoning budgets and reported fallbacks. Default panels take one seat per model family you can run.
  • setup-pstack writes ~/.config/pstack-t3/roles.json from that catalog and smoke-tests each seat.
  • install.py links the skills into Claude, Codex, Grok, and Cursor. It refuses conflicts by default, --replace keeps restorable backups, and doctor reports shadowed or stale copies.
  • pstack-author-skill replaces Cursor's built-in skill authoring for every provider.
  • The build fails on Cursor-only leftovers, broken links, invalid frontmatter, and overrides whose upstream file changed.
  • Tested live in T3: $interrogate led by Codex with Claude, Cursor, Grok, and Codex reviewers, and $swarm led by Grok.

Install

git clone https://github.com/creedants/pstack-t3.git ~/pstack-t3
cd ~/pstack-t3
python3 scripts/install.py

Then run $setup-pstack in a new T3 thread.