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, thecommit hook, whatever the agent launched — from the operating system and from the recordstheir launchers write in .anchors/runs/, and prints one line for each event that calls for areaction:
▶ 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 reactto each line. Its state stays in .anchors/runs/: re-armed, it says what happened while nobodywatched, and nothing twice.
Timing comes from the defaults, then the "monitor:" block of anchors.yaml, then the flags.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 |
Subcommands
Section titled “Subcommands”anchors monitor run
Section titled “anchors monitor run”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 itended even when nobody else watched it. The command's exit code is this command's.anchors monitor run -- <command> [args...] [flags]| Flag | Default | What it does |
|---|---|---|
--name |
the run’s name (default: the program it runs) | |
--root |
. |
project root |
The work queue — family
Section titled “The work queue — family”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 |