Skip to content

Add cicd infrastructure#19

Merged
sattensil merged 96 commits intomainfrom
add-cicd-infrastructure
Nov 7, 2025
Merged

Add cicd infrastructure#19
sattensil merged 96 commits intomainfrom
add-cicd-infrastructure

Conversation

@sattensil
Copy link
Collaborator

No description provided.

- Integrate ld-aic-cicd testing framework as dev dependency
- Add GitHub Actions workflow for automated AI config validation
- Create comprehensive test dataset for all three agents:
  * supervisor-agent: Multi-agent routing and orchestration
  * support-agent: RAG + MCP research capabilities
  * security-agent: PII detection and compliance
- Enable CI/CD validation on PRs and pushes
- Add judge-based evaluation for quality assurance
- Configure production config sync with drift detection

This enables automated testing of LaunchDarkly AI Configs to catch
configuration issues before deployment.
@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

Fix secret masking corruption:
- Use heredoc instead of echo to write .env file
- Prevents GitHub from masking secrets in HTTP headers
- Root cause: httpx.LocalProtocolError: Illegal header value b'***'
- GitHub Actions was replacing API keys with *** in Authorization headers

Add downloadable diagnostics:
- Upload API server logs as artifact for debugging
- Logs available under "api-server-logs" in Actions artifacts
- Helps diagnose OpenAI connection issues and other runtime errors

This fixes the "Connection error" failures in support agent tests caused
by GitHub Actions secret redaction interfering with OpenAI API requests.
@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

Root cause: OpenAI API keys contained trailing newlines (\n), making
them illegal HTTP header values.

Error: httpcore.LocalProtocolError: Illegal header value b'Bearer sk-proj-...\n'

Solution:
- Strip newlines and carriage returns from all secret values
- Use tr -d '\n\r' to clean environment variables before writing to .env
- Prevents python-dotenv from loading keys with embedded newlines

This fixes all "Connection error" failures in support agent tests.
@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

…mits

The judge evaluator was using GPT-4o (OpenAI) which hit quota limits during testing.
Switching to Claude 3.5 Sonnet (Anthropic) to continue running CI tests without interruption.

Changes:
- Added --judge-model claude-3-5-sonnet-20241022 flag
- Added --judge-provider anthropic flag
- Judge evaluations will now use Claude instead of GPT-4o

Benefits:
- Avoids OpenAI API quota limits
- Uses available Anthropic credits
- Same evaluation quality (both are frontier models)
@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

1 similar comment
@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

1 similar comment
@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

- Changed repository reference from scarlett_ai_configs_ci_cd- to ld-aic-cicd-
- Updated all 3 workflow jobs: validate-configs, evaluate-configs, sync-production
- Maintains compatibility with feature/user-friendly-setup branch
Repository has not been renamed on GitHub yet. Keeping original name until rename is completed.
@github-actions
Copy link

🔍 AI Config Validation Results

Environment: production
Total Configs: 3

Summary

✅ Valid: 3
❌ Errors: 0
⚠️ Warnings: 3

Issues Found

security-agent

  • ⚠️ AI Config 'security-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

supervisor-agent

  • ⚠️ AI Config 'supervisor-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

support-agent

  • ⚠️ AI Config 'support-agent' not found via API (will check SDK)
  • ⚠️ Variations info unavailable via API - showing SDK-evaluated config

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant