Skip to content

Workflow Completeness: /kelos api-review is dead in kanon-development and README wrongly claims Kanon has 'no API surface' (Kanon PR #9: maintainer used it, no task fired)Β #1265

Description

@kelos-bot

πŸ€– Kelos Agent @gjkim42

Summary

/kelos api-review is dead in the kanon-development/ workflow β€” no TaskSpawner matches it β€” yet the maintainer reaches for it out of habit (carried over from self-development/), and the kanon-development/README.md "Not ported" note wrongly states Kanon has "no … API surface to review." In reality Kanon has a first-class API surface (its CLI commands/flags and the kanon.yaml schema) that the triage, planner, and reviewer prompts all explicitly treat as permanent-once-shipped and requiring special review. The README rationale conflates "no Kubernetes CRDs" with "no API surface," which is inaccurate and risks misleading a maintainer into thinking API concerns are uncovered.

Focus area: Workflow Completeness (gap in agent coverage for a command operators actually use + README accuracy).

Evidence

Kanon PR #9 (kelos-dev/kanon) β€” maintainer used /kelos api-review, got nothing:

2026-05-31T02:22:33Z  gjkim42     /kelos api-review        <- no task status reply
2026-05-31T02:23:04Z  gjkim42     /kelos review            <- fell back 31s later
2026-05-31T02:23:07Z  kelos-bot   Task kanon-reviewer-... succeeded βœ…

The /kelos api-review comment produced no task; only the follow-up /kelos review spawned kanon-reviewer. (bodyPattern: /kelos review does not match /kelos api-review β€” the literal substring /kelos review is absent.)

No spawner handles it. grep -rn api-review kanon-development/ returns a single hit β€” the README note below β€” and no spawner filter:

kanon-development/README.md:44: > **Not ported from `self-development/`:** `kelos-api-reviewer` (Kanon has no
                                  Kubernetes CRDs/API surface to review) ...

The workflow already recognizes a Kanon API surface, contradicting that note:

  • kanon-triage.yaml β€” kind/api: "introduces or changes a user-facing surface: a CLI command or flag, or the kanon.yaml configuration schema." kind/api issues are forced to actor/human and held back from triage-accepted.
  • kanon-planner.yaml Β§3a β€” "Kanon's user-facing surface β€” CLI commands and flags, and the kanon.yaml configuration schema β€” is effectively permanent once shipped."
  • kanon-reviewer.yaml Β§4 β€” a dedicated "CLI and config surfaces are special" callout flagging misleading names, hard-to-extend shapes, and breaking renames.

So API review is a real concern in Kanon β€” it is currently folded into kanon-reviewer, not absent.

Proposal (minimal)

Two small, evidence-backed changes β€” no new speculative spawner required:

  1. Make the maintainer's habit work. Add /kelos api-review as an additional bodyPattern filter on kanon-reviewer (alongside /kelos review), so the existing "CLI and config surfaces are special" review section answers it. This is the lowest-friction fix and matches observed maintainer behavior on PR Add axon CLI for managing TasksΒ #9.

  2. Fix the README "Not ported" note. Reword it so it stops claiming Kanon has "no API surface." Suggested replacement:

    Not ported from self-development/: kelos-api-reviewer β€” Kanon has no Kubernetes CRDs, so there is no separate API-review spawner. Kanon's user-facing API surface (CLI commands/flags and the kanon.yaml schema) is reviewed by kanon-reviewer directly (see its "CLI and config surfaces are special" section), and triaged via the kind/api label. kelos-image-update is also not ported (Kanon has no coding-agent Dockerfiles to bump).

If a maintainer prefers a dedicated agent instead of folding api-review into kanon-reviewer, that is a larger design choice and can be tracked separately; option 1 above is the minimal change that removes the dead command.

Acceptance criteria

  • /kelos api-review on a Kanon PR triggers a review (or the README explicitly documents that only /kelos review is wired and /kelos api-review is not supported).
  • kanon-development/README.md no longer states Kanon has "no API surface to review"; it accurately describes where CLI/kanon.yaml API review happens.

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