workflow: retire prio:p1/p2/p3 labels — kind:* alone classifies
Empirical observation after one day of running with the Gitea
backlog: P1 was permanently empty (same pattern as the old
docs/roadmap.md — anything that becomes "next-up" instantly
moves to in-progress, never sits in P1), and P3 was 6-of-8
identical to `kind:idea`. Three prio-stages were theatre; the
real distinction is "ja, irgendwann" vs "may be cut", and
`kind:idea` already carries the latter.
`prio:p1` / `prio:p2` / `prio:p3` deleted from Gitea (Tea
auto-removed them from all 24 issues). Remaining labels:
`kind:{milestone,feature,todo,idea}` + `state:in-progress`.
Issue distribution: 3 feature + 16 todo + 5 idea = 24.
In-tree changes:
- CLAUDE.md (project): Gitea-issues bullet rewritten — no
formal priority axis, "what's next" is orchestrator
judgement per session, `kind:idea` flagged as the
may-be-cut marker.
- skills/boss/SKILL.md: Step 1 rewritten — `tea issues ls
--state open` walks every open issue; selection is by
orchestrator judgement, not by reading prio:p1 first.
Cross-references "Queue:" updated to match.
- skills/brainstorm/SKILL.md: Step 7.5 no-override BLOCK
template drops `prio:p2` from the `tea issues create`
--labels argument.
Why not keep one stage (e.g. `prio:next`): no in-flight need;
a `pinned` boolean label can be added later if "next-up" ever
becomes a real distinct state. The cost of adding a label
later is one `tea labels create`; the cost of carrying dead
labels is constant cognitive load on every new issue.
Verification: cargo test --workspace 647/0/2, architect_sweeps
exit 0, zero residual prio:p* refs outside docs/specs/ and
docs/plans/ (historical, unchanged per the JOURNAL-cut
precedent).
This commit is contained in:
@@ -223,17 +223,19 @@ not retroactively renamed.
|
|||||||
that close a backlog issue reference it via `closes #N` in the
|
that close a backlog issue reference it via `closes #N` in the
|
||||||
body; Gitea auto-closes the issue on push.
|
body; Gitea auto-closes the issue on push.
|
||||||
|
|
||||||
- **Gitea issues** (since 2026-05-20) are the priority-ordered
|
- **Gitea issues** (since 2026-05-20) are the forward queue —
|
||||||
forward queue — milestones, features, todos, and ideas. Browse:
|
milestones, features, todos, and ideas. Browse:
|
||||||
http://192.168.178.103:3000/Brummel/AILang/issues. CLI: `tea
|
http://192.168.178.103:3000/Brummel/AILang/issues. CLI: `tea
|
||||||
issues ls --labels prio:p1` etc. Labels: `kind:{milestone,
|
issues ls --repo Brummel/AILang`. Labels: `kind:{milestone,
|
||||||
feature,todo,idea}` and `prio:{p1,p2,p3}`. Big chunks that get
|
feature,todo,idea}` (semantic class) and `state:in-progress`
|
||||||
their own `docs/specs/` entry live as Gitea **milestones**
|
(work has started). Big chunks that get their own
|
||||||
(containers) plus a `kind:milestone` issue; smaller items are
|
`docs/specs/` entry live as Gitea **milestones** (containers);
|
||||||
standalone issues. The orchestrator owns the backlog and is
|
smaller items are standalone issues. No formal priority axis —
|
||||||
responsible for keeping it current: opening new issues,
|
"what's next" is an orchestrator judgement call per session,
|
||||||
re-labelling for priority, closing on completion (typically via
|
not a pre-set label. `kind:idea` is the "may be cut" marker.
|
||||||
the `closes #N` commit-body trailer).
|
The orchestrator owns the backlog: opening new issues,
|
||||||
|
retagging, closing on completion (typically via the
|
||||||
|
`closes #N` commit-body trailer).
|
||||||
|
|
||||||
- **`docs/specs/<milestone>.md`** (since 2026-05-09): per-milestone
|
- **`docs/specs/<milestone>.md`** (since 2026-05-09): per-milestone
|
||||||
design spec produced by `skills/brainstorm`. Hard-gate before any
|
design spec produced by `skills/brainstorm`. Hard-gate before any
|
||||||
|
|||||||
+17
-10
@@ -67,12 +67,20 @@ mode. This skill does not restate them.
|
|||||||
|
|
||||||
### Step 1 — Read the queue
|
### Step 1 — Read the queue
|
||||||
|
|
||||||
The Gitea issue backlog is the priority-ordered forward queue.
|
The Gitea issue backlog is the forward queue. Browse:
|
||||||
Browse: http://192.168.178.103:3000/Brummel/AILang/issues. CLI:
|
http://192.168.178.103:3000/Brummel/AILang/issues. CLI:
|
||||||
`tea issues ls --repo Brummel/AILang --labels prio:p1` walks the
|
`tea issues ls --repo Brummel/AILang --state open` lists every
|
||||||
highest-priority bucket first; drop to `prio:p2` / `prio:p3` when
|
open issue; `--labels kind:milestone` / `kind:feature` /
|
||||||
P1 is empty. Read the candidate issue body with `tea issues <N>`.
|
`kind:todo` / `kind:idea` filters by semantic class. Read a
|
||||||
The top P1 item is the candidate for the next dispatch.
|
candidate body with `tea issues <N> --repo Brummel/AILang`.
|
||||||
|
|
||||||
|
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
|
||||||
|
milestone, then a `kind:todo` or `kind:feature` that unblocks
|
||||||
|
something, then `kind:milestone` (which is itself a bounce-back
|
||||||
|
per §"Direction freedom"). `kind:idea` is "may be cut" and
|
||||||
|
should rarely be picked autonomously.
|
||||||
|
|
||||||
If the entire open backlog is empty: skip to Step 5 (done-state).
|
If the entire open backlog is empty: skip to Step 5 (done-state).
|
||||||
Do not invent work; an empty queue is a real signal that the
|
Do not invent work; an empty queue is a real signal that the
|
||||||
@@ -271,10 +279,9 @@ actionable ask, not a wrap-up summary.
|
|||||||
- **Universal rules:** `CLAUDE.md` — agent role boundaries, commit
|
- **Universal rules:** `CLAUDE.md` — agent role boundaries, commit
|
||||||
discipline, design rationale, authority over skills, feature
|
discipline, design rationale, authority over skills, feature
|
||||||
acceptance, TDD-for-bugs, file-role roster.
|
acceptance, TDD-for-bugs, file-role roster.
|
||||||
- **Queue:** Gitea issues — priority-ordered forward queue
|
- **Queue:** Gitea issues — forward queue consumed by Step 1.
|
||||||
consumed by Step 1. Browse:
|
Browse: http://192.168.178.103:3000/Brummel/AILang/issues; CLI:
|
||||||
http://192.168.178.103:3000/Brummel/AILang/issues; CLI: `tea
|
`tea issues ls --repo Brummel/AILang --state open`.
|
||||||
issues ls --repo Brummel/AILang --labels prio:p1`.
|
|
||||||
- **Canonical feature-acceptance criterion:**
|
- **Canonical feature-acceptance criterion:**
|
||||||
`design/contracts/feature-acceptance.md` — the criterion that gates
|
`design/contracts/feature-acceptance.md` — the criterion that gates
|
||||||
new features; applied at spec time by `skills/brainstorm`.
|
new features; applied at spec time by `skills/brainstorm`.
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ interpretation:
|
|||||||
```bash
|
```bash
|
||||||
tea issues create --repo Brummel/AILang \
|
tea issues create --repo Brummel/AILang \
|
||||||
--title "<idea title>" \
|
--title "<idea title>" \
|
||||||
--labels "kind:<milestone|feature|todo|idea>,prio:p2" \
|
--labels "kind:<milestone|feature|todo|idea>" \
|
||||||
--description "<one-line description>
|
--description "<one-line description>
|
||||||
|
|
||||||
**context:** <why this is deferred>
|
**context:** <why this is deferred>
|
||||||
|
|||||||
Reference in New Issue
Block a user