Skip to content

Release v3.19.0#98

Merged
atomantic merged 7 commits into
releasefrom
main
Jun 29, 2026
Merged

Release v3.19.0#98
atomantic merged 7 commits into
releasefrom
main

Conversation

@atomantic

Copy link
Copy Markdown
Owner

Highlights

  • /do:next --self claims only issues you filed. A new security gate for issue mode restricts every claim — auto-pick, --swarm batch, and an explicit #<num> — to issues authored by the running account, so on a shared tracker your agent never picks up (or acts on instructions embedded in) someone else's issue. Save it once with /do:config --self, or pass --no-self to fall back to claiming any open issue.

Changes since v3.18.0

  • add --self gate to /do:next: claim only issues you filed (458c274)
  • address review (claude): note --self exception in the explicit-#num override summary (a84e8b6)
  • address review (codex): propagate resolved --self/--no-self into swarm workers (95c5216)
  • address review (codex): set ISSUE_NUM before the explicit-#num --self ownership check (141ab50)

Full Diff: v3.18.0...v3.19.0

A security feature for issue mode: /do:next --issues --self restricts every
claim (auto-pick, --swarm batch, and explicit #num) to issues whose author is
the running gh account (@me), so on a shared tracker the agent never picks up
or acts on the instructions embedded in an issue filed by someone else.

Auto-pick filters others out at the API (--author @me); an explicit number for
another user's issue is refused, not overridden -- the one skip a deliberate
cherry-pick can't cross, because it's a security boundary not a curation
preference. Persisted via /do:config --self (global or per-project).
…m workers so a per-run override beats the saved self default
… ownership check so a fresh run doesn't read an empty var
…verview bullet

The top-of-file <slug>/#<issue> Parse-Arguments bullet still said an explicit
number bypasses 'every auto-pick skip', contradicting the --self security
boundary that Phase 1 step 5 and the Notes section correctly exclude. An agent
reading the overview in isolation could wrongly claim another user's issue under
--self. Carve out the exception to match the authoritative gate.
…${VAR:+...}

zsh does not word-split parameter-expansion results, so
${AUTHOR_FILTER:+--author "$AUTHOR_FILTER"} expanded to a single argv word
'--author @me' and gh aborted with 'unknown flag: --author @me' whenever --self
was on (the sibling --label filter had the same latent trap). Build the optional
flags with a LIST_ARGS array, which appends each flag and value as separate words
in both bash and zsh and expands to nothing when unset.
@atomantic atomantic merged commit 3fa3d83 into release Jun 29, 2026
4 checks passed
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.

1 participant