Skip to content

Releases: TevvvB/parallel-harness-pets

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 19 Aug 18:33
0836f40

Two rendering fixes on the screens people actually look at, plus a demo that finally
matches the product.

Fixed: a den with one agent drew the same creature twice

pets party printed the creature on the den's own row and again on the resident line
beneath it. On a real machine with 23 dens that happened four times on one screen, so it
was the normal appearance of an occupied den rather than an edge case, and it read as a
rendering fault. The resident line now leaves the creature out when there is only one
resident. Dens with two or more still give each resident its own creature, because that
is the only thing telling those rows apart. (#13)

Fixed: pets card claimed one of the residents was you

The marker means "this is you". pets card is typed by a person in a shell, so
there is no session to be, and the arrow was landing on whichever agent represented the
den. It no longer appears when there is nobody to point at. The card still shows a
creature somebody in the den is actually using, which was the deliberate part.
(#12)

Nothing else changed

The rest of this release is repository housekeeping: a rebuilt demo generator, a
recorded walkthrough that includes the city collection added in v0.2.1, and a README
that says what the thing is before it says how to install it.

Upgrading

Installed with Upgrade
Homebrew brew upgrade parallel-harness-pets
The install script re-run it, it replaces the binary in place
Go go install github.com/TevvvB/parallel-harness-pets/cmd/pets@latest
A release archive download the new one below

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 19 Aug 16:13
c670fff

Fixed: a session could be missing from its own den, or look crashed while working

If you run pets with hooks but no status line - Codex, which has no
status-line support, or Claude Code with the status line switched off - the agent
register was never written from the paths that had the information to write it.

Two symptoms came out of that:

  1. A new session was absent from pets den and pets party for its whole first
    turn
    , because nothing registered it until the turn ended.
    (Correction, added after release: pets den is fixed. pets party is driven by
    worktree state rather than by the agent register, so it still needs something to
    probe — see #29. The
    staleness fix below is unaffected.)
  2. It then went stale during any turn longer than 90 seconds, so a working
    agent rendered dimmed, exactly as though it had crashed. Stop was the only
    thing keeping it alive and Stop does not fire mid-turn.

pets install wires three hooks - SessionStart, PostToolUse and Stop - but
only Stop and the status line ever registered an agent. Now every path that
receives a payload does, and both new call sites sit ahead of an early return that
fires on the common case: the verdict check gives up on any command that is not a
test run, and the hatch marker returns for every worktree that has hatched before.

If you use Claude Code with the default install, this never affected you. The
status line registers roughly once a second, which is what masked the bug.

One honest caveat for Codex users: the Codex hooks are written but have still never
been verified against a real Codex (#15).
This removes the reason a Codex session could not appear; whether its hooks fire at
all is a separate open question, and a report either way is welcome on that issue.

Details, including the two things my own bug report got wrong, are in
#11 and
#26.

Upgrading

Installed with Upgrade
Homebrew brew upgrade parallel-harness-pets
The install script re-run it, it replaces the binary in place
Go go install github.com/TevvvB/parallel-harness-pets/cmd/pets@latest
A release archive download the new one below

Restart your agent sessions afterwards, since hooks are read at startup.

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 18 Aug 19:56
49bafdc

Fixed: a crashed probe could freeze one worktree forever

Found and fixed by @awdemos in #4 — the project's first outside contribution,
and a real bug that was shipping.

pets probe used a bare os.Mkdir as its lock, with no staleness check. A probe
that died mid-run — a crash, a kill, a closed terminal — left the lock
directory behind, and every later probe in that worktree saw a held lock and
backed off. The pet stopped refreshing, silently and permanently, and only in
that worktree, so the symptom was "this one den went stale" with nothing to point
at.

The fix moves the lock into its own internal/lock package with tests and lets
it expire: a lock older than the timeout is treated as abandoned rather than
held. The lock exists to stop two probes racing, not to outlive the process
holding it.

If a den has looked frozen on you, this was probably why. Upgrading clears it.

New: the den collects cities, not just creatures

pets den showed creatures and nothing else, so half the collection was
unreachable — the visit log could say who came to a den but not which dens you
had worked in.

  pets den              7/41 species · 2 shiny · 6/16 places

  COMMON      ████████░░░░░░░░░░░░  6/14
  ...

  places worked in

   _  _  _          |              |            /\
  |_||_||_|        /|\           _|_|_         /||\
  |_||_||_|       /_|_\        _|_|_|_|_      /_||_\
     AMS           DXB           NYC           PAR

Also

  • Japanese, Korean and Simplified Chinese front pages, so the README is not
    English-only.
  • An AUR package, so Arch users can find this by searching.

Upgrading

Installed with Upgrade
Homebrew brew upgrade parallel-harness-pets
The install script re-run it, it replaces the binary in place
Go go install github.com/TevvvB/parallel-harness-pets/cmd/pets@latest
A release archive download the new one below

Homebrew refuses to upgrade a cask from a tap it does not trust, so the first
upgrade may stop with "Refusing to load cask ... from untrusted tap". Run
brew trust TevvvB/tap once and it will not ask again.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 20:18
3e18aa1

Changelog

  • a959033 Add a star section under install
  • 3fbd8ce Describe the model the code actually implements
  • 8ed874a Escape the substituted path so the fixtures parse on Windows
  • 8b596d8 Give a den a memory of everyone who has worked in it
  • 31187fa Give every worktree a city to be the den it is
  • a6cd8b0 Let the agent in a den own the den's creature
  • daebbdb Mark the den with an "at" so the code explains itself
  • 3e18aa1 Merge pull request #2 from TevvvB/feat/dens-and-agents
  • 069e8f0 Name a worktree and its project without running git
  • 1170066 Register which agent is working where
  • 9ac9f04 Replay real captured hook payloads and assert the cache
  • ffd80fd Show dens and the agents living in them

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 12 Aug 16:35

Changelog

  • 7f21ed3 Document the Homebrew trust step for upgrades
  • d624206 Send new users to a second worktree, and stop overclaiming contributions

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 12 Aug 16:23

Changelog

  • bc019bf Add a 1280x640 social preview card
  • 17cfc35 Add a demo recording to the README
  • 439f48b Add a header image and centre the top of the README
  • 198f5ea Add a line under the coffee button
  • 0e3e825 Add a one-line installer for Linux and macOS
  • fad9aba Add a throwaway sandbox for trying and developing it
  • b000ac7 Correct the README's own examples and stop overclaiming Codex
  • 95aa5a4 Drop the sandbox script from the repo
  • a552633 Make rarity legible by colouring the creature, not just its stars
  • 68fe6e6 Move module path and install commands to the TevvvB handle
  • 7596d41 Put the coffee button back, on the matching handle
  • c3ce315 Rewrite the README for people using it, not building it
  • 7f09045 Tell people when a newer version exists
  • 3fd2ecd Use plain dashes in the README

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 11 Aug 16:15

Changelog

  • 501af39 Document the install that now works, and how to cut a release
  • d6faaba Document the tap updating itself without a token
  • 93156c2 Make pets --help exit 0
  • 584d5d6 Say which platforms brew actually covers

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 16:00

Changelog

  • 7e14c02 Add MIT licence and remove private-repo references
  • 389f2fb Add rarity bands, the den, and the party view
  • 40c94ad Align party columns for shiny creatures and wide scripts
  • ec299c0 Buy Me a Coffee button
  • 7545886 Cap pets party, which was unreadable on a real machine
  • 2209592 Decode the tool response, so a green run can clear a red one
  • 0cc1d46 Fix Windows support, which CI caught as broken
  • 734fb2b Fix two bugs that broke the tmux surface entirely
  • 340a4cf Let a repo with no remote collect anything at all
  • be9a669 Make a release possible, and stop the README promising one
  • 8c4b192 Migrate the Homebrew publish to casks
  • aca033d Per-worktree familiar for the Claude Code status line
  • 0047402 Port the core to Go as a single static binary
  • c626cfc Retire the shell implementation and rewrite the front page
  • f25c7e5 Stop pets party listing one worktree several times