Mark planned issues with a configurable planned_label #249
No reviewers
Labels
No labels
Agent
Ignore
Agent
In Progress
Agent
Planned
Agent
Planning
Agent
Ready
Agent
Triage
Compat
Breaking
Kind
Bug
Kind
Documentation
Kind
Enhancement
Kind
Feature
Kind
Security
Kind
Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
lucas/omp-deck!249
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/issue-248-planned-label"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes: #248
What changed
implementation.planned_labeljoinsplanning_labelin.omp/forgejo.yaml. Both stay optional; with neither configured nothing changes.planning_labelonce the session exists (a refused start labels nothing). Inbox and free-text seeds have no issue yet and are skipped.publishPlanIssueaddsplanned_labeland removesplanning_labelon the issue it wrote — including an issue it just created. A label failure is logged and leaves the publish outcome (and the inbox item's processed flag) untouched.planned_labeltogether with the progress label while addingplanning_label.planned_labelby hand: it joins its siblings insession-policy's protected names.ForgejoDispatcher.swapLabelsmoved out toapps/server/src/forgejo/issue-labels.tsasapplyLabelDelta, widened to lists on both sides (the abandon path removes two labels) and shared with plan-issue sessions.canonicalLabelNamemoved with it.Validation:
planned_labelmust differ fromplanning_label. Equal tointake_labelis deliberately legal — "plan done" and "ready to implement" can be the same label, mirroring the existingintake_label == planning_labelallowance.⚠️ The labels do not exist yet in this repository
This branch configures
planning_label: agent/planningandplanned_label: agent/plannedin.omp/forgejo.yaml, butlucas/omp-deckcurrently has no label matching either name (the pool isAgent/In Progress,Agent/Ready,Agent/Triage,Compat/*,Kind/*,Priority/*,Reviewed/*,Status/*). UntilAgent/PlanningandAgent/Plannedare created in Forgejo, every plan-issue start and publish logs an "unknown label" warning; nothing else breaks and no state is corrupted.Two decisions for you, neither of which I can make from here (creating labels is not something I can do):
Agent/PlanningandAgent/Planned(names fold case/separators, so the lowercase config entries resolve to them).Agent/Readyis already described as "Planned and ready to be picked up by an implementer agent" — which is exactly whatplanned_labelmeans. Settingplanned_label: agent/readywould reuse it and onlyAgent/Planningwould have to be created. Say the word and I'll change the config line.Verification
bun test apps/server/src→ 1282 pass, 0 fail (81 files).bun run typecheck→ clean.New test coverage: publish swapping planning→planned on an issue seed and on a created issue, a failing label PUT and an unknown label name leaving the outcome and the inbox item alone, no config file meaning no label call at all,
startPlanIssuelabelling an issue seed but not an inbox seed, and abandon dropping both the progress and planned ids.clearProgressLabelcalls the removedthis.swapLabels#256this.swapLabels(typecheck error + failing test) #258