Expose the skills a run actually assembled on AgentRun.status

Open
#172 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
56/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
go, kubernetes
Domain
api, backend

Research direction

Start with the AgentRun status types and the controller path that builds KONVEYOR_SKILL_SOURCES from api/skill.Source. Trace the loader's /opt/skills/.konveyor-skills.json output and the init-container termination read described in #169 and #171. Done means declared sources are available in Pending status and assembled skill and rule metadata is exposed after initialization.

Written by the indexing model from the issue text.

Description

After #157 a run's skills come from several sources (image + subPath, inline ConfigMap, git clone) and the loader decides the final directory from each skill's frontmatter name. None of that is visible on the AgentRun: a client can only re-resolve the Agent's refs and guess — which is what the console does today (konveyor/tackle2-ui#3546's run detail "Skills" group is a client-side join over the Agent's cards).

Two small additions would make the run self-describing:

  1. Declared, at sandbox creation — the controller already builds KONVEYOR_SKILL_SOURCES (api/skill.Source); mirror that list as status.skillSources. No new RBAC, available from Pending.
  2. Assembled, after init — the loader already writes /opt/skills/.konveyor-skills.json (api/skill.Manifest: skills {name, description, type, source} + rules). Have it also write a compact form ({name, type, source} + rule names; 4 KiB termination-message budget) to /dev/termination-log on success — FallbackToLogsOnError only covers the failure path — and have #169's termination read copy it from the init container into status.skills / status.rules. That is the ground truth for the run detail page, and what the load_skill tool calls in the ACP stream can be matched against ("did the model actually use skill X").

Is (1) acceptable on its own as a first step? It is a status-only change on the existing code path. (2) rides the same init-container read as #171.

Dominant language
Go
Stars
5
Forks
13
Avg merge
3d 11h
Merged PRs (30d)
41

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from konveyor/agentic-controller

All issues in konveyor/agentic-controller

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.