Evidence

What Horus collects during an investigation: typed, summarized, source-linked evidence from runtime systems, source intelligence, and git.

Evidence is the raw material of a Horus investigation. Instead of a narrative guess, Horus gathers concrete, typed evidence from your systems and links each piece to the code it implicates. Reports are built from evidence, and every claim traces back to it.

What counts as evidence

During horus investigate, Horus asks every configured source for evidence related to the hint. Each piece is tagged by source so you can see where it came from:

TagSourceExample
logsElasticsearch / Axiom / Sentry / Azure Monitor / CloudWatch / Google Cloud Logging / LensGrouped error signatures with counts, trace IDs, and (Sentry) a top in-app frame seed
metricsGrafana / PrometheusLatency spikes, error-rate and throughput changes
stateMongoDB / PostgreSQL / Firestore / SQL ServerCollection/table counts, staleness, status anomalies
stateShopify AdminOrders, inventory, fulfillment and other admin/business data (from the Admin GraphQL queries you supply)
queueBullMQ / Azure Service Bus / KafkaQueue counts and status, or committed offsets and lag
stateRedisCache key counts and prefixes (never values)
codeSource intelligenceSymbols, callers, and structure for implicated files
historyLocal repositoryRecent commits, ownership, and change history

Summaries and evidence payloads

Database and queue adapters generally return counts, status distributions, dates, or offsets. Logs can retain messages and structured fields, and Shopify retains the data returned by your supplied query. Keep those queries narrow. Default JSON output is compact; --full includes raw evidence payloads. Cloud sync uploads the saved report rather than the compact view. See Security.

Linked to code

Where possible, a piece of evidence carries a code seed — a file, symbol, or line range — so an error or anomaly points directly at the implicated code. Source intelligence then expands that seed into callers and structure.

How evidence becomes a report

Horus combines runtime evidence with source-intelligence and git evidence, then ranks likely causes across the full set — no single source overrides another. The report surfaces only evidence that is relevant and non-empty.

Investigations are deterministic: the same inputs produce the same evidence and report. Re-render a saved report any time with horus replay <id>.

Evidence in Horus Cloud

When a repo is linked, evidence syncs with its investigation to Horus Cloud, where the team can browse it per investigation. Each item shows its source, its subject (service and environment), and a provenance strip — the engine query that produced it and when it was collected — and links to the implicated file and line range in your repository when one is known. A per-investigation Provenance graph lays out how that evidence supports each finding and cause. The synced snapshot contains the full saved report, including its evidence payloads.

See also

Connectors for where evidence comes from, and the Investigation walkthrough for evidence in a real report.