Repository navigation
OSAC-2815: Run EP review from osac-workspace context - #122
Conversation
The EP review GitHub Action cloned osac-workspace only to grab skill files, but Claude Code ran from a bare /workspace with no project context. After the skill rename (ep-review -> design-review in OSAC-1986), the skill file copy also broke silently. Fix both issues: - Copy the osac-workspace clone as the workdir base so Claude Code starts its session with CLAUDE.md, AGENTS.md, .claude/rules/, and skills/ all present - Update stale ep-review references to design-review in detect_skills() and validate_scores() Closes: OSAC-2814 Assisted-by: Claude Code <noreply@anthropic.com> Signed-off-by: Itzik Ezra <iezra@redhat.com>
|
@ItzikEzra-rh: This pull request references OSAC-2815 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: osac-project/coderabbit/.coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (3)
WalkthroughThe review action now selects the ChangesDesign review execution
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 11✅ Passed checks (11 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
eranco74
left a comment
There was a problem hiding this comment.
Issue 1 (skill name mismatch): FIXED. The Read of /workspace/.context/skill-prompt.md succeeds in the new run (it failed in the old one). The workdir name also changed from workdir-ep-review to workdir-design-review, confirming detect_skills() now maps
to the correct skill name.
Issue 2 (osac-workspace as working directory): NOT FIXED. The working directory is still /workspace (a bare container directory). There's no evidence that CLAUDE.md or .claude/ from osac-workspace was loaded — no file reads to those paths, and the
container still runs with the same agent.backend: podman setup writing .context/ into a bare /workspace. The osac-workspace repo is only used to extract skills/design-review/SKILL.md into .context/skill-prompt.md, but the workspace itself (with its
CLAUDE.md, project configuration, and guidelines) is not the container's working directory.
|
|
||
| - name: Clone skills repo | ||
| - name: Clone workspace | ||
| run: git clone --depth 1 https://github.com/osac-project/osac-workspace /opt/skills |
There was a problem hiding this comment.
Is this the working dir??
Seems like this is where it's going to look for skills
There was a problem hiding this comment.
Never mind
Summary of the EP review OTEL investigation:
-
Issue 1 (skill name mismatch): Fixed in pr20. detect_skills() was mapping design docs to "ep-review" but the skill in osac-workspace is "design-review". The new run shows skill-prompt.md loading successfully and the workdir is named
workdir-design-review. -
Issue 2 (osac-workspace as working directory): Was already working, just not visible in OTEL. Claude Code loads CLAUDE.md and .claude/rules/ into the system prompt automatically - they appear as cached tokens (~9k token increase from 34k to 43k), not
as Read tool calls. The agentic-ci chain copies osac-workspace contents into the workdir, which gets bind-mounted as /workspace in the container.
One architectural note: /opt/skills (the osac-workspace clone) serves double duty - it's both the skills source for resolving SKILL.md files and the workspace template that gets copied into the container.
This works because both live in the same repo, but it's a hidden coupling. The variable name skills_path is also misleading since it points at the repo root, not the skills/ subdirectory.
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: eranco74, ItzikEzra-rh The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Summary
.claude/rules/, skills/)ep-review->design-reviewreferences indetect_skills()andvalidate_scores()(closes OSAC-2814)Problem
The EP review GitHub Action cloned osac-workspace only to grab skill files, but Claude Code ran from a bare
/workspacewith no project context. After the skill rename (ep-review -> design-review in OSAC-1986), the skill file copy also broke silently — Claude reviewed without any skill criteria.OTEL evidence from run 29440385042:
Read /workspace/.context/skill-prompt.md-> "File does not exist"cache_read=0(no project context loaded)Fix
Instead of
work_dir.mkdir(), copy the osac-workspace clone as the workdir base viashutil.copytree. When agentic-ci mounts it as/workspace, Claude Code sees the full workspace natively.Verified
Tested on fork PR ItzikEzra-rh#20 — OTEL from run 29493446005:
Read /workspace/.context/skill-prompt.md-> success (no errors)cache_read=28,861(CLAUDE.md + AGENTS.md + rules loaded)verdict.jsonwritten successfullyCloses: OSAC-2814
🤖 Generated with Claude Code
Summary by CodeRabbit
Bug Fixes
Chores