Skip to content

Narrows the push row to a human invocation - #213

Merged
johnnyt merged 1 commit into
mainfrom
st-phmi-narrow-push-authority-row
Aug 22, 2026
Merged

Narrows the push row to a human invocation#213
johnnyt merged 1 commit into
mainfrom
st-phmi-narrow-push-authority-row

Conversation

@johnnyt

@johnnyt johnnyt commented Aug 22, 2026

Copy link
Copy Markdown
Member

Why

The git push, gh pr create row of the agent-authority table said that
invoking /wurk:mr itself satisfies the user's ask, so the skill does not
stop to ask again. The anti-inference paragraph merged into the same section
in 86877d0 says the opposite for the relayed case: a dispatch from a
conductor, an orchestrator or a parent session is not by itself the user's
ask.

Both cannot hold. If invoking the skill satisfies the trigger, a conductor
dispatching a worker that runs the skill has satisfied it without the user
saying anything - the self-authorizing path the anti-inference paragraph
exists to close. Two agents in a sibling repo read this prose and reached
opposite conclusions about whether they could push.

The row's still-unauthorized cell shows the original intent: it guards
against inferring permission from having finished work. It was written for a
human typing the skill name, before orchestrated campaigns existed.

What

One line, the trigger cell of that one row. It now says who may invoke the
skill:

  • a human invoking /wurk:mr satisfies the trigger, so the skill does not
    stop to ask again - the no-double-asking convenience is unchanged for the
    case it was written for;
  • a conductor, an orchestrator or a parent session invoking it on the user's
    behalf does not, and needs the campaign's consent.

This is a narrowing. The still-unauthorized cell is untouched, and no other
row changes.

Notes

  • Gate: gate.rb reports applicable: false - the diff is CLAUDE.md only,
    nothing under lib/, test/, config/, mix.exs, mix.lock. That is
    the commit row's own "a change touching no Elixir code has no gate to run
    and may commit on review of the diff alone". mix quality --profile merge
    ran anyway, unconditionally per .claude/wurk/mr.md, and was green through
    every stage; the ADR judge skipped cleanly, since CLAUDE.md is not one of
    its judged scopes.
  • No changelog fragment: agent-authority prose is invisible to a caller of
    the public API.
  • The installed wurk:mr skill still states the old rule in its own preamble
    ("invoking /wurk:mr is that gate firing"). That text lives outside this
    repo and is out of scope here, but it now lags this row.

Closes st-phmi

The push row said invoking /wurk:mr itself satisfies the user's ask.
That contradicted the anti-inference paragraph above it, which says a
dispatch from a conductor, an orchestrator or a parent session is not
by itself the user's ask - so a conductor dispatching a worker that
ran the skill satisfied the trigger without the user saying anything.

The trigger cell now distinguishes the two: a human invoking the skill
still satisfies it, so the skill does not stop to ask again, while an
agent-relayed invocation needs the campaign's consent. A narrowing;
no other row changes.

Refs: st-phmi
@johnnyt
johnnyt merged commit 5dbe8e0 into main Aug 22, 2026
1 check passed
@johnnyt
johnnyt deleted the st-phmi-narrow-push-authority-row branch August 22, 2026 05:26
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