feat(issue): work-start signal is assignee, not label

Retire the in-progress label. Work-start on a tracker issue is now
signalled by assigning the issue to the dedicated tracker user
claude — one write, no removal; the assignee survives the close as
provenance. The live worktree branch (issue-N-<slug>, from the
worktree convention) is the matching git-side signal, and it
disappears with the ratified merge on its own.

Rationale (user decision 2026-07-14): a set-and-remove label is
administrative overhead with a lying-label failure mode when the
removal is forgotten; an assignee needs no removal and stays
meaningful after close.

issue/SKILL.md documents the mechanic (PATCH .../issues/<n> with
{"assignees": ["claude"]} — the call replaces the assignee set;
Gitea has no additive endpoint, verified against the live swagger).
boss/SKILL.md Step 2 assigns on a clean pick (chat-seeded runs
assign when the reference issue is created). conventions.md § Issue
tracker carries the cross-project statement. The label itself was
deleted from all Gitea repos that had it (AILang, Aura, Skills,
doctate); the label vocabulary in ~/dev/CLAUDE.md no longer lists
it.
This commit is contained in:
2026-07-14 12:42:50 +02:00
parent a1d6409163
commit 22abd37458
3 changed files with 23 additions and 3 deletions
+6 -1
View File
@@ -181,7 +181,12 @@ imports.
## Issue tracker
The tracker is **Gitea** and the commit close-marker is `closes #N`
(`refs #N` for non-closing work). The per-project repo slug and the
(`refs #N` for non-closing work). Work-start is signalled by
**assignee, not label**: the actor that begins work on an issue
assigns it to the agent tracker user (`claude`) — one write, no
removal; the assignee survives the close as provenance. There is no
`in-progress` label. The live worktree branch (`issue-N-<slug>`,
§ Git discipline) is the git-side counterpart. The per-project repo slug and the
list/show commands live in the project's CLAUDE.md project facts
(see below) — the `boss` skill reads the forward queue from there and
records its fork decisions on the run's reference issue there, and an