Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions skills/canonical/gds-ci-performance-verify/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ Verify performance with comparable evidence rather than isolated job duration.
Use only naturally occurring project runs; never create synthetic,
benchmark, soak, canary, rerun, or empty-commit traffic to fill a cohort.
3. Decompose median, p90, and p95 latency into queue, provision, setup, execute, upload/deploy, and teardown stages.
Use `queue.assigned`/`queue.running` spans for queue lifecycle and
`provider.create_instance`/`provider.delete_instance` for provisioning and
teardown. Join by `runner_name`; retain `queue_job_uuid`, workflow run and
`incus_member` so member pressure is not attributed to the services host.
4. Compare throughput, utilization, success, retry, infrastructure-failure, flaky-failure, and missing-telemetry rates.
5. Identify critical-path changes and resource contention; keep priority classes separate.
6. Reject conclusions with insufficient samples or incomparable cohorts and label them `NOT_PROVEN`.
Expand Down
12 changes: 11 additions & 1 deletion skills/canonical/gds-drakkars-audit-fleet/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,17 @@ Explain fleet health and bottlenecks from correlated, time-bounded evidence.
correlation fields. Distinguish the bounded pre-reconciliation account-only
window from intent records that remain unbound after authoritative queued
and already-running reconciliation.
7. Separate confirmed faults, saturation, waste, and `NOT_PROVEN` gaps.
Treat `gha_fleet_queue_missing_runner_request_id` as incomplete
pre-execution correlation only. A running direct-JIT job with UUID,
workflow-run, numeric GitHub-runner and runner-name identity belongs to
`gha_fleet_queue_direct_jit_without_runner_request_id`; GitHub emits no
AcquireJobs request ID for that path.
7. In OpenObserve, query job-start logs by `msg = 'job correlation accepted'`.
Join `github_*`, `runner_name` and `instance_name` to `fleet_traces` using
trace search type `traces`; queue spans expose `queue_job_uuid`, while
provider spans expose `incus_member`. Do not use the provider process
resource host as the compute placement member.
8. Separate confirmed faults, saturation, waste, and `NOT_PROVEN` gaps.

## Safety

Expand Down
16 changes: 15 additions & 1 deletion skills/canonical/gds-drakkars-triage-run/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,26 @@ Trace one run from event receipt to terminal result without changing state.
## Workflow

1. Capture repository, run, attempt, job, event, requested labels, commit, and timestamps.
2. Follow the same identifiers through admission, priority, assignment, provisioning, runner registration, setup, execution, upload, and teardown.
2. Follow the same identifiers through admission, priority, assignment,
provisioning, runner registration, setup, execution, upload, and teardown.
Start from the native job-start log fields (`github_repository`,
`github_workflow_run_id`, `github_run_attempt`, `github_job_name`,
`github_workflow_ref`, `github_commit_sha`, `runner_name`, `instance_name`).
Join traces by `runner_name`: `queue.*` supplies `queue_job_uuid`, and
provider create/delete supplies `incus_member`.
3. Locate the first abnormal stage; distinguish queue pressure, missing capability, infrastructure failure, deterministic test failure, flaky failure, timeout, and observability loss.
4. Compare with adjacent successful runs using the same workflow and toolchain.
5. If a transient infrastructure error is proven, recommend a bounded rerun; do not execute it here.
6. Preserve running jobs and label unsupported claims `NOT_PROVEN`.

## Direct-JIT identity

Do not require `github_runner_request_id` from a running direct-JIT job. It is
an AcquireJobs identity GitHub does not emit on that path. Require queue UUID,
workflow run, numeric GitHub runner, runner name and instance/member correlation
instead. A missing request ID remains actionable only before the execution path
has converged or when those authoritative identities are also absent.

## Output

Return the causal timeline, first failing stage, supporting links or private evidence locations, impact, and safest recovery path.
Expand Down