Skip to content
EN · PT

anchors monitor

Watch the project’s long processes: one line when one starts, stalls, dies or ends.

Reads, on a loop, the project's long processes — test suites, mutation runs, builds, the
commit hook, whatever the agent launched — from the operating system and from the records
their launchers write in .anchors/runs/, and prints one line for each event that calls for a
reaction:
▶ started ⏸ stalled (no output nor CPU for the runner's threshold) ▶ moving again
☠ died (gone without an exit or a summary) ✓/✗ ended, with its exit or its summary
✓/✗ a test report landed, with its failures … progress, sparse
and a heartbeat with what runs — "running=[NOTHING]" included — and the load.
Run it inside your watch tool, after launching the long command in the background, and react
to each line. Its state stays in .anchors/runs/: re-armed, it says what happened while nobody
watched, and nothing twice.
Timing comes from the defaults, then the "monitor:" block of anchors.yaml, then the flags.
Terminal window
anchors monitor [flags]
Flag Default What it does
--every how often to read the processes (default 30s, or monitor.every)
--heartbeat how often to say what runs, even when nothing changed (default 5m)
--once read once, print what changed, and exit
--progress least time between two progress lines of one run (default 5m)
--root . project root
--stall quiet time before a run of no declared runner is stalled (default 5m)
--until-done exit when the runs it watches have all ended

Run a command and record its run for the monitor: process, output and exit.

Runs the command, passing its output through, and records the run in .anchors/runs/ —
its process, a copy of its output and its exit code —, so "anchors monitor" says how it
ended even when nobody else watched it. The command's exit code is this command's.
Terminal window
anchors monitor run -- <command> [args...] [flags]
Flag Default What it does
--name the run’s name (default: the program it runs)
--root . project root

Commands of the same family — what tells each apart:

Command What it does
anchors next Pull and claim the next item from the queue (the worker calls this)
anchors queue List live tasks (the work the watcher queued)
anchors work Emit the work prompt of a stage (spec|code|feature|test|review) for a target
anchors done Close claimed task(s) (moves to the .anchors/done/ history)
anchors drop Discard a task from the queue without completing it (removes; does not archive)
anchors reclaim Return to the queue the tasks stuck in claimed (dead worker)
anchors deliver Record the delivery of a stage — the review trigger
anchors decided Release the card escalate --for-user stopped, once the decision is made
anchors discard Take off the board the card that no longer makes sense, without deleting it
anchors unblock Open the work card that unblocks a card stuck in needs-user
anchors escalate Open the issue for a change needed in the plan or the spec
anchors report-bug Report a bug in Anchors itself at github.com/co2-lab/anchors
anchors synthesize Two PRs conflicting in CONTENT become a synthesis card
anchors watch The background watcher: sees changes and QUEUES work
anchors monitor Watch the project’s long processes: one line when one starts, stalls, dies or ends
anchors flow Operate the work flows (the puzzle of actions and results)
anchors board The project board — published by the pipeline, or served live