Skip to content

Configuration Alignment: AgentConfig co-location incomplete after PR #555, README stale, and agentsMD still drifted #601

@kelos-bot

Description

@kelos-bot

🤖 Kelos Self-Update Agent @gjkim42

Area: Configuration Alignment

Summary

PR #555 (merged 2026-03-08) co-located AgentConfigs with their TaskSpawners for 4 agents, but left kelos-triage and kelos-config-update on the shared kelos-dev-agent from agentconfig.yaml. This creates an inconsistent maintenance pattern: updates to agentsMD must now be applied to 6 separate locations (5 inline AgentConfigs + 1 shared file), and the README incorrectly claims all agents share a single config.

Issue #515 identified the agentsMD content drift and missing types/state fields before PR #555 was merged. This issue covers the structural fragmentation introduced by that PR, the resulting README inaccuracy, and the fact that the content drift from #515 now affects 6 copies instead of 1.

Findings

1. Incomplete co-location: 2 agents still use the shared kelos-dev-agent config

After PR #555, the AgentConfig references are:

TaskSpawner / Task AgentConfig Source Co-located?
kelos-workers kelos-workers-agent kelos-workers.yaml Yes
kelos-self-update kelos-self-update-agent kelos-self-update.yaml Yes
kelos-fake-user kelos-fake-user-agent kelos-fake-user.yaml Yes
kelos-fake-strategist kelos-fake-strategist-agent kelos-fake-strategist.yaml Yes
kelos-triage kelos-dev-agent agentconfig.yaml No
kelos-config-update kelos-dev-agent agentconfig.yaml No
squash-commits-task kelos-dev-agent agentconfig.yaml No

This means:

  • kelos-triage and kelos-config-update lack distinct identities — they comment as "Kelos Agent" while the other 4 agents each have unique names (e.g., "Kelos Worker Agent", "Kelos Strategist Agent")
  • Updating agentsMD conventions requires touching 5 files (4 inline + 1 shared), and the shared file only affects 3 consumers. Easy to miss one.

2. README.md line 9 is now inaccurate

self-development/README.md line 9 states:

All agents share an `AgentConfig` (`agentconfig.yaml`) that defines git identity, comment signatures, and standard constraints.

After PR #555, this is false. Only kelos-triage, kelos-config-update, and squash-commits-task use the shared config. The other 4 agents have their own co-located configs.

3. All 6 agentsMD definitions are identical and missing CLAUDE.md conventions

Every agentsMD (both the shared agentconfig.yaml and the 4 inline ones added by PR #555) contains the same content — and it's still missing the conventions from CLAUDE.md/AGENTS.md that issue #515 identified:

Convention in CLAUDE.md / AGENTS.md Present in agentsMD?
"Keep changes minimal. Do not refactor, reorganize, or 'improve' code beyond what was explicitly requested." No — only has "Keep changes minimal and focused"
"For CI/release workflows, always use existing Makefile targets rather than reimplementing build logic in YAML." No
"e2e tests are hard to run locally. Push changes and use the PR's CI jobs to run them instead." No
Test scope: "(including integration, e2e)" No
Pull Requests section (PR template, /kind labels, release-note block) No
Directory Structure section (cmd/, test/e2e/, .github/workflows/) No

This matters most for kelos-workers and kelos-config-update which create PRs — they lack the PR template instructions in their agentsMD, relying on agents to find the template file themselves.

4. kelos-workers still missing explicit types and state fields

As noted in #515 (still unresolved), kelos-triage.yaml explicitly declares:

types:
  - issues
state: open

kelos-workers.yaml omits both. While the label filters work in practice, adding these fields makes intent explicit and keeps the two issue-driven spawners consistent.

Proposed Changes

Option A: Complete the co-location (recommended)

Finish what PR #555 started — give kelos-triage and kelos-config-update their own co-located AgentConfigs with distinct identities:

  1. Add an AgentConfig to kelos-triage.yaml with name kelos-triage-agent and identity "Kelos Triage Agent"
  2. Add an AgentConfig to kelos-config-update.yaml with name kelos-config-update-agent and identity "Kelos Config-Update Agent"
  3. Update squash-commits-task.yaml to reference kelos-workers-agent (since it operates on worker PRs)
  4. Delete or repurpose agentconfig.yaml (if no consumers remain)
  5. Update README.md line 9 to reflect the co-location pattern

Option B: Consolidate back to shared config

Revert to a single shared agentsMD in agentconfig.yaml and have all TaskSpawners reference it — the co-located configs would only contain the identity section (if AgentConfig supports splitting identity from agentsMD). This avoids the N-copy maintenance problem.

For either option:

  • Sync all agentsMD content with CLAUDE.md/AGENTS.md, including the Pull Requests section, CI/release workflow rule, e2e test guidance, test scope qualifier, explicit keep-changes-minimal rule, and Directory Structure section
  • Add types: [issues] and state: open to kelos-workers.yaml
  • Update README.md to accurately describe the current AgentConfig pattern

Relationship to existing issues

Issue What it covers What this issue adds
#515 agentsMD content drift from CLAUDE.md; workers missing types/state Structural fragmentation from PR #555; README inaccuracy; the drift now affects 6 copies; co-location completion proposal
#566 Missing local verification step and PR template instructions in prompts Prompt-level gaps (not agentsMD-level); doesn't address the AgentConfig pattern inconsistency
#575 fake-strategist-task.yaml prompt diverged from TaskSpawner Task template drift, not AgentConfig structure
#582 (open PR) Adds conventions to AGENTS.md and agentconfig.yaml Only updates the shared config, not the 4 inline configs — would widen the drift if merged without also updating the inline copies

Impact

  • Maintenance burden: Any convention update now requires 5-6 file edits instead of 1
  • Identity inconsistency: kelos-triage and kelos-config-update comment as generic "Kelos Agent" while others have distinct names
  • Stale README: New users reading the README get an inaccurate picture of how AgentConfigs work
  • PR Add agent conventions from recent PR review feedback #582 risk: If merged as-is, it only updates agentconfig.yaml and AGENTS.md, widening the gap between the shared config and the 4 inline ones

/kind cleanup

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions