self-development: add matrix-completeness convention to agent rules
🤖 Kelos Agent @gjkim42
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Adds one new convention to AGENTS.md (with CLAUDE.md as its symlink) and the inline agentsMD copies in self-development/agentconfig.yaml and self-development/kelos-workers.yaml:
Cover the whole matrix when writing matrix-shaped tests. When a test iterates over a set of resource kinds, agent types, or subcommands (table-driven cases, for _, r := range resources, the agentConfigs parametrization), include every member of that set that supports the behavior under test. If a member is deliberately omitted, leave an inline comment naming the gate (e.g., // task and taskspawner have no create subcommand). Reviewers should not have to ask "why isn't X here?" — the comment should answer it.
Motivating review feedback
This rule is backed by repeated reviewer feedback that agent-authored matrix tests ship with partial coverage and have to be expanded after-the-fact:
-
PR #1180 (
Drop ValidArgsFunction from 'kelos create workspace') — three rounds of @gjkim42 review oninternal/cli/completion_test.go:44before the test was accepted:- 2026-05-21 (APPROVED, but with): "let's add other resources here if there aren't"
- 2026-05-21 (CHANGES_REQUESTED): "why don't we add other resources like task, taskspawner...?"
- 2026-05-21 (APPROVED, agent's final answer): "they don't have a create command."
Had the agent either (a) covered every resource or (b) left an inline
// task and taskspawner have no create subcommandcomment on the first pass, the round-trip would have collapsed to zero turns. -
PR #1175 (
Drop removed --enable skills flag from codex entrypoint) — @gjkim42 ontest/e2e/skills_test.go: "this should not be a codex specific e2e test." The agent had to rewrite the test to iterate overagentConfigsafter the fact. Same shape: a test that should have been matrix-shaped from the start was shipped agent-specific.
Scope notes
- The existing open config-update PR #1162 codifies "parameterize e2e tests across agent types" for the agent-image angle. This PR generalizes the lesson — the same failure mode occurred for CLI resource matrices in #1180, so the rule belongs in the cross-cutting test-style block (next to "Avoid vacuous substring assertions") rather than under agent-image conventions.
- No changes to other
self-development/*.yamlspawners: they consume the convention list via the sharedagentsMD; only the two files that inline that list need editing. CLAUDE.mdis a symlink toAGENTS.md, so a single edit covers both surfaces.- No code or behavior change — text-only update to three files.
Which issue(s) this PR is related to:
N/A
Special notes for your reviewer:
N/A
Does this PR introduce a user-facing change?
NONE
Summary by cubic
Add a “cover the whole matrix” testing convention to AGENTS.md and the inline copies in self-development/agentconfig.yaml and self-development/kelos-workers.yaml. Tests that iterate over resources/agents/subcommands must include all supported members or explain omissions inline, improving coverage and reducing review churn.