From 19321d85caa9f5895e24d194dd7fb356e8ea61e1 Mon Sep 17 00:00:00 2001 From: Brummel Date: Wed, 20 May 2026 15:33:40 +0200 Subject: [PATCH] =?UTF-8?q?workflow:=20add=20`BLOCKER`=20Gitea=20label=20?= =?UTF-8?q?=E2=80=94=20preempts=20everything=20in=20/boss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New label for "core functionality broken" — the only category with a hard precedence rule baked into the skill system, not a judgement call. No issues carry it today; the label and the skills must know about it so that the first time one is filed, the orchestrator handles it without a one-off "what now?" exchange. In-tree changes: - CLAUDE.md: Gitea-issues bullet introduces a "precedence order matters" note and lists `BLOCKER` first. - skills/boss/SKILL.md: Step 1 gains a dedicated `BLOCKER` precedence paragraph — every queue read starts with `tea issues ls --labels BLOCKER --state open`; if hit, it's the next dispatch (RED-first via skills/debug), preempting whatever else is in flight. The "finish the current agent call first, don't strand a working tree mid-edit" caveat is written in. - skills/brainstorm/SKILL.md: Step 7.5 tea-create template flags that BLOCKER can stack on top of the kind label. Universal bug-fix mechanics (RED-first TDD via skills/debug) are unchanged — BLOCKER is a precedence tag, not a new workflow. The /boss "Direction freedom" section continues to gate cross-milestone hops; BLOCKER is an in-milestone preempt that doesn't bounce back to the user (it has the orchestrator's implicit authority by definition). Verification: cargo test --workspace 647/0/2, architect_sweeps exit 0. --- CLAUDE.md | 15 +++++++++------ skills/boss/SKILL.md | 10 ++++++++++ skills/brainstorm/SKILL.md | 2 +- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 51ecb28..a088122 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -226,12 +226,15 @@ not retroactively renamed. - **Gitea issues** (since 2026-05-20) are the forward queue — milestones, features, todos, and ideas. Browse: http://192.168.178.103:3000/Brummel/AILang/issues. CLI: `tea - issues ls --repo Brummel/AILang`. Labels: `feature` - (substantive addition, no full spec), `bug` (observable - misbehaviour — surface inconsistency, false positive, wrong - output), `idea` (may be cut, no commitment), `in-progress` - (work has started). An unlabelled issue is the default: a - concrete task to just do, no spec needed. Big chunks live as Gitea **milestone containers** + issues ls --repo Brummel/AILang`. Labels (precedence order + matters): `BLOCKER` (core functionality broken — preempts + everything, /boss handles it before any other queue item; + typically also carries `bug`), `feature` (substantive + addition, no full spec), `bug` (observable misbehaviour — + surface inconsistency, false positive, wrong output), `idea` + (may be cut, no commitment), `in-progress` (work has + started). An unlabelled issue is the default: a concrete task + to just do, no spec needed. Big chunks live as Gitea **milestone containers** (first-class Gitea concept, not a label — needs a `docs/specs/` entry, opening one bounces back to the user in /boss); smaller items are standalone issues. No formal diff --git a/skills/boss/SKILL.md b/skills/boss/SKILL.md index 6be88e4..f40c025 100644 --- a/skills/boss/SKILL.md +++ b/skills/boss/SKILL.md @@ -77,6 +77,16 @@ Big chunks live as Gitea **milestone containers** — list via `tea milestones ls --repo Brummel/AILang`. Read a candidate issue body with `tea issues --repo Brummel/AILang`. +**`BLOCKER` always takes precedence.** Before any other pick, +run `tea issues ls --repo Brummel/AILang --labels BLOCKER +--state open`. If even one open `BLOCKER` exists, that is the +next dispatch — preempting current iter, audit, fieldtest, +anything. Hand off to `skills/debug` for RED-first TDD per the +universal bug-fix rule. A `BLOCKER` mid-session preempts the +current step; finish the running agent call first (don't +strand a working-tree mid-edit), then redirect. Only after the +`BLOCKER` queue is empty does ordinary pickup resume. + There is no formal priority axis (`prio:*` labels were retired 2026-05-20). Pick the next item by orchestrator judgement: typically the simplest in-flight follow-up to the just-closed diff --git a/skills/brainstorm/SKILL.md b/skills/brainstorm/SKILL.md index 940c773..2172511 100644 --- a/skills/brainstorm/SKILL.md +++ b/skills/brainstorm/SKILL.md @@ -248,7 +248,7 @@ interpretation: ```bash tea issues create --repo Brummel/AILang \ --title "" \ - --labels "" \ + --labels "" \ # add BLOCKER prefix if core-functionality-broken --description " **context:**