Skip to content

The console

alloy console serves a local, strictly read-only web UI over your working-tree corpus. It is the fastest way to see what the trust machinery has computed - drift, coverage, gaps - instead of reading JSON.

bash
alloy console                 # serves on the default port
alloy console --port 8080     # pick a port

It binds 127.0.0.1 and rejects any request whose Host header is not loopback, so it is a local inspector, not a shared service.

What it shows

The console renders the same pure functions the CLI uses, so nothing it shows can disagree with alloy status or alloy validate:

  • Corpus browser and doc inspector - read any doc with its provenance, lifecycle state, and supersession banners.
  • Resolver playground - resolve a query key and watch redirect-versus-silence change as you switch the active view. This is the quickest way to feel what a view does.
  • Search across the corpus.
  • Discovery inventory - the units each source declares.
  • Coverage - EXTRACTED / EXCLUDED / UNKNOWN per source, with the UNKNOWN queue and the exclusion rationales. The place to see what still needs triage.
  • Freshness - per-unit drift, with the changed-file lists behind each drifted unit.
  • Gap queue - ranked unresolved-query telemetry: what agents looked for and did not find.
  • Quality-gate roster - the validators and their state.

Read-only is structural

Read-only here is not a convention you could accidentally break - it is enforced by construction. There are no POST routes at all. Sources resolve in a no-checkout mode (a source that would need a fetch is reported "skipped" rather than fetched), and a full sweep of every request writes nothing - not the repo, not the checkout cache, not query telemetry. To see live data for a source that reads an external checkout, point ALLOY_SOURCE_PATH_<NAME> at a local clone before starting the console; a spoke's own self: source needs no such override.

When to reach for it

Use the console when you want to demonstrate the corpus (a browsable view of coverage and freshness reads better than a terminal), when you are triaging UNKNOWN and want the queue and rationales side by side, or when you are tuning a view and want to watch resolution change live. For scripting and CI, use alloy status --json instead - the console is for humans looking, not for machines gating.

E11 Alloy - knowledge as a build artifact.