🤖 Kelos Self-Update Agent @gjkim42
Area: Prompt Tuning
Problem
kelos-squash-commits.yaml step 7 adds a kelos/needs-input label to the linked issue after squashing. However, the workers spawner (kelos-workers.yaml) uses comment-based control flow (commentPolicy.excludeComments), not label-based exclusion. The label addition has no effect on any spawner — it is a vestigial reference to the old label-based pattern.
Evidence
Workers spawner uses comment-based control (not labels)
kelos-workers.yaml lines 39–48:
when:
githubIssues:
labels:
- actor/kelos
commentPolicy:
triggerComment: "/kelos pick-up"
excludeComments:
- "/kelos needs-input"
allowedUsers:
- gjkim42
- kelos-bot[bot]
There is no excludeLabels field. The pause mechanism is the /kelos needs-input comment, not a label.
Squash-commits prompt uses the old label pattern
kelos-squash-commits.yaml lines 92–94:
7. Add `kelos/needs-input` label to the linked issue:
- Extract the linked issue number from the PR body (look for `Closes #N`, `Fixes #N`, etc.)
- Run: `gh issue edit <issue-number> --add-label kelos/needs-input`
All other agents use comment-based signaling
Every other agent that signals "needs human input" does so via a comment:
- workers: posts
/kelos needs-input comment on the issue (step post-checklist)
- pr-responder: posts
/kelos needs-input comment on the PR (post-checklist)
- planner: posts
/kelos needs-input comment on the issue (step 5)
- reviewer: includes
/kelos needs-input in review body (step 4)
The squash-commits agent is the only one using a label for this purpose.
The main README still describes the old label pattern
README.md lines 87–107 show excludeLabels: [kelos/needs-input] as the core pattern, but the actual workers spawner has migrated to commentPolicy.excludeComments. This confirms the label was once the mechanism and has since been replaced.
Impact
- Non-functional step: The agent wastes time extracting the issue number and running
gh issue edit for a label that no spawner checks
- False sense of pausing: After squashing, a maintainer might expect the
kelos/needs-input label to prevent workers from picking up the issue. It doesn't — a prior /kelos pick-up comment without a subsequent /kelos needs-input comment would still allow workers to process the issue
- Orphan labels: Issues accumulate a
kelos/needs-input label that serves no automation purpose and may confuse maintainers
Proposed Fix
Replace step 7 with a comment-based signal that actually works:
Before (label — no effect):
7. Add `kelos/needs-input` label to the linked issue:
- Extract the linked issue number from the PR body (look for `Closes #N`, `Fixes #N`, etc.)
- Run: `gh issue edit <issue-number> --add-label kelos/needs-input`
After (comment — functional):
7. Signal that the linked issue needs maintainer attention:
- Extract the linked issue number from the PR body (look for `Closes #N`, `Fixes #N`, etc.)
- Run: `gh issue comment <issue-number> --body "/kelos needs-input\n\nCommits squashed on PR #{{.Number}}. Ready for maintainer review."`
This aligns with the comment-based control flow used by all other spawners and actually pauses the workers spawner from re-processing the issue.
Related Issues
🤖 Kelos Self-Update Agent @gjkim42
Area: Prompt Tuning
Problem
kelos-squash-commits.yamlstep 7 adds akelos/needs-inputlabel to the linked issue after squashing. However, the workers spawner (kelos-workers.yaml) uses comment-based control flow (commentPolicy.excludeComments), not label-based exclusion. The label addition has no effect on any spawner — it is a vestigial reference to the old label-based pattern.Evidence
Workers spawner uses comment-based control (not labels)
kelos-workers.yamllines 39–48:There is no
excludeLabelsfield. The pause mechanism is the/kelos needs-inputcomment, not a label.Squash-commits prompt uses the old label pattern
kelos-squash-commits.yamllines 92–94:All other agents use comment-based signaling
Every other agent that signals "needs human input" does so via a comment:
/kelos needs-inputcomment on the issue (step post-checklist)/kelos needs-inputcomment on the PR (post-checklist)/kelos needs-inputcomment on the issue (step 5)/kelos needs-inputin review body (step 4)The squash-commits agent is the only one using a label for this purpose.
The main README still describes the old label pattern
README.mdlines 87–107 showexcludeLabels: [kelos/needs-input]as the core pattern, but the actual workers spawner has migrated tocommentPolicy.excludeComments. This confirms the label was once the mechanism and has since been replaced.Impact
gh issue editfor a label that no spawner checkskelos/needs-inputlabel to prevent workers from picking up the issue. It doesn't — a prior/kelos pick-upcomment without a subsequent/kelos needs-inputcomment would still allow workers to process the issuekelos/needs-inputlabel that serves no automation purpose and may confuse maintainersProposed Fix
Replace step 7 with a comment-based signal that actually works:
Before (label — no effect):
After (comment — functional):
This aligns with the comment-based control flow used by all other spawners and actually pauses the workers spawner from re-processing the issue.
Related Issues