babysit-zephyr

Launch and monitor Zephyr pipeline jobs on Iris clusters with staged health checks.

3.2k|266|Updated Mar 22, 2024
One-click install
npx skills add https://github.com/marin-community/marin --skill babysit-zephyr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: babysit-zephyr
Source: https://github.com/marin-community/marin/tree/main/.agents/skills/babysit-zephyr
Command: npx skills add https://github.com/marin-community/marin --skill babysit-zephyr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Running long-lived Zephyr pipelines on Iris requires constant supervision: jobs can fail at startup, stall mid-stage, or leave zombie coordinators behind. This Skill provides a structured operational playbook for launching, monitoring, diagnosing, and safely restarting Zephyr jobs without missing critical failure signals.

Core Features & Use Cases

  • Job Lifecycle Management: Launch jobs with the correct Iris config, region, and memory settings, and stop them safely after explicit user approval.
  • Escalating Health Monitoring: Progress from smoke checks to steady-state stage tracking to failure detection using coordinator logs, task states, and thread dumps.
  • Failure Diagnosis: Distinguish real failures from misleading "Terminated by user" messages, detect zombie coordinators, and identify stuck stages or straggler workers.
  • Use Case: You submit a multi-stage data processing pipeline to a TPU cluster and need to watch it for hours. This Skill guides you to verify the coordinator and workers reach RUNNING, track stage transitions via logs, and escalate to debugging only when a stage genuinely stalls.

Quick Start

Ask the agent to babysit your Zephyr pipeline by providing the Iris cluster config, region, and the run command for your job.

Frequently Asked Questions about babysit-zephyr

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I monitor a Zephyr pipeline job on Iris?

Monitor a Zephyr job by checking child job states with the Iris CLI list-tasks command, then reading coordinator logs for stage, completed, in-flight, and queued counts. Start with a smoke check in the first 2-5 minutes, then calibrate check-in intervals to observe stage transitions.

How do I start a Zephyr job with the Iris CLI?

Start a job with uv run iris --config <CONFIG> job run --region <REGION> --no-wait -- python <SCRIPT>. For long-running pipelines that accumulate state, add --memory 5GB since the entrypoint container defaults to only 1GB.

Why does my Iris job say Terminated by user when nobody stopped it?

The Terminated by user message is misleading and does not necessarily mean a human killed the job. The system uses it for various internal termination reasons, so always check the actual logs at the parent job, coordinator, and worker levels to find the real cause.

How do I tell if a Zephyr coordinator is a zombie?

Request a thread dump of the coordinator using the profile-task RPC with a threads profile type. If all threads are in _worker with the thread pool idle, the pipeline has exited and the coordinator is a zombie; a live pipeline shows actor-method_0 in _wait_for_stage.

When should I restart a failed Zephyr job?

Restart only after asking the user for explicit approval, since stopping kills all child jobs including coordinators and workers. First confirm the failure is real by checking the latest attempt's logs, then stop the job, reuse or obtain the run command, and resume monitoring.