auth
FreeAuthentication and authorization patterns for Rossoctl services
The English summary is being prepared. Showing the original description.
Root cause analysis from CI logs - systematic investigation when only CI output is available
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Systematic root cause analysis when you only have access to CI logs and artifacts.
CI logs are the single largest source of context pollution. A single gh run view --log-failed
can dump thousands of lines into context. ALL CI log analysis MUST happen in subagents.
# Session-scoped log directory
# Works in both Claude Code (local) and sandbox agent (container)
export LOG_DIR="${LOG_DIR:-${WORKSPACE_DIR:-/tmp}/rossoctl-rca}"
mkdir -p "$LOG_DIR"
Rules:
gh run view --log-failed output hit the contextTask(subagent_type='Explore') to read and analyze| Aspect | rca:ci | rca:hypershift |
|---|---|---|
| Access | CI logs only | Full cluster access |
| Data | Static artifacts | Live state + logs |
| When | CI failure, no cluster | Have running cluster |
| Escalate | → rca:hypershift if need live debugging | N/A |
tdd:ci to iterate on fixesAuto-approved:
ghcommands for downloading CI logs and artifacts are auto-approved. Analysis output is saved to/tmp/rossoctl/rca/.
flowchart TD
START(["/rca:ci"]) --> P1["Phase 1: Gather"]:::rca
P1 --> P2["Phase 2: Isolate"]:::rca
P2 --> P3["Phase 3: Hypothesize"]:::rca
P3 --> P4["Phase 4: Verify"]:::rca
P4 --> RESULT{"Conclusive?"}
RESULT -->|Yes| P5["Phase 5: Document"]:::rca
RESULT -->|No| ESC["Escalate to rca:hypershift"]:::rca
P5 --> TDD["tdd:ci"]:::tdd
classDef rca fill:#FF5722,stroke:#333,color:white
classDef tdd fill:#4CAF50,stroke:#333,color:white
Follow this diagram as the workflow.
# Get failed run ID (small output, OK inline)
gh run list --status failure --limit 5
# Download logs to session-scoped directory
gh run view <run-id> --log-failed > $LOG_DIR/ci-run-<run-id>.log 2>&1; echo "EXIT:$?"
# View in browser (minimal context — just prints URL)
gh run view <run-id> --web
# Download all artifacts to session-scoped directory
gh run download <run-id> -D $LOG_DIR/artifacts
Analyze logs in subagent — use Task(subagent_type='Explore') to read $LOG_DIR/ci-run-<run-id>.log.
Do this in a subagent — use Task(subagent_type='Explore') with instructions to:
Grep with context (-C 3) on $LOG_DIR/ci-run-<run-id>.log — do NOT read the whole fileFAILED|ERROR|AssertionError|assert.*False with head_limit: 30Work backwards from the failure:
| Category | Signs | Check |
|---|---|---|
| Timing | "timeout", flaky results | Race conditions, slow startup |
| Config | "not found", "invalid" | Missing env vars, wrong paths |
| Auth | "401", "403", "unauthorized" | Token issues, client config |
| Network | "connection refused", "timeout" | Service not ready, DNS |
| State | Works locally, fails CI | Order dependency, cleanup |
| Resource | "OOM", "evicted" | Memory/CPU limits |
## Hypothesis 1: [Brief description]
- **Likelihood**: High/Medium/Low
- **Evidence needed**: [What to look for]
- **Found**: [Yes/No/Partial]
- **Conclusion**: [Confirmed/Eliminated/Inconclusive]
# Auth issues
grep -i "oauth\|token\|401\|403\|unauthorized" logs/*.txt
# Timing issues
grep -i "timeout\|timed out\|deadline\|retry" logs/*.txt
# Connection issues
grep -i "connection\|refused\|unreachable\|dns" logs/*.txt
# Resource issues
grep -i "oom\|memory\|evict\|limit" logs/*.txt
## Root Cause Analysis
**Failure**: [Test name / description]
**Run ID**: [gh run id]
### Root Cause
[Clear statement of what caused the failure]
### Evidence
1. [Log line / artifact showing the issue]
2. [Supporting evidence]
### Contributing Factors
- [Any secondary causes]
### Fix
[Proposed solution]
### Prevention
[How to prevent recurrence]
Before posting RCA findings to any public destination (issue comment, PR comment, etc.):
If the root cause involves a dependency bug, unexpected behavior, or version issue:
cve:scan to check if this is a known CVEcve:brainstorm BEFORE documenting findings publiclycve:brainstorm)Example neutral RCA wording:
Root Cause: Incompatibility with <package> <version>.
Fix: Bump to <version> which resolves the behavior.
NOT:
Root Cause: CVE-2026-XXXXX in <package> allows remote code execution.
Escalate when:
rca:ci inconclusive? → Create cluster → rca:hypershift
gh run listValid: --branch <name>, --status <state>, --event <type>, --limit <n>,
--workflow <name>, --json <fields>, --commit <sha>
INVALID (do NOT use): --head, --head-ref, --pr, --pull-request
To filter by PR: use gh pr checks <pr-number> or --branch <pr-branch-name>
gh run view <run_id>Valid: --log, --log-failed, --job <id>, --web
Always redirect large output: gh run view <id> --log-failed > $LOG_DIR/ci.log
gh prgh pr checks <number> — CI status for a specific PRgh pr view <number> --json checks — JSON CI check datagh pr list --state open|closed|mergedRun gh <command> --help to see valid flags. Do NOT guess.
| Task | Command |
|---|---|
| List failed runs | gh run list --status failure --limit 5 |
| CI for specific PR | gh pr checks <pr-number> |
| View failed logs | gh run view <id> --log-failed |
| Download artifacts | gh run download <id> |
| Open in browser | gh run view <id> --web |
rca:hypershift - RCA with live cluster accesstdd:ci - Fix iteration after RCAsuperpowers:systematic-debugging - General debugging approachcve:scan - CVE scanning (check if root cause is a known CVE)cve:brainstorm - Disclosure planning (if CVE found during RCA)No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Authentication and authorization patterns for Rossoctl services
The English summary is being prepared. Showing the original description.
Create confidential OAuth2 clients in Keycloak for server-to-service authentication
The English summary is being prepared. Showing the original description.
Configure MLflow with mlflow-oidc-auth plugin for Keycloak OIDC authentication
The English summary is being prepared. Showing the original description.
Configure OpenTelemetry Collector with OAuth2 authentication for trace export
The English summary is being prepared. Showing the original description.
CI pipeline monitoring, status checks, and PR validation workflows
The English summary is being prepared. Showing the original description.
Monitor running CI jobs, wait for completion, create tasks for results
The English summary is being prepared. Showing the original description.