Files
werkregie/doc/prs/2026-10-20-PR#99-agent-works-url.md
claude-code 367947a481
werkator build succeeded after 01:03
werkator/deploy build succeeded after 00:24
werkator/mutation build failed after 18:27
werkator/vulnerability-data build succeeded after 00:25
Agent arbeitet also for a session that named the pull request in a command (#99)
Co-authored-by: claude-code <claude-code@javagil.de>
2026-10-20 18:28:18 +02:00

4.4 KiB

PR#99: Agent arbeitet Also for a Session That Acted on the Pull Request by Its URL

Version: minor

WARNING: This document describes only the change applied in this PR. It may already be outdated once the next PR is merged. Historic PR documentation is not maintained along with new PRs; treat it as a snapshot.

Problem

"Agent arbeitet" holds back the user's approval while an agent's session works on the pull request. It finds the session only by the branch, in a checkout of the same repository. A session in a checkout of another repository, e.g. the main checkout of hs.hsadmin.ng working on a pull request of a worktree branch, never holds back the approval; the user approves while the agent still pushes.

Non-Goals

  • No change of the session that a row shows; that stays as in werkregie PR#98.
  • No other time limit than the 10 minutes of werkregie PR#96.

Specification

Feature: Agent arbeitet by the URL of the pull request

Scenario#99.01: a session in a checkout of another repository works on the pull request

… so that the user does not approve while the agent of another checkout still works on it.

  • Given a pull request that waits for the user's approval, and a session in a checkout of another repository that ran watch-pr with its URL 3 minutes ago
  • When werkregie shows the pull request
  • Then it shows "Agent arbeitet" with the title of that session instead of "Dein Approval"
Verified by

Scenario#99.02: a text about the pull request does not count

… so that a report about the pull request of another session does not delay the approval.

  • Given a pull request that waits for the user's approval, and a session that wrote its URL in a text 3 minutes ago, but in no command
  • When werkregie shows the pull request
  • Then it shows "Dein Approval"
Verified by

Scenario#99.03: a command older than 10 minutes holds back nothing

… so that a finished agent does not hold back the approval for long.

  • Given a pull request that waits for the user's approval, and a session that named its URL in a command 11 minutes ago
  • When werkregie shows the pull request
  • Then it shows "Dein Approval"
Verified by

Solution

PullMention gets actedAt, the time of the latest command that named the pull request; at stays the time of the latest mention of any kind. Authors.working takes the session whose actedAt for the pull request is within 10 minutes, the latest first; else the session on its branch, as before.

Release Notes

"Agent arbeitet" also shows while a session in a checkout of another repository works on the pull request, e.g. with watch-pr.

Open Questions

  • Does a text about the pull request count? No, only a command. A session that started others repeats their reports with the links to their pull requests; its text would else hold back the approval of a pull request that is done.
  • Why a time of its own for the commands? at is the latest mention of any kind, and acted stays true once a command named the pull request. A text 3 minutes after a command 1 hour ago would else count as an action 3 minutes ago.
  • What does a relay older than this PR send? No actedAt: its sessions hold back the approval by branch only, as before. The server ignores the unknown field actedAt of a newer relay.