Skip to content

Merge pstack-claude 0.9.57 into the Herdr fork (0.9.59) - #18

Merged
TiewKH merged 7 commits into
mainfrom
sync/pstack-claude-0.9.57
Oct 2, 2026
Merged

TiewKH merged 7 commits into
mainfrom
sync/pstack-claude-0.9.57

Conversation

@TiewKH

@TiewKH TiewKH commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Why

michael-denyer/pstack-claude released 0.9.54 through 0.9.57 since the fork last merged it in 0.9.54. This brings those six commits in.

Stacked on #17. This PR targets feat/herdr-next-settled. Merge #17 first; GitHub then retargets this PR to main. Merge this one with a merge commit, not a squash, so git keeps 92debb7 as merged and the next sync starts there, as 0.9.54 required.

Scope

From upstream:

  • 0.9.57: project playbooks under .agents/playbooks/, with check-playbooks.mjs and a paragraph in poteto-mode's Playbooks section.
  • 0.9.56: watch-pr reports a verdict (ci-none) for a PR in a repository with no checks, instead of retrying without end.
  • 0.9.55: effort agent descriptions that strict YAML reads, and generate.mjs --check parses agent frontmatter. Adds .pre-commit-config.yaml.
  • 0.9.54: reflect's transcript finder skips /clear, local-command, and meta records when finding the opening prompt.
  • CONTRIBUTING.md and docs/reference.md: skill workflow changes land in this port, declared as forks.
  • README.md: a pointer to the agent-formal-verify plugin.

Resolved here:

  • VERSION and the three manifests conflicted on the version. Both lines released their own 0.9.54 through 0.9.57, and feat(herdr-dispatch): collect background workers with --next #17 takes 0.9.58, so this release is 0.9.59. The generator stamped the manifests.
  • CHANGES.md merged clean but put upstream's entries above the fork's, under version numbers the fork already used. They now sit as ### pstack-claude 0.9.5x subsections of the 0.9.59 merge entry, so no release heading repeats.
  • The cursor/plugins pin stays at 12d587d; upstream did not move it.

Nothing upstream touched the Herdr dispatcher, the Agent gate, herdr-tools.md, or the routes.

Verification

  • bun test tests/ passed 404/0, up from 395 with upstream's new tests.
  • Script tests (herdr-dispatch, herdr-config, orch, watch-pr) passed 272/0. tsc, Prettier 3.6.2, and generate.mjs --check pass, including upstream's new agent-frontmatter check.

🤖 Generated with Claude Code

zbeyens and others added 7 commits October 1, 2026 10:52
…ng prompt (0.9.54) (michael-denyer#147)

After /clear, another local command, or a ! shell command, a transcript's first user records are the command's wrapper, its output, and an isMeta caveat. openingPrompt now skips those and returns the first prompt the user typed, so reflect finds the session it was asked for. A skill invocation still counts as the typed prompt.
…ael-denyer#150)

* Write effort agent descriptions that strict YAML reads (0.9.55)

The poteto-agent-<level> descriptions were unquoted and opened with a backtick, which a YAML plain scalar cannot start with. Bun.YAML.parse and PyYAML rejected the frontmatter of all five files. The description now opens with a word, and a test parses every generated effort agent's frontmatter.

* Check agent frontmatter in the generator and run it from a pre-commit hook

generate.mjs --check now parses every agents/ and effort-agents/ file's frontmatter and names each one strict YAML cannot read. .pre-commit-config.yaml runs the same check before a commit after prek install.
…-denyer#153)

* test(watch-pr): cover a clean PR in a repository with no checks

The fake gh replays what GitHub returns for a mergeable PR with no checks configured. Three cases fail until the watcher reads that as an answer: the watcher exits 7 where a status-only pass, a READY verdict, and a merge-gate stop are expected. The fail-closed case for failing check queries already passes.

* Report a verdict for a PR with no checks configured (0.9.56)

resolveChecks threw ChecksUnavailable whenever both check reads were empty, so a repository with no CI looked the same as checks that could not be read, and watch-pr retried without end. Absence of checks is now its own reading: gh pr checks must report no checks and a successful GraphQL query must return a null rollup for the head commit. readSnapshot accepts it once no commit on the PR has a rollup and GitHub has computed mergeability, and reports the ci-none state. Every other empty result still fails closed, and conflicts, review threads, and merge gates apply unchanged.
…r#154)

Upstream rarely merges pull requests from outside its team, so CONTRIBUTING.md no longer asks contributors to land a workflow change there first. Such a change lands here as a declared policy fork.
…nyer#148)

A repository can add playbooks under .agents/playbooks/ that extend bundled ones and anchor each change on a quoted run of a bundled step's words. poteto-mode opens a matching project playbook beside the bundled one and runs check-playbooks.mjs before applying it. The check fails when an upgrade drops the text a project change anchors on.
Takes upstream's project playbooks, the watch-pr verdict for a PR with
no checks, strict YAML in the effort agents, the reflect opening-prompt
fix, and the rule that skill workflow changes land in this port. Keeps
the fork's Herdr dispatcher, --next, Agent gate, and routes. Both lines
released their own 0.9.54 through 0.9.57, so the version moves to
0.9.59 and upstream's entries sit under the merge entry in CHANGES.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@TiewKH
TiewKH deleted the branch main October 2, 2026 03:22
@TiewKH TiewKH closed this Oct 2, 2026
@TiewKH TiewKH reopened this Oct 2, 2026
@TiewKH
TiewKH changed the base branch from feat/herdr-next-settled to main October 2, 2026 03:22
@TiewKH
TiewKH merged commit 0f7d4c2 into main Oct 2, 2026
20 checks passed
@TiewKH
TiewKH deleted the sync/pstack-claude-0.9.57 branch October 2, 2026 03:23
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.

3 participants