From 1000b99d5d564b21592ab8667cb764cb4246c679 Mon Sep 17 00:00:00 2001 From: Trevor Nierman Date: Tue, 7 Jul 2026 16:53:04 -0400 Subject: [PATCH] Fix agentic SDLC check: resolve @ includes, switch to informing mode Two fixes for the agentic SDLC conformance check pipeline: 1. Resolve CLAUDE.md @ includes: repos using `@AGENTS.md` (or similar include directives) had content checks fail because the script only read CLAUDE.md itself. Now resolves one level of @ references and checks the combined content. Deduplicates with sort -u. 2. Add onError: continue to both check tasks so the pipeline always passes at the PipelineRun level. Non-conformance is still visible in the individual task status (red task in Konflux UI) but the overall check reports success. This avoids noisy red X signals on repos that are still being onboarded. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../agentic-sdlc-check-pull-request.yaml.tmpl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/boilerplate/openshift/golang-osd-operator/agentic-sdlc-check-pull-request.yaml.tmpl b/boilerplate/openshift/golang-osd-operator/agentic-sdlc-check-pull-request.yaml.tmpl index a14732a7..6845bea5 100644 --- a/boilerplate/openshift/golang-osd-operator/agentic-sdlc-check-pull-request.yaml.tmpl +++ b/boilerplate/openshift/golang-osd-operator/agentic-sdlc-check-pull-request.yaml.tmpl @@ -45,6 +45,7 @@ spec: - name: check-file-existence runAfter: - clone-repository + onError: continue taskSpec: steps: - name: check-files @@ -96,6 +97,7 @@ spec: - name: check-content-validation runAfter: - clone-repository + onError: continue taskSpec: steps: - name: check-content @@ -118,9 +120,14 @@ spec: echo "Date: $(date -u +%Y-%m-%dT%H:%M:%SZ)" echo "" - # CLAUDE.md required sections + # CLAUDE.md required sections (resolve one level of @ includes) if [ -f "CLAUDE.md" ]; then - claude_content=$(cat CLAUDE.md) + check_files="CLAUDE.md" + for ref in $(grep -oE '@[^ `]+' CLAUDE.md 2>/dev/null); do + ref_file=$(echo "$ref" | sed 's/^@//') + [ -f "$ref_file" ] && check_files="$check_files $ref_file" + done + claude_content=$(cat $(echo "$check_files" | tr ' ' '\n' | sort -u) 2>/dev/null) if echo "$claude_content" | grep -qiE '##.*(build commands|development commands|build|dev server)'; then pass "CLAUDE.md has build/development commands section"