Skip to content
🧭
Observability Layer Β· Watchtower

How to Read Watchtower

Watchtower is Scout's monitoring dashboard. Stay here when you need help decoding the tabs, signal shapes, health colors, or the shortest investigation move after something looks wrong.
Validated Β· Oct 6, 2026Revalidated on October 6 against the shared opening scan, the current Watchtower fallback states, subscription-pool metering, and the partial-coverage cues this route tells readers to trust before they leave for Troubleshooting or Network. New this pass: the route closes with the standardized Continue-from band β€” it previously ended at the boundaries callout with no exits at all β€” routing readers to the Observability district where the Watchtower surfaces live, the Troubleshooting failure playbook, and the Bridge district behind the call metadata these event logs carry.
Take the shortest Watchtower jump

Open Views to decode the dashboard, Troubleshooting when you already have a symptom, or Network when the real question is wider system shape.

Stay to interpret the dashboardΒ·TroubleshootingΒ·ProjectsΒ·NetworkΒ·CapabilitiesΒ·Architecture
Top-level route contracts

Pick the lane, then the page

Atlas stays easier to scan when the route map reads like navigation first. Start with the lane that matches your question, then expand the full page-job model only when you need the deeper contract details.

Current lane: Operations
Watchtower GuideHere

Operational companion page for when the question is about live health and current status rather than static explanation.

What to do when it hurtsCurrent pageHigh-change

Change pace: Check recent updates first. These pages move when the network or live support surfaces change.

Best next move
Then return to Atlas for explanation

Use Watchtower for what is happening now, then come back to Atlas when you need the why behind it.

Open Architecture
Start here

Entry

Use these pages when you are still orienting and need the safest first click before you pick an owner or system.

3 pages
Home

Shortest whole-site overview before you choose a deeper page.

Steady
Getting Started

Guided first-five-minutes path for readers who want a tour instead of a reference page.

Steady
FAQ

Question-first shortcut when the reader starts with confusion instead of a route plan.

Steady
Who owns the work

Ownership

Use these pages when your real question is who should handle the work, how it moves, or which charter owns the surface.

4 pages
Projects & Charters

Charter and surface ownership map for the network.

Steady
Capabilities

Worker-selection page for choosing the right agent and understanding execution boundaries.

Steady
Coordination

Decision-and-handoff layer for how work gets routed between people, agents, and systems.

Steady
Workflows

Execution-story page for how real work usually unfolds from intake to visible closeout.

Steady
How the network is built

Systems

Use these pages when you need the map, structure, services, and interfaces behind the network instead of the people or routing rules.

5 pages
Network Topology

Whole-network reference map of agents, systems, and relationships.

High-change
Architecture

Rationale layer for why the network is shaped this way and what tradeoffs drove it.

Stable reference
Bridge

Communication-system page for how agents ask, hand off, and consult one another.

Steady
Infrastructure

Platform-surface page for where the network runs and which services or access layers support it.

High-change
API Reference

Interface reference for endpoints, payloads, and package-level service details.

Steady
What to do when it hurts

Operations

Use these pages when something feels broken, you need a concrete next check, or you need the live-status companion surface.

2 pages
Troubleshooting

Symptom-first page for named failures, first checks, and practical fixes.

High-change
Watchtower GuideHere

Operational companion page for when the question is about live health and current status rather than static explanation.

High-change
Reading guide

Use this page like an interpretation guide, not a live console

This is a street-level observability guide. Stay here when you need help reading tabs, event patterns, health colors, or investigation order inside Watchtower itself.
Pick your question
Current focus

I need to know what one tab is showing me

Fastest reading layer β€” tab-by-tab interpretation before deciding whether anything is wrong.

Best for
Overview, Live Event Stream, Bridge Log, Agent Activity, Cost Tracker, and Service Health questions.
Stop after this when
Stop once the tab makes sense and you know whether you need the event dictionary or investigation flow next.

Access

Most readers should use Watchtower on the LC Tailscale network at http://main-mini:5175/. Meg's container-era preview mirror on 5181 retired with that stack (2026-09-30 revalidation), so 5175 is the one live Watchtower surface.

Dashboard Views

Watchtower is organized into tabs. Here's what each one shows:

🏠 Overview

