OxagenDocs
Knowledge

Citations

Workspace-wide analytics on which memories and graph nodes agents actually cite, how useful those citations were, and where promoted rules get violated.

Every time an agent's answer is grounded — by a memory recall, a knowledge-graph lookup, or an @-mention — Oxagen records a citation in the graph. The Citations dashboard aggregates those citations across all executions so you can see which knowledge is carrying weight, which is dead weight, and where your promoted rules are being broken.

Open it at Workspace → Knowledge → Citations.

What a citation records

A citation links an execution to the memory or graph node it cited, stamped with two judgments made at cite time:

AxisValuesMeaning
InfluenceDECISIVECONTRIBUTINGCONSIDEREDIGNOREDHow much the cited knowledge actually shaped the output. DECISIVE and CONTRIBUTING are "useful"; CONSIDERED and IGNORED mean it was recalled but didn't matter.
ComplianceCOMPLIED / DISCRETION / VIOLATION / NAFor RULE and FACT memories: whether the agent honored the rule. A VIOLATION means the agent acted against a promoted rule.

Citations accrue automatically — you don't instrument anything. Recalls made while answering record CONSIDERED citations (this is the "citation pressure" that surfaces promotion candidates); @-mentioned nodes record DECISIVE ones; agents can also cite explicitly with a full influence/compliance judgment.

The dashboard

The period switcher (7d / 30d / 90d) sets the analysis window for everything on the page:

  • Totals — citations in the window, distinct executions that cited anything, distinct memories cited, distinct graph nodes cited.
  • Useful vs. not useful — the influence breakdown. A healthy workspace skews toward DECISIVE/CONTRIBUTING; a large IGNORED share means recall is surfacing knowledge nobody uses.
  • Daily series — citations and violations per day across the window.
  • Most cited memories — the memories carrying the most weight, with per-memory influence breakdowns.
  • Least useful memories — cited repeatedly but never DECISIVE or CONTRIBUTING. These are your cleanup queue: demote them back to observations, retire them, or dismiss them from the promotion queue.
  • Most violated rules — RULE/FACT memories ranked by VIOLATION citations. Either the rule needs stronger enforcement, or it's wrong and should be demoted.
  • Top cited nodes — the non-memory graph entities agents lean on most. Each is shown by its human label; hover or click the chip to inspect the full property bag.

Citations accrue automatically as agents ground answers; the dashboard rolls them up into the promote/demote/fix loop below.

Acting on the numbers

The dashboard is designed to close the loop on memory quality:

  1. Promote what works. Memories climbing "Most cited" with decisive influence are exactly what the promotion-candidate queue surfaces — promote them to RULE or FACT from the Memory page.
  2. Demote what doesn't. "Least useful" is a ready-made demotion list — memories the agents keep seeing but never use.
  3. Fix what's violated. A frequently-violated rule either needs its enforcement score raised (agents treat higher enforcement as more binding) or has drifted from reality and should be demoted or edited.

Programmatic access

The dashboard is backed by the get_citation_stats capability, available on every surface:

# API
curl -X POST "https://api.oxagen.sh/v1/{org_slug}/{workspace_slug}/agent/memory/citations/stats" \
  -H "Authorization: Bearer $OXAGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"days": 30, "limit": 10}'

# CLI
oxagen memory citations --days 30 --limit 10

days (1–365, default 30) sets the window; limit (1–50, default 10) caps each top-N list. The MCP tool get_citation_stats takes the same input, so agents can read their own citation quality.

  • Agent memory — the memory model, promotion lifecycle, and management surface.
  • CLI memory commandsoxagen memory citations and the rest of the lifecycle from the terminal.

On this page