answeryard

The cross-module answer engine for enterprise data. Ask one question that spans Vendor, PO, BOM, WorkOrder, SalesOrder, Customer and Revenue — get an answer where every figure came from a graph walk, and the proof comes with it.

answeryard ▸ if Weyland-Yutani's delays continue, which customer commitments slip?
  walking graph … 5 modules · 240 nodes
  ────────────────────────────────────────────
  ⚠ 3 SalesOrders at risk · $1.2M revenue
    SO-4471  Acme      ships -9d   $480K
    SO-4490  Initech   ships -4d   $310K
    SO-4502  Umbrella  ships -6d   $410K
  proof: PO-882 → BOM-31 → WO-77 → SO-4471
  decision #a91f · grounded · 0 invented

A single question that touches seven modules at once. Where the ERP's own one-table assistant gives up, answeryard starts.

answeryard ▸ how do you know that number is real?
  • grounded — every figure, name and date comes from a graph traversal or a GNN inference. The model narrates; it never computes. A wrong number is worse than no number.
  • auditable — a Decision node persists for every answer: the parsed query, the traversal proof, the GNN output, the narration. Reconstruct why it said what it said, any time after.
  • refuses usefully — when the data isn't there, it tells you what to upload to fix it and what you can ask today, instead of a bare "no".
answeryard ▸ how does it work?
  question   "which commitments slip?"
     │
     ▼ parse      typed GraphQuery, validated
     ▼ traverse   cost-bounded BFS · no hop cap
     ▼ score      heterogeneous GNN · risk/node
     ▼ narrate    plain English · 0 invented
     │
     ▼
  answer + proof + Decision#

Traversal depth is a property of the question, not a hardcoded hop count. Patterns declare which edges to follow; the graph and the question pick how deep.

answeryard ▸ how do I call it?
  agent ▸ tool answeryard_query
  {
    "question": "which POs threaten Q3 revenue?",
    "app_id":   "erp-prod"
  }
  ← grounded answer · traversal proof · decision id

MCP-first. Anything reachable in the UI is reachable as an agent tool — call it from neo, Copilot, Agentforce, or your own agent. Answeryard is a tool, not a destination.

answeryard ▸ how do I run my own?
  answeryard is in the build.host approved catalog:
  any account can deploy it, no executable approval needed.

  $ curl -fsSL https://build.host/api/install | bash
  then, in Claude Code or Codex:
  ▸ deploy answeryard from the build.host catalog

  or POST /api/projects with the catalog entry as it is:
  git_repository  https://github.com/erphq/answeryard
  git_branch      main
  build_pack      dockerfile
  ports_exposes   8000
  env: GRAPH_BACKEND=neo4j · NEO4J_URI · NEO4J_USERNAME
       NEO4J_PASSWORD · OPENROUTER_API_KEY

This build uses the Neo4j backend (Aura works). Entry and required env are published at build.host/api/apps. build.host is made by the same team as answeryard.

Explore related work: FFS is a graph and vector database for retrieval and traversal. SmallDecide runs small local models for decisions with a defined set of options.