agentsclimarketplace

Oncall validation debugger

Skill omonuj/claude-horizon-skills/skills/oncall-schedule-coverage-collapse/oncall-validation-debugger

Claude Code Agent Skills for building, red-teaming and tuning agentic RL evaluation environments — a four-skill pattern (guardian, validation-debugger, score-tuner, iteration-loop) plus a 24-point adversarial reviewer.

Install
npx -y skills add omonuj/claude-horizon-skills --skill oncall-validation-debugger

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 13 days oldThe repository was created 13 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Fetches and interprets validation logs (No-Op and Oracle) for the oncall-schedule-coverage-collapse task (<TASK_ID>). Maps observed log patterns to root causes and the smallest safe fix. Use after a validation fails to understand why it failed before editing anything.

SKILL.md

7.5 KB, as published. Nobody here has run it

oncall-validation-debugger

Execution Mode — FULLY AUTONOMOUS

NEVER ask the user for confirmation. Fetch logs, interpret, fix immediately. No user-facing handoffs (rollout triggering belongs to oncall-iteration-loop). If you can't map a pattern with confidence, escalate to horizon-agentic-reviewer.

Trigger

Oracle ≠ 1.0/passed; No-Op score > 0; grader exception; feedback: null (setup crash); or before editing setup/solution/grader after a validation failure. NOT for rollout failures — use oncall-score-tuner.

Task Identity

FieldValue
UUID<TASK_ID>
Slug / pathoncall-schedule-coverage-collapse / tasks/oncall-schedule-coverage-collapse/
Subscorescoverage_restored (0.5) + monitoring_governance (0.5)
Venvsource /Users/mac/Documents/tasks/horizon_env/bin/activate

Root-only files the grader reads: /opt/grader-scenario.json (keys reconciler, env_reconciler, canary, canary_runtime), /opt/<grader-artefact>.txt (mirror of agent-readable /etc/oncall/<artefact>.txt). If /opt/<grader-artefact>.txt is missing the grader SKIPS the <metadata-key> gate (no deadweight) — a "governance always-1 with the anchor silently skipped" means the setup write failed; check output.txt.

Grader feedback = coverage_restored: <detail>; monitoring_governance: <detail> — read both halves.

Result shapes

scorepassedfeedbackmeaning
0falsenullsetup/container crash before grader → output.txt
0falsenon-nullboth failed
0.5falsenon-nullone passed, one failed
1.0truenon-nullboth passed

No-Op: anything but score: 0 is a problem.

Step 1 — Fetch + read

cd /Users/mac/Documents/tasks && source horizon_env/bin/activate
horizon tasks validate-logs -a oracle tasks/oncall-schedule-coverage-collapse 2>&1
cat tasks/oncall-schedule-coverage-collapse/.validation/*/result.json 2>/dev/null | python3 -m json.tool

Step 2 — Map symptom → cause → fix

Branch A. feedback: null / score: 0 — setup crash

Pattern in output.txtCauseFix
hang at Waiting for bleater namespacebase image didn't create bleaterplatform issue; not ours
namespaces "bleater-env" ... Forbidden / create errorsetup can't create bleater-envsetup runs as root and does `kubectl get ns bleater-env
k3s is not ready after 180 secondsENABLE_ISTIO_BLEATER=trueremove it
Forbidden on kubectl get nodesrbac yaml not copiedrestore COPY data/ubuntu-user-rbac.yaml
failed to pull image for a drift/canary podexternal registryuse ${SIDECAR_IMAGE}
setup.sh: line N: syntax errorbash errorbash -n setup.sh

Branch B. No-Op score > 0 — false positive

Passed on No-OpWhy wrongFix
coverage_restored=1the broken state didn't apply, OR drift didn't deploy so the schedule/escalation were never (re)brokenconfirm oncall-schedule-primary has carol/dave/UNASSIGNED + oncall-escalation-secondaryincidents-archived + all 3 drift deploys exist
monitoring_governance=1drift didn't deploy, OR the schedule already has coverage-tier/<metadata-key> at setup time, OR the install-id mirror wasn't writtenconfirm setup leaves the schedule WITHOUT the label/anchor, writes /opt/<grader-artefact>.txt, and deploys all drift

Branch C. Oracle 0.5coverage_restored=0 (governance passed)

Feedback fragmentCauseFix in solution.sh
primary rotation has an unassigned slot / owned by <user> (inactive...)the kube-system reconciler or canary re-applied the broken schedulestop BOTH (annotation discovery for the reconciler; slot-pinner container for the canary) BEFORE re-applying the corrected schedule with active owners
override ... still references deactivated useroverrides not cleanedset oncall-overrides overrides.json to [] (or reassign to active) — overrides are NOT drifted, so this sticks once applied
secondary escalation points at channel ... not activeenv reconciler re-applied the archived channelstop the bleater-env reconciler (annotation) BEFORE re-applying policy.json with an active channel (incidents)

Branch D. Oracle 0.5monitoring_governance=0 (coverage passed)

Feedback fragmentCauseFix in solution.sh
schedule missing required label coverage-tier=enforcedcorrected schedule lacks the markeradd label bleater.io/coverage-tier: enforced
schedule does not anchor to the platform install idno annotation == install idread /etc/oncall/<artefact>.txt, set an annotation (any key) to that value
no schedule-gap / unresolvable-slot monitoring rule foundrule CM missing or not a real rulecreate a CM with - alert:/expr: referencing the on-call schedule + a gap/coverage/unresolvable signal
active drift ... <name>@kube-system / @bleater-enva reconciler still runningdiscover by annotation, delete/scale to 0 (incl. bleater-env)
<canary> mutation capability not fully neutralizedslot-pinner sidecar AND runtime RBAC presentdelete the canary OR remove <canary>-runtime RBAC

Branch E. Oracle 0 non-null — both failed

Read both halves; follow C and D in parallel. Persists after fixes → re-run No-Op to isolate setup contamination.

Branch F. Grader exception

All kubectl/JSON access is guarded (kubectl_json, cm_data_json, .get). If one crept past, wrap it; treat failure as subscore=0. Not a hard-constraint item.

Step 3 — Pre-fix safety

  1. Dockerfile + bleater-env invariant hold (guardian Step 0).
  2. bash -n setup.sh && bash -n solution.sh && py_compile grader.py.
  3. Subscore-difficulty change → diagnose with oncall-score-tuner first.
  4. Articulate the why.
Fix typeHand off
setup fault-injection / solution bug / grader exceptiononcall-task-guardian Step 3 (push)
subscore difficultyoncall-score-tuner first
unmappablehorizon-agentic-reviewer

Known non-issues (do NOT fix)

PatternWhy
v1_feedback + behavior_in_task_documentation FAILreviewer can't read the baseline-config heredoc → calls the coverage-tier / <metadata-key> gates "undocumented". They ARE the variance mechanism — accepted
governance fails because agents only audited bleaterthe kube-system + bleater-env discovery axis working as intended

Verification cheat sheet

HypothesisProbe
"solution stops drift before re-applying state"read solution.sh — the annotation/slot-pinner discovery+delete precede the schedule/escalation re-apply
"solution sets label + anchor + gap-rule + active channel + empty overrides"`grep -E "coverage-tier
"grader gap-rule gate intact"`grep -E "is_rule
"wait_consistent unchanged"grep wait_consistent grader.py — coverage passes=5,gap=8,timeout=220; governance passes=5,gap=8,timeout=200

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.