arm-local-monitoring

Monitors local no-scheduler A2MC ensemble runs via dispatch logs and process checks.

Updated Aug 28, 2026
One-click install
npx skills add https://github.com/jingtao-lbl/A2MC --skill arm-local-monitoring-jingtao-lbl
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: arm-local-monitoring
Source: https://github.com/jingtao-lbl/A2MC/tree/main/.claude/skills/arm-local-monitoring
Command: npx skills add https://github.com/jingtao-lbl/A2MC --skill arm-local-monitoring-jingtao-lbl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When an A2MC calibration ensemble runs on a workstation with A2MC_EXEC_MODE=local, there is no scheduler to query, so the HPC three-layer watcher contract does not apply and a crashed dispatcher looks identical to a long quiet run. This Skill defines how to watch such a run correctly: reading the dispatch log, checking the dispatcher process, and verifying completion through the filesystem. ## Core Features & Use Cases - Dispatcher liveness checks: Extracts the dispatcher PID from each case's job_id.txt and verifies it with ps, distinguishing a dead dispatcher from a slow case. - Monitor filter design: Arms a Claude Monitor on local_dispatch.log with both progress signals (e.g., EcoSIM start/end) and failure signatures (Killed, Cannot allocate, Traceback), since silence on a crash is identical to silence on a long run. - Completion verification: Uses the backend's check_case_status, which requires the final restart file rather than an output tape, and never treats dispatcher exit as ensemble completion. - Use Case: After submitting an EcoSIM ensemble locally on a laptop, arm a Monitor on the dispatch log, detect an OOM-killed case via the Killed signature, and propose lowering A2MC_LOCAL_WORKERS and relaunching only the affected cases. ## Quick Start Ask the AI to monitor the local A2MC ensemble by checking the dispatcher process and arming a Monitor on local_dispatch.log with progress and error filters.

Frequently Asked Questions about arm-local-monitoring

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

FAQPage Schema
How do I monitor an A2MC ensemble running locally without a scheduler?▼

Arm a Monitor on the local_dispatch.log file written next to the case directories, with a filter carrying both progress signals like EcoSIM start/end and failure signatures like ERROR, Traceback, and Killed. Check dispatcher liveness by extracting the PID from any case's job_id.txt and running ps on it.

How do I check if a local A2MC run finished or crashed?▼

Call the backend's check_case_status over every case, which requires the final restart file rather than just an output tape, since a killed run still leaves a tape. Never treat the dispatcher exiting as completion, because it exits when the last case returns, successfully or not.

Does the HPC watcher contract apply to local A2MC runs?▼

No, most of it does not transfer. The watcher script and the heartbeat check via tools/check_watcher_state.py are scheduler-aware and do not apply locally; only the completion check through check_case_status is identical, because it is filesystem-based on every backend.

Why did my local A2MC case get killed and how do I fix it?▼

A Killed or Cannot allocate signature in the dispatch log means the OOM killer terminated the case, which on a shared workstation arrives without warning and leaves a partial tape. Lower A2MC_LOCAL_WORKERS, which counts whole cases each with its own memory footprint, and relaunch only the affected cases.

Which A2MC models support local execution mode monitoring?▼

A2MC_EXEC_MODE is implemented on the EcoSIM backend today, with PFLOTRAN and ATS queued to converge on the same switch. Until then, the dispatcher-log steps apply wherever a local dispatch log exists and the rest of the guidance is model-agnostic.