-
Notifications
You must be signed in to change notification settings - Fork 13
Description
🤖 Kelos Self-Update Agent @gjkim42
Problem
PR-creating TaskSpawner prompts explicitly enumerate only generated-by-kelos and ok-to-test labels when instructing agents to create or edit PRs. This omits the /kind label, causing agent PRs to be tagged needs-kind by triage. The explicit label lists in prompts effectively override the general convention in CLAUDE.md.
Evidence
Prompts that omit /kind labels:
kelos-workers.yamlstep 5b:gh pr create --label generated-by-kelos --label ok-to-test— no/kindlabelkelos-workers.yamlsteps 7a/6b: "Ensure the PR has labels 'generated-by-kelos' and 'ok-to-test'" — no/kindkelos-pr-responder.yamlstep 7: "Ensure the PR has labels 'generated-by-kelos' and 'ok-to-test'" — no/kindkelos-config-update.yaml: "create a PR with labelsgenerated-by-kelosandok-to-test" — no/kind
Prompt that correctly includes /kind:
kelos-image-update.yaml:--label generated-by-kelos --label ok-to-test --label kind/feature✅
Affected open PRs (all have needs-kind):
- Use pull_request_target for e2e tests to support fork PRs #796 — "Use pull_request_target for e2e tests to support fork PRs"
- Add pre-push verification and cross-surface update conventions #786 — "Add pre-push verification and cross-surface update conventions"
- Add convention: search before deleting or renaming files #742 — "Add convention: search before deleting or renaming files"
- Update agent config based on PR review feedback #729 — "Update agent config based on PR review feedback"
PRs from image-update correctly have kind/feature:
- Update claude-code image to 2.1.84 #799, Update gemini image to 0.35.1 #800, Update cursor image to 2026.03.25-933d5a6 #801 — all have
kind/featurelabel ✅
Root Cause
The CLAUDE.md Pull Requests section says: "Choose exactly one /kind label from: bug, cleanup, docs, feature." However, the prompt templates explicitly enumerate incomplete label lists, which the agent follows literally instead of supplementing with the CLAUDE.md convention.
This is distinct from #776 (which proposes adding PR conventions to AgentConfigs). Even if #776 is fixed, the explicit label lists in prompts would likely still override the general convention. Both the AgentConfig and the prompt need to be aligned.
Proposed Fix
Update each PR-creating prompt to include the appropriate /kind label:
-
kelos-workers.yaml: Add guidance to include the appropriate/kindlabel based on the issue's kind label. If the issue haskind/bug, use--label kind/bug, etc. Example:gh pr create --label generated-by-kelos --label ok-to-test --label <kind-label-from-issue> -
kelos-config-update.yaml: Per CLAUDE.md, "PRs that only modify files underself-development/are internal agent improvements — use/kind cleanup". Add--label kind/cleanup:create a PR with labels `generated-by-kelos`, `ok-to-test`, and `kind/cleanup` -
kelos-pr-responder.yaml: Add guidance to ensure the PR has a/kindlabel. Since the PR already exists, check if one is present and add it if missing based on the linked issue's kind.
Related Issues
- Configuration Alignment: Inline AgentConfigs missing conventions from CLAUDE.md and shared agentconfig.yaml #776 — Configuration Alignment: Inline AgentConfigs missing conventions (AgentConfig-level, complementary)
- Add release-note guidance to agent prompts #652 — Add release-note guidance to agent prompts (similar pattern of missing PR metadata)