At-a-glance network health. Shows the count of healthy/degraded/offline services, recent event volume, and the most active agents in the past 24 hours.

  • β†’Green counts = everything nominal
  • β†’Yellow = service reachable but slow or returning warnings
  • β†’Red = service unreachable or erroring consistently
  • β†’Event spike = high agent activity (usually normal during Scout cycles)

πŸ“‘ Live Event Stream

Real-time feed of every observability event. New events appear at the top.

  • β†’"service" field β€” which agent/service produced the event
  • β†’"name" field β€” event type in dot notation (cycle.completed, bridge.call, recall.query)
  • β†’"level" field β€” info (routine), warn (degraded), error (failed)
  • β†’"durationMs" β€” how long the operation took; outliers are worth investigating
  • β†’"meta" β€” structured payload specific to the event type
  • β†’Use the service filter to watch one agent, level filter to see only warnings/errors

πŸŒ‰ Bridge Log

All agent-to-agent Bridge conversations. Shows who initiated, who was called, session ID, duration, and message count.

  • β†’High turn count (> 5) = complex advisory loop, usually fine
  • β†’Very short duration + low turns = simple question/answer, check outcome
  • β†’Same session ID appearing multiple times = multi-turn session, filter by it
  • β†’Target: clawdy-advisor = Scout asking Clawdy for direction (expected every cycle)
  • β†’Target: atticus = governance gate check
  • β†’Target: dexter ↔ buzz = Labs coordination (experiment design ↔ distribution)
  • β†’Target: samwise = intake routing or delivery handoff

πŸ€– Agent Activity

Per-agent summary: cycle count, last active timestamp, event volume, and recent cycle outcomes.

  • β†’"Last active" > 4 hours ago = agent may have missed a scheduled cycle
  • β†’Cycle count growing steadily = healthy autonomous operation
  • β†’All cycles showing "error" = something systemic is broken
  • β†’Scout cycles are the most frequent, expected every 1–4 hours
  • β†’Samwise delivery cycles appear when intake or delivery work is active
  • β†’Dexter and Buzz appear during active Labs experiments β€” intermittent by design

πŸ’° Cost Tracker

Token usage and imputed cost per agent over time. Pulls from cost.tracking events plus tokens.window metering for fixed-price subscription pools.

  • β†’Daily totals should be stable; a spike usually means a large Codex delegation
  • β†’Scout and Clawdy are typically the top spenders; Labs agents (Dexter, Buzz) spike during active experiments
  • β†’Codex delegations show up as a single high-token event (expected for complex tasks)
  • β†’Z.AI and OpenAI rows show usage by model tier (GLM-5.2, GPT-5.4, Codex)
  • β†’Subscription cost is fixed-price; token totals show pool burn and model mix, not a new per-token bill
  • β†’Zero cost for a long period = agent may not be emitting cost events

❀️ Service Health

Timeline view of each service's health status. Checked by the Monitor service every 2 hours. Services have an expected-state registry (local vs. hosted) so cloud-hosted services show a blue badge instead of a red "Down" alert.

  • β†’Green band = healthy throughout that period
  • β†’Yellow = degraded (reachable but returning errors or high latency)
  • β†’Red = offline (Monitor could not reach the service; expected to be local)
  • β†’Blue badge = hosted externally (e.g., OpenObserve on Railway); offline local endpoint is not a fault
  • β†’Gaps in the timeline = Monitor was not running (container restart, etc.)
  • β†’Consistent red on Recall = QMD is down (high priority)
  • β†’Consistent red on Bridge = agents cannot communicate (critical)

Common Event Types

Events use dot-notation names. Here are the ones you'll see most often:

Event nameService
cycle.startedscout-*
cycle.completedscout-*
bridge.callcurrykit-bridge
recall.querycurrykit-recall
rag.synccurrykit-rag
delegation.createdscout-*
delegation.completedscout-*
governance.proposedscout-*
governance.approvedscout-atticus
governance.redirectscout-atticus
monitoring.completedmonitor
cost.trackingany
tokens.windowusage-meter
currybox.execcurrykit-currybox
tts.generatedcurrykit-tts

Patterns: Healthy vs. Worth Investigating

βœ… Healthy patterns

  • β†’Scout cycle.completed events every 1–4 hours across all projects
  • β†’Bridge calls to clawdy-advisor at end of each Scout cycle
  • β†’Samwise intake/delivery events when Linear activity is active
  • β†’Dexter ↔ Buzz Bridge calls during active Labs experiments
  • β†’monitoring.completed with alerts_detected: 0 every 2 hours
  • β†’Steady trickle of recall.query events across agents
  • β†’Cost tracking events within the normal low per-cycle range for steady routine work
  • β†’All service health bands green overnight with no red gaps

⚠️ Worth investigating

  • β†’No Scout cycle.completed for more than 6 hours β€” check if cron is running
  • β†’Bridge calls with level: error β€” target agent may be down or unreachable
  • β†’Recall queries returning result_count: 0 consistently β€” QMD may be empty or broken
  • β†’monitoring.completed with alerts_detected > 0 β€” check which service triggered
  • β†’Cost spike over 10Γ— normal in one cycle β€” Codex may have looped
  • β†’Multiple governance.redirect events in a row β€” Scout may be misaligned on scope

Investigating an Issue, Step by Step

Something looks wrong. Here's a structured approach:

1

Check Service Health first

If a service shows red, that's usually the root cause. Red Recall means knowledge queries failing everywhere. Red Bridge means agents can't talk. Fix infrastructure before investigating agent behavior.

2

Narrow the time window

Use the time filter in the Event Stream to focus on when things went wrong. If an agent's last cycle was at 3 PM and it's now 9 PM, look at the 3 PM window.

3

Filter by service

Pick the specific agent or service that seems affected. Look for the last successful event, then find where it stopped or started erroring. The gap tells you when the failure began.

4

Look for level: error events

Switch the level filter to "error only." Error events include a message or meta payload that usually explains what failed β€” timeout, HTTP error, missing file, parse failure.

5

Follow the Bridge log

If the issue is in agent coordination, find sessions around the failure time. Low turn count + short duration + error = the remote agent likely rejected or couldn't respond.

6

Cross-reference Monitor alerts

Find the nearest monitoring.completed event before and after the issue. If alerts_detected jumped from 0 to 1+, the monitor caught it. The meta.services field shows which service triggered the alert.

Status Indicator Reference

🟒
Healthy β€” Reachable and responding within normal latency. All checks passing.
🟑
Degraded β€” Reachable but returning elevated error rates or high latency. Investigate before it turns red.
πŸ”΄
Offline β€” Unreachable or returning 5xx on health checks. Agents depending on this service will fail.
⚫
Unknown β€” Monitor hasn't checked yet in the current window, or the check timed out.
βœ…
info β€” Routine event. Completed normally. No action needed.
⚠️
warn β€” Notable but not broken. May be a performance issue, retry, or soft failure.
❌
error β€” Operation failed. Check the event's meta payload for details.

πŸ”­ Planned Enhancements

These alerting capabilities are queued for Watchtower and will appear as new alert types once shipped.

Queued
Cost Trend Alerting (WT-11)

Daily/weekly cost trend detection. When Codex API or delegation spend exceeds a rolling average by >2Γ— (or crosses a configurable absolute daily ceiling), a cost_trend alert fires. Extends detectCostSpikes() from per-event to windowed aggregation.

Queued
Deferred-Meeting Follow-Up Alerts (WT-12)

Surfaces follow-up items from governance decisions or bridge conversations that were deferred. When an Atticus decision or bridge message includes "follow up" or "defer to next" with a time reference, a time-boxed reminder alert is created.

Queued
Agent Silence Detection (WT-13)

Detects when an agent that normally runs on a cron schedule has gone silent beyond its expected interval. Generates an agent_silent alert when the gap exceeds 2Γ— the cron interval.

What Watchtower Doesn't Do

Continue from Watchtower Guide

Observability

Open the sibling district when the question shifts from decoding this dashboard to the source-health contract and alert surfaces the Watchtower data comes from.

Open Observability
Troubleshooting

Carry the investigation habits this guide teaches into the failure playbook β€” symptom-first checks and recovery paths for when a signal already looks wrong.

Open Troubleshooting
Bridge

Open the transport district when the missing piece is the call metadata these event logs carry β€” who called whom, durations, and turn counts.

Open Bridge