Releases: michael-denyer/pstack-claude
Release list
v0.9.30 - move the Fable roles to Fable 5.1
What changed in 0.9.30
plugins/pstack/models.json names claude-fable-5-1 where it named claude-fable-5: the panel, the available-model list (label Fable 5.1), and the four single-model roles bug-fix, perf-issue, hillclimb, and strongest judgment. The generator restamped the ## Models sections of poteto-mode, arena, architect, and interrogate, the interrogate reviewer table, and setup-pstack's override sheet and available-model line. The README panel row states the new default. Fable 5 leaves the available-model list. The pin remains at e8d856f.
Closes #74. Reported and fixed by @tlmader.
Install
Claude Code:
/plugin marketplace add michael-denyer/pstack-claude
/plugin install pstack@pstack-claudeCodex, Prime Agent, opencode, and Gemini CLI share one skill tree; see Shared Agent Skills install.
54 skills: 31 public workflows and 23 principle-* references used by poteto-mode. Upstream pin: pstack e8d856f (v0.14.8) plus the September density pass. MIT, original pstack by Lauren Tan (poteto).
v0.9.29 - the verify driver and the todolist resolve on Claude Code
0.9.28 shipped from main untagged (discovery keywords on both plugin manifests, #69); its entry is in CHANGES.md.
What changed in 0.9.29
Two reports from @Graham3324 (#71, #72), with the isolating experiments that fixed the wording.
The playbooks previously directed UI verification to bundled /verify, which only the user can invoke. Driver selection now lives in poteto-mode Non-negotiables, and playbooks link there. The sync substitution translates control skill to driver skill; diagnostics point to the same policy. create-verification-skill writes .claude/skills/verify/, and maintenance accepts that directory and older verify-* skills. A root project skill replaces bundled /verify on Claude Code 2.1.200 or later.
The todolist policy uses the session's task-tracking tools or an uncommitted todo.md checklist that retains skipped steps. Claude Code's documented task-tool opt-in, CLAUDE_CODE_ENABLE_TODO_TOOLS=1, can be scoped through a project's .claude/settings.local.json. Defaults depend on the model. Issue-linked rule pins and a scan of current skill prose protect both fixes during later syncs. The pin remains at e8d856f.
Closes #71 and #72. Co-authored with @Graham3324.
Install
Claude Code:
/plugin marketplace add michael-denyer/pstack-claude
/plugin install pstack@pstack-claudeCodex, Prime Agent, opencode, and Gemini CLI share one skill tree; see Shared Agent Skills install.
54 skills: 31 public workflows and 23 principle-* references used by poteto-mode. Upstream pin: pstack e8d856f (v0.14.8) plus the September density pass. MIT, original pstack by Lauren Tan (poteto).
v0.9.27 - the sync tool runs the three-way merge itself
First tagged release. Earlier versions shipped from main untagged; their history is in CHANGES.md.
What changed in 0.9.27
tools/sync.mjs classified every file it could not write cleanly as manual, one word covering three unrelated facts: upstream never touched the file and the port forked it, upstream changed it and the fork does not overlap, or upstream changed it and the fork does. The operator recovered the fact by diffing the two upstream trees by hand, once per file, on every sync. At the e8d856f sync the tool listed 57 manual files. 24 of them were untouched upstream, 9 were mergeable by machine, and 24 were real conflicts.
Each fact is now its own state. A file upstream left alone is reported as a forked count and left alone. Non-overlapping edits go through git merge-file and are written with kind merged. Only a real conflict reaches the operator, carrying its hunk count. Binaries that differ three ways and files upstream deleted that the port had edited join the same conflicts list under a typed reason. A file that is new upstream but already present locally has no common ancestor, so it merges against an empty base and surfaces as a conflict. report.manual is gone with no compatibility alias. The all-or-nothing invariant holds: merged buffers are denylist-scanned like any other write, and a hit or a dry run still leaves the tree untouched. Rerunning the previous pin through the new tool prints 24 forked, 9 merged, and 24 conflicts in place of the 57 bare filenames.
Two cleanups in the same rewrite. An exclude entry's trailing slash never changed the match, since walked paths never end in one, so the entry is normalized once and the comment no longer claims two rules. One carried(dir) helper walks, relativizes, and filters both trees, replacing the duplicated pair in each loop. plugins/pstack/models.json returns to one row per entry, 38 lines rather than the 161 a JSON.stringify rewrite produced, and tests/models.test.mjs now fails on any exploded rewrite. The generalPurpose substitution gains the rationale every other rule already carried. The upstream pin remains at e8d856f.
Install
Claude Code:
/plugin marketplace add michael-denyer/pstack-claude
/plugin install pstack@pstack-claudeCodex, Prime Agent, opencode, and Gemini CLI share one skill tree; see Shared Agent Skills install.
54 skills: 31 public workflows and 23 principle-* references used by poteto-mode. Upstream pin: pstack e8d856f (v0.14.8) plus the September density pass. MIT, original pstack by Lauren Tan (poteto).