[
  {
    "productId": "bill-spend-expense",
    "storyId": "accounting-sync-mapping",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "BILL docs confirm automatic 2-way sync with QuickBooks Enterprise, NetSuite, Sage Intacct, and other accounting systems, and reference building an organization structure via the API, but Xero is not named among the sync targets and there is no explicit documentation of finance-lead-controlled GL account/class/department mapping rules. missing for 10: explicit Xero sync confirmation, documented GL account/class/department mapping controls, independent corroboration of mapping accuracy.",
    "evidenceIds": [
      "bill-spend-expense-docs-12",
      "bill-spend-expense-docs-5",
      "bill-spend-expense-docs-13"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agent-closes-the-books",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "BILL's v3 API supports transaction/expense management and webhooks, and there's an internal 'Invoice Coding Agent' for AI-based coding, but the only MCP server documented is for browsing API docs (not transaction data), and no endpoint/workflow is documented for pulling specifically 'uncoded' transactions, proposing categorizations, or pushing coding back for human review via API or MCP. Missing for 10: MCP data-access server (not just doc server), explicit uncoded-transaction query endpoint, API-exposed categorization/policy-flag proposal workflow, and a documented review/approval push-back API flow.",
    "evidenceIds": [
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-8",
      "bill-spend-expense-docs-18",
      "bill-spend-expense-docs-3"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "A probe confirms a live, HTTP 200 llms.txt file at developer.bill.com/llms.txt with structured documentation index, and BILL also documents an official MCP server for its API docs enabling agents like Cursor, Windsurf, and Claude Desktop to interact directly with the documentation. Missing for 10: independent/community confirmation of agent usage beyond BILL's own docs.",
    "evidenceIds": [
      "bill-spend-expense-probe-1",
      "bill-spend-expense-docs-18"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-ai-insights",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Evidence shows AI-powered automation like automatic transaction categorization/compliance and an 'Invoice Coding Agent' for multi-line bill coding, but there's no documentation of AI-generated insights, recommendations, or proactive suggestions surfaced to users from their spend data. Missing for 10: explicit AI insight/analytics dashboards, natural-language querying of data, proactive spend recommendations, and independent corroboration of any such feature.",
    "evidenceIds": [
      "bill-spend-expense-docs-8",
      "bill-spend-expense-docs-9"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "BILL offers background automation primitives — vendor autopay that automatically pays bills when created, an AI Invoice Coding Agent that auto-codes multi-line bills, custom approval policies, and webhook-driven event subscriptions — all of which run without manual intervention once configured. However, there's no evidence of a general-purpose, AI-native automation/agent builder that lets users define arbitrary autonomous workflows; these are fixed, pre-built automation features rather than a configurable agentic automation layer. Missing for 10: a documented no-code/AI automation builder for custom autonomous workflows, evidence of user-defined multi-step agentic automations, and independent confirmation these run reliably unattended.",
    "evidenceIds": [
      "bill-spend-expense-docs-8",
      "bill-spend-expense-docs-21",
      "bill-spend-expense-docs-20",
      "bill-spend-expense-docs-16",
      "bill-spend-expense-docs-9"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-builtin-assistant",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "BILL advertises an 'Invoice Coding Agent' that automatically performs AI multi-line bill coding and general 'AI-powered spend management,' showing some built-in AI capability, but this is an automated background feature rather than a conversational assistant the user can actively delegate arbitrary tasks to. Missing for 10: evidence of a user-facing chat/assistant interface, examples of delegating varied tasks (not just bill coding), and independent confirmation of how the agent is invoked or controlled.",
    "evidenceIds": [
      "bill-spend-expense-docs-8",
      "bill-spend-expense-docs-9"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "BILL exposes a full v3 REST API with webhooks and a sandbox environment that let developers script and automate AP/AR/S&E workflows programmatically, which supports headless/automated use cases like CI pipelines. However, there is no explicit CLI, GitHub Action, or documented CI-specific integration pattern in the evidence. Missing for 10: a dedicated CLI/automation tool, explicit CI/CD examples, and independent confirmation of headless operation in production pipelines.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-15",
      "bill-spend-expense-docs-16",
      "bill-spend-expense-docs-22"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence only shows BILL publishing an MCP server that exposes its own API documentation to external AI tools (server role), not any capability for BILL Spend & Expense itself to consume/plug in external MCP servers to extend its own agentic features (client role). No evidence of an MCP client integration point, plugin system, or tool-calling framework within the product.",
    "evidenceIds": [
      "bill-spend-expense-docs-18"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-mcp-server",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "BILL provides an official MCP server for developer documentation, letting tools like Cursor, Windsurf, and Claude Desktop interact with BILL API docs, which is a genuine first-party MCP offering. However, it is scoped only to documentation lookup, not to actually invoking BILL API actions (payments, bills, expense data) via MCP, so it's a limited agentic bridge rather than a full action-capable MCP server. Missing for 10: an MCP server exposing live API/data operations (not just docs), independent/community confirmation of usage, and details on scope/auth for agent actions.",
    "evidenceIds": [
      "bill-spend-expense-docs-18"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-nl-commands",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows only a documentation MCP server for developers (docs-18) and an AI-based invoice coding agent, neither of which lets an end user operate the product itself via natural-language commands (e.g., 'pay this vendor' or 'approve this expense' via chat). No evidence of a conversational/agentic interface for actually performing S&E actions in natural language.",
    "evidenceIds": [
      "bill-spend-expense-docs-18",
      "bill-spend-expense-docs-8"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack details a REST API, webhooks, UI Elements SDK, and an MCP server for documentation access, but nowhere mentions an official CLI tool for interacting with BILL Spend & Expense. Since BILL offers a developer platform, a CLI is a plausible axis, but there is no evidence one exists.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "BILL publishes a documented v3 API covering AP/AR/S&E, webhooks, sandbox environment, and even an MCP server for AI-agent access to docs, indicating a genuinely documented public API surface usable programmatically. Missing for 10: a discoverable OpenAPI/swagger spec (probe found all candidate paths 404) and independent third-party corroboration of API robustness.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-3",
      "bill-spend-expense-docs-15",
      "bill-spend-expense-docs-16",
      "bill-spend-expense-docs-18",
      "bill-spend-expense-probe-1",
      "bill-spend-expense-probe-2"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence shows BILL has a v3 API, webhooks, and an apiToken concept, but there is no documentation of scoped or least-privilege credential issuance (e.g., role-based API keys, granular permission scopes for agents). Missing for 10: any mention of API key scopes, granular permission levels, or agent-specific credential issuance mechanisms.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-19"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-sdks",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "BILL provides an official v3 API and developer docs covering AP/AR/S&E, webhooks, sandbox environment, and even an MCP server for AI code editors, giving AI-native developers a real SDK/API surface to build against. However, evidence lacks explicit language-specific SDK libraries (e.g., Python/Node client packages) and OpenAPI spec discovery failed (404s), leaving some doubt about full programmatic tooling maturity. missing for 10: explicit official client SDK libraries in multiple languages, publicly discoverable OpenAPI/swagger spec, independent developer corroboration of SDK quality.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-15",
      "bill-spend-expense-docs-18",
      "bill-spend-expense-probe-1",
      "bill-spend-expense-probe-2"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "agentic-webhooks",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "BILL's developer platform explicitly documents webhook subscriptions for real-time event notifications, including S&E events, HMAC-SHA256 signing for security, subscription limits (up to 10 per org), and error handling docs, indicating a mature, well-documented webhook system. missing for 10: independent/hands-on third-party corroboration beyond first-party docs, and more detail on the breadth of subscribable event types for Spend & Expense specifically.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-3",
      "bill-spend-expense-docs-16",
      "bill-spend-expense-docs-17",
      "bill-spend-expense-docs-19",
      "bill-spend-expense-docs-22"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "ai-expense-coding",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "BILL Spend & Expense is explicitly marketed as 'AI-powered spend management' that automatically categorizes and ensures compliance for every transaction (docs-9), and BILL's platform includes an 'Invoice Coding Agent' for automatic AI bill coding (docs-8), suggesting some automated categorization/coding capability. However, there is no evidence of receipt OCR/reading, memo suggestion, or duplicate/fraud detection specifically for expense transactions. Missing for 10: explicit receipt-reading/OCR evidence, memo-suggestion detail, and duplicate or fraud detection functionality for Spend & Expense.",
    "evidenceIds": [
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-8"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "ai-policy-copilot",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence shows AI-powered categorization/coding agents and custom approval policy configuration, but nothing describes a conversational assistant that chases missing receipts, explains declines, or answers pre-spend 'can I expense this?' queries. Missing for 10: any conversational interface, proactive receipt-chasing behavior, decline explanations, or pre-purchase policy Q&A capability.",
    "evidenceIds": [
      "bill-spend-expense-docs-8",
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-7"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence confirms BILL has API docs, a sandbox test environment, and an MCP server for AI tools to query documentation, but nothing describes an interactive API reference with runnable/try-it-out examples; a probe for standard OpenAPI/Swagger specs returned 404s across all checked paths, suggesting no such interactive reference is exposed.",
    "evidenceIds": [
      "bill-spend-expense-docs-15",
      "bill-spend-expense-docs-18",
      "bill-spend-expense-probe-2"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "BILL has a developer API portal and docs, but a direct probe for standard OpenAPI/Swagger spec locations (openapi.json, swagger.json, etc.) returned 404 across all candidates, and no evidence pack item links to a downloadable machine-readable spec file.",
    "evidenceIds": [
      "bill-spend-expense-probe-2",
      "bill-spend-expense-probe-1",
      "bill-spend-expense-docs-1"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "api-sandbox",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "BILL's developer docs explicitly state a comprehensive sandbox environment exists for testing AP/S&E workflows without moving real money, directly matching the story. missing for 10: independent/hands-on confirmation of sandbox parity with production and details on how sandbox data isolation works for Spend & Expense specifically.",
    "evidenceIds": [
      "bill-spend-expense-docs-15",
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-2"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows BILL has a versioned v3 API and a changelog for tracking changes, but there is no mention of a documented deprecation policy, versioning strategy, or sunset timeline for API versions. missing for 10: explicit deprecation policy documentation, version lifecycle/sunset timeline, migration guidance between versions.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-22"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "approval-workflows",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Evidence only shows a bare pricing-page bullet 'Set custom approval policies' repeated twice, with no documentation of multi-step chains (manager/budget owner/finance), delegation, or escalation logic. missing for 10: documentation of multi-step approval chain configuration, delegation of approvals, escalation on stalled requests, and any hands-on or independent corroboration.",
    "evidenceIds": [
      "bill-spend-expense-docs-7",
      "bill-spend-expense-docs-20"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "auto-receipt-matching",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers API/developer platform features (webhooks, sandbox, vendor network, accounting sync) but contains no mention of receipt-to-transaction auto-matching, e-receipt pulls from integrations, or smart nudges for missing receipts — capabilities central to this employee expense-capture story. Axis clearly applies to an expense/card management product, but no supporting evidence exists in the pack.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "The BILL v3 API exposes programmatic access to transactions, budgets, users, and virtual cards, which could in principle be used to script bulk operations, but there is no explicit documentation of batch/bulk endpoints, bulk import/export of records, or any dedicated bulk-action tooling for AI-native use. Missing for 10: explicit bulk/batch API endpoints, documented bulk create/update/delete operations, and any first-party or independent evidence of large-scale batch processing.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-5"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "BILL supports webhooks for real-time event notifications and custom approval policies/tolerance rules, which enable some automated reactions to events, but there is no evidence of a native rules engine where users define arbitrary if-this-then-that automation triggering actions — webhooks require external code to consume and act on events. missing for 10: a documented no-code/low-code rule builder that lets users define trigger-condition-action automations natively within the product, evidence of arbitrary action-taking (not just notification) on events, and independent confirmation of this workflow in practice.",
    "evidenceIds": [
      "bill-spend-expense-docs-16",
      "bill-spend-expense-docs-3",
      "bill-spend-expense-docs-7",
      "bill-spend-expense-docs-20",
      "bill-spend-expense-docs-21",
      "bill-spend-expense-docs-22"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "BILL's developer platform offers webhooks and an API for event-driven notifications and vendor autopay, but there is no evidence of a scheduler, cron-like job, or recurring workflow automation feature that an AI-native user could configure. Missing for 10: any scheduling/recurring-job API, workflow orchestration tooling, or documentation describing recurring automated tasks beyond vendor autopay's one-off trigger.",
    "evidenceIds": [
      "bill-spend-expense-docs-16",
      "bill-spend-expense-docs-21",
      "bill-spend-expense-docs-1"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of versioning, review, or rollback of automations/approval policies/workflows; evidence covers API, webhooks, sandbox testing, and approval policy setup but nothing about tracking changes or reverting configurations.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "bill-pay-ap",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "The evidence pack (mostly from the shared bill.com/pricing and developer.bill.com pages) shows AP-adjacent capabilities such as custom approval policies, AI invoice coding, purchase orders/2-way matching, vendor network connectivity, and vendor autopay, suggesting AP functionality exists somewhere in the BILL platform. However, none of the evidence explicitly confirms these AP features (invoice capture, approval routing, ACH/check/wire payments) are part of the core Spend & Expense product itself rather than BILL's separate AP product/bundle, and no citation names ACH, check, or wire payment rails at all. Missing for 10: explicit confirmation that invoice capture/approval/payment (ACH, check, wire) run natively inside Spend & Expense rather than a separate BILL AP SKU, and any mention of specific payment rail support.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-7",
      "bill-spend-expense-docs-8",
      "bill-spend-expense-docs-10",
      "bill-spend-expense-docs-11",
      "bill-spend-expense-docs-21"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "budgets-enforcement",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Docs confirm core building blocks: setting up budgets, virtual cards, and custom approval policies, plus org-structure configuration and per-transaction control language, which together map to budget allocation with enforced card limits/approvals. However, evidence is vendor-only marketing/docs with no independent or hands-on confirmation that limits/approvals actually block out-of-policy spend in practice, and no explicit project-level (vs team-level) allocation detail. Missing for 10: independent/hands-on verification of real-time enforcement, explicit project-based budget allocation evidence, and detail on how approvals interact with card limits at transaction time.",
    "evidenceIds": [
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-7",
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-5",
      "bill-spend-expense-docs-20"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "card-policy-controls",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Marketing copy claims cards are 'controlled, categorized, and automatically compliant' via AI-powered spend management, implying policy-based restrictions, but there is no documentation detailing category/merchant/amount-level card controls or confirming real-time auto-lock/decline at the point of sale. Missing for 10: specific docs on setting category/merchant/amount limits per card, technical description of point-of-sale enforcement, and independent/hands-on confirmation that out-of-policy transactions are actually declined in real time.",
    "evidenceIds": [
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-2"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "continuous-close-coding",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Vendor docs claim that BILL Spend & Expense cards make every transaction 'controlled, categorized, and automatically compliant' and pair with AI-driven bill coding (docs-8, docs-9), plus automatic 2-way sync to major accounting systems (docs-12), which supports real-time coding for close. However, there is no explicit documentation of automatic merchant/memo capture or receipt-matching workflows, and no independent/hands-on evidence corroborating that categorization actually eliminates manual review at month-end. Missing for 10: explicit receipt-capture/matching evidence, memo-field automation detail, and independent verification of coding accuracy.",
    "evidenceIds": [
      "bill-spend-expense-docs-8",
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-12"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "expense-audit-trail",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Evidence shows custom approval policies and automatic compliance/categorization plus real-time webhook event notifications for S&E events, which could support an audit trail, but there is no explicit documentation of a persistent, exportable audit log covering edits, approvals, and policy checks suitable for external audit. Missing for 10: explicit audit-log/history feature, immutable record retention, export-for-audit functionality, and independent confirmation that this trail survives external audits.",
    "evidenceIds": [
      "bill-spend-expense-docs-7",
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-16",
      "bill-spend-expense-docs-20"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "expense-policy-engine",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "BILL markets 'custom approval policies', budgets/tolerance rules, and 'automatically compliant' spend controls (docs-7, docs-9, docs-10, docs-20), which supports rule-based policy codification and in-policy auto-handling. However, the evidence is mostly marketing copy from the pricing page rather than detailed documentation on how limits are defined by category/role/context or how exceptions are specifically routed to a human approver. Missing for 10: granular documentation of category/role/context-based limit configuration, explicit auto-approve logic, and evidence of exception-routing workflow to humans.",
    "evidenceIds": [
      "bill-spend-expense-docs-7",
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-10",
      "bill-spend-expense-docs-20"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "expenses-api-read",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "BILL's v3 API is documented and explicitly covers Spend & Expense transactions, cards, budgets, and reimbursements, with webhooks, sandbox, and changelog evidence showing an active, versioned REST platform (docs-1,2,3,15,16,22). However, the evidence never confirms OAuth or scoped token authentication—only an 'apiToken' concept appears (docs-19)—and there's no explicit mention of receipt retrieval endpoints or OAuth scope definitions, and openapi spec probes 404 (probe-2). Missing for 10: explicit OAuth 2.0/scoped-token auth documentation, dedicated receipts endpoint evidence, and a discoverable OpenAPI spec.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-15",
      "bill-spend-expense-docs-19",
      "bill-spend-expense-probe-2"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "fast-reimbursements",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "The only relevant evidence is a brief API description stating you can 'manage transactions & reimbursements,' with no detail on the employee experience, direct deposit mechanics, or submission-to-payout tracking. Missing for 10: description of employee reimbursement submission flow, confirmation of direct deposit payout method, timeline/SLA for reimbursement, and any tracking/status visibility for employees.",
    "evidenceIds": [
      "bill-spend-expense-docs-2"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "global-reimbursements",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers BILL's API platform, webhooks, vendor network, accounting sync, and card/expense management, but contains no mention of international/multi-currency reimbursement or foreign employee payout capability for BILL Spend & Expense. This is a plausible axis for a spend/expense product, but absence of any supporting documentation means it cannot be credited.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "issue-cards-limits",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Docs confirm virtual card issuance and spend/budget management (doc-2, doc-9) as part of the S&E product, implying per-card spend controls, but no explicit mention of physical card issuance, onboarding speed ('minutes'), or per-card individual limits is provided. Missing for 10: explicit physical card issuance details, quick setup/time-to-issue claims, and explicit per-card spend limit configuration evidence.",
    "evidenceIds": [
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-9"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "mileage-per-diem",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence pack item mentions mileage tracking, map-based distance calculation, or per-diem rate claims; the evidence focuses on AP/AR, cards, webhooks, and API platform capabilities unrelated to this employee expense-entry workflow.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "multi-entity-currency",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence in the pack addresses multi-entity management, multi-currency consolidation, or per-entity books/reporting; documentation focuses on API access, vendor payments, webhooks, and accounting sync only.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "BILL exposes a broad v3 API covering AP/AR/S&E, card & expense management, budgets, virtual cards, org structure, and webhooks, suggesting substantial UI-parity coverage. However, there is no evidence confirming full parity — e.g., no explicit statement that every UI action (like custom approval policy setup or AI invoice coding features) is API-accessible, and no public OpenAPI spec was found (404s on standard paths). missing for 10: explicit UI-API parity statement, discoverable OpenAPI/swagger schema, confirmation that AI-powered features (Invoice Coding Agent) are API-exposed.",
    "evidenceIds": [
      "bill-spend-expense-docs-1",
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-5",
      "bill-spend-expense-docs-14",
      "bill-spend-expense-probe-2"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "The only relevant evidence is manual CSV import/export for accounting sync, not a comprehensive data-export/account-portability feature; the API exists but is aimed at integration, not bulk self-service export for leaving the platform. Missing for 10: a documented full data export tool, open-format bulk export of all transactions/records, and any account closure/data portability workflow.",
    "evidenceIds": [
      "bill-spend-expense-docs-13",
      "bill-spend-expense-docs-1"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "openness-open-license",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "BILL Spend & Expense is a closed-source commercial SaaS product; source-code openness is not an applicable axis for this category of product.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "BILL Spend & Expense is a proprietary SaaS financial platform with no self-hosted deployment option; self-hosting is not a coherent axis for this category of cloud-only fintech product.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence in the pack mentions data residency, regional storage options, or geographic controls for where BILL Spend & Expense data is stored; the evidence covers API features, webhooks, integrations, and sandbox testing only.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses AI training data opt-out or any privacy controls regarding AI model training; the pack only covers API, webhooks, and product features unrelated to this axis.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence pack items address data retention policies, deletion controls, or privacy/data lifecycle management for AI-native users; the evidence focuses on API integration, webhooks, and workflow automation.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence in the pack addresses telemetry/usage-tracking opt-out settings for AI features or otherwise; the documentation covers API integration, webhooks, and product features but never mentions data collection controls or opt-out mechanisms.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "programmatic-card-issuance",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Docs confirm a card & expense management API surface (\"virtual cards\", budgets, users, transactions) and webhook notifications, implying some programmatic card management, but there is no explicit documentation of endpoints for creating a card with a limit, locking a card, or updating card controls. missing for 10: explicit API reference/endpoints for card creation with limits, card lock/unlock actions, control updates, and any hands-on or independent confirmation these operations work as described.",
    "evidenceIds": [
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-16"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "realtime-spend-visibility",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "BILL Spend & Expense markets 'AI-powered spend management' where transactions are automatically categorized and controlled, and it supports real-time event webhooks for S&E events, suggesting near-instant visibility into spend as it happens. However, there is no explicit documentation of a founder-facing dashboard breaking down spend by team, category, and merchant in real time — the webhook/API evidence is developer-facing, not a described reporting UI. Missing for 10: explicit product documentation of a real-time spend dashboard with team/category/merchant breakdowns, and independent/hands-on confirmation of same-day visibility in the actual UI.",
    "evidenceIds": [
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-3",
      "bill-spend-expense-docs-16"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "receipt-capture-ocr",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers APIs, webhooks, vendor network, accounting sync, and AI bill coding, but contains no mention of receipt photo capture, email-forward ingestion, or OCR matching to transactions for the Spend & Expense product.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "travel-booking-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of in-platform flight/hotel booking or travel policy enforcement at time of booking; evidence only covers card/expense management, AP/AR, budgets, and accounting sync, not a travel booking module.",
    "evidenceIds": []
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "trip-expenses-autocollect",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence covers card issuance, AI-powered spend categorization, vendor network payments, and accounting sync, but there is no mention of travel bookings, itineraries, or automatic linking of trip-related expenses into a single itinerary-based report. Missing for full credit: any travel-booking integration, itinerary data model, or automatic trip-expense aggregation feature.",
    "evidenceIds": [
      "bill-spend-expense-docs-9",
      "bill-spend-expense-docs-2"
    ]
  },
  {
    "productId": "bill-spend-expense",
    "storyId": "vendor-virtual-cards",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Docs confirm BILL Spend & Expense supports creating virtual cards and card/expense management (budgets, users, virtual cards) via its API and product, which aligns with issuing per-vendor cards for SaaS/procurement. However, no evidence explicitly shows merchant-locking or single-vendor restriction controls that would guarantee a card is usable only with one vendor. missing for 10: explicit documentation of vendor/merchant-lock restrictions on virtual cards, and independent confirmation of single-vendor isolation.",
    "evidenceIds": [
      "bill-spend-expense-docs-2",
      "bill-spend-expense-docs-9"
    ]
  },
  {
    "productId": "brex",
    "storyId": "accounting-sync-mapping",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack shows Brex has a one-click accounting sync feature, but it is documented only as syncing to Puzzle (brex-docs-17, 18, 40), with no mention of QuickBooks, NetSuite, or Xero, nor any documentation of finance-lead-controlled GL account, class, or department mapping for such syncs. Cost-center/department fields exist in the user API filters (brex-docs-19, 33) but these aren't tied to any accounting-sync mapping capability.",
    "evidenceIds": [
      "brex-docs-17",
      "brex-docs-18",
      "brex-docs-40",
      "brex-docs-19",
      "brex-docs-33"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agent-closes-the-books",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Brex offers a Transactions API to pull transaction data, an official MCP server that lets AI assistants 'manage expenses' and 'review banking transactions,' and AI features (audit/review agents) that categorize spend and flag policy violations (policy field on bookings, out-of-policy detection). However, the evidence never shows a specific 'uncoded transactions' filter/endpoint or an explicit write-back/update-category API call that pushes AI-proposed coding for human review — it only shows general expense/transaction read access and rule-based auto-approval. Missing for 10: explicit uncoded-transaction query capability, explicit category/coding update endpoint, and documented human-review workflow tying AI-proposed codes back to approval.",
    "evidenceIds": [
      "brex-docs-3",
      "brex-docs-4",
      "brex-docs-6",
      "brex-docs-15",
      "brex-docs-16",
      "brex-docs-41",
      "brex-probe-3"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Brex hosts a live llms.txt at developer.brex.com/llms.txt (confirmed via HTTP 200 probe) that provides a structured table of contents for AI agents, and it also documents an official MCP server for agentic access to Brex data, showing clear agent-oriented documentation design. Missing for 10: independent third-party confirmation that agents actually consume llms.txt successfully in practice.",
    "evidenceIds": [
      "brex-probe-1",
      "brex-docs-3",
      "brex-probe-3"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex AI features (audit agent, review agent, policy-based auto-approval, PO/payment matching suggestions) are documented as generating insights and suggestions directly from account/expense data. Evidence is first-party marketing/docs only, with no independent hands-on corroboration of these AI insight features in practice. missing for 10: independent/hands-on verification of AI insight quality, UI examples showing generated suggestions in context.",
    "evidenceIds": [
      "brex-docs-15",
      "brex-docs-16",
      "brex-docs-13",
      "brex-docs-23",
      "brex-docs-41",
      "brex-docs-8"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-autonomous-automation",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex documents autonomous background agents (audit agent monitoring expenses, review agent auto-approving low-risk items and escalating exceptions) plus webhook events and third-party automation platforms (Zapier, Workato, Pipedream) that can run unattended once configured, and an MCP server for AI assistant integration. This covers the core 'runs autonomously in background' story via policy-driven agents and event-driven webhooks/automations. missing for 10: independent/hands-on verification that these agents truly run unattended without human triggers, and technical detail on scheduling/trigger architecture beyond marketing copy",
    "evidenceIds": [
      "brex-docs-15",
      "brex-docs-16",
      "brex-docs-41",
      "brex-docs-1",
      "brex-docs-35",
      "brex-docs-24",
      "brex-docs-32",
      "brex-docs-30"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-builtin-assistant",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex documents built-in AI agents (audit agent, review agent, Brex AI) that autonomously categorize expenses, auto-approve low-risk spend, write memos, fetch receipts, and file reimbursements, allowing users to delegate financial tasks directly within the product. This is distinct from the MCP server (which is for external AI clients) and represents genuine in-product agentic delegation. Missing for 10: independent/hands-on verification of these AI agent features actually working, and more detail on how users configure/invoke the assistant.",
    "evidenceIds": [
      "brex-docs-15",
      "brex-docs-16",
      "brex-docs-23",
      "brex-docs-41",
      "brex-docs-8",
      "brex-docs-13"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Brex exposes a full REST API with token-based auth (no interactive login required), webhook subscriptions, and Postman/Zapier/Workato/Pipedream automation examples (bulk card creation, scheduled exports), all of which support headless, non-interactive use suitable for scripted/CI-style automation. However there is no explicit mention of CI/CD pipelines, SDKs, or headless test/deploy tooling — missing for 10: explicit CI/CD integration docs, official SDKs for scripting, and confirmation of non-interactive token refresh/rotation suitable for unattended pipelines.",
    "evidenceIds": [
      "brex-docs-2",
      "brex-docs-26",
      "brex-docs-1",
      "brex-docs-35",
      "brex-docs-29",
      "brex-docs-30",
      "brex-docs-31",
      "brex-docs-32"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence only shows Brex publishing its own MCP server so external AI assistants can call Brex's tools (docs-3, docs-24, probe-3) — the reverse of this story, which asks whether Brex can consume/plug in external MCP servers to use their tools. No evidence indicates Brex itself acts as an MCP client or lets users register third-party MCP servers for its AI agents to use.",
    "evidenceIds": [
      "brex-docs-3",
      "brex-docs-24",
      "brex-probe-3"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Brex is not itself an AI agent but a financial platform, so publishing an official MCP server is a fair ecosystem capability, and Brex documents a first-party MCP server letting AI assistants manage expenses, users, cards, transactions, and bills. Missing for 10: independent/hands-on confirmation of setup and reliability beyond vendor docs.",
    "evidenceIds": [
      "brex-docs-3",
      "brex-docs-24",
      "brex-probe-3"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-nl-commands",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex documents a first-party MCP server explicitly built so 'AI assistants interact directly with your Brex account... through natural language' for expenses, cards, banking, and bills, plus AI agents (audit/review) that act on policies automatically. This directly supports natural-language operation for AI-native users, though it's vendor-documented only. Missing for 10: independent/hands-on evidence of the MCP server's natural-language commands working reliably, and detail on command coverage limits.",
    "evidenceIds": [
      "brex-docs-3",
      "brex-docs-24",
      "brex-docs-23",
      "brex-docs-41",
      "brex-probe-3"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence pack shows Brex's developer platform (APIs, Postman collection, MCP server, Zapier/Pipedream/Workato integrations) but no mention of an official CLI tool anywhere in docs or changelog.",
    "evidenceIds": [
      "brex-docs-29",
      "brex-docs-30",
      "brex-docs-31",
      "brex-docs-32",
      "brex-probe-1"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Brex has extensive documented public REST APIs (transactions, budgets, expenses, payments, onboarding, webhooks) with authentication via dashboard-generated tokens, Postman collections, and a llms.txt developer index, giving AI-native users a clear path to programmatically drive the product. Missing for 10: a live discoverable OpenAPI spec (probe found 404s on standard OpenAPI paths) and independent/hands-on third-party corroboration of API robustness beyond vendor docs.",
    "evidenceIds": [
      "brex-docs-2",
      "brex-docs-4",
      "brex-docs-5",
      "brex-docs-7",
      "brex-docs-26",
      "brex-docs-29",
      "brex-probe-1",
      "brex-probe-2"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-scoped-keys",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex's developer docs show admins can create named API tokens and choose specific data-access scopes at creation time (brex-docs-2, brex-docs-26), which is a direct least-privilege credentialing mechanism that would apply to any API consumer, including an AI agent calling the API or via the documented MCP server (brex-docs-3, brex-probe-3). Missing for 10: an explicit enumerated list of available scopes, agent-specific credential guidance, per-agent revocation/audit trail details, and independent corroboration of scope enforcement in practice.",
    "evidenceIds": [
      "brex-docs-2",
      "brex-docs-26",
      "brex-docs-3",
      "brex-probe-3"
    ]
  },
  {
    "productId": "brex",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Brex documents REST APIs (OpenAPI specs), authentication, webhooks, a Postman workspace, and third-party integrations (Pipedream, Zapier, Workato), but nowhere in the evidence pack is there mention of official client-library SDKs (e.g., Node.js, Python, Java packages) that AI-native developers could build against.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "agentic-webhooks",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Brex documents a dedicated webhooks API and guide for registering endpoints and receiving selected events, including examples like referral activation, indicating genuine subscribe-to-event support. missing for 10: no independent/hands-on corroboration of webhook delivery reliability, and no explicit AI-native/agent-triggered subscription workflow shown.",
    "evidenceIds": [
      "brex-docs-1",
      "brex-docs-25",
      "brex-docs-35"
    ]
  },
  {
    "productId": "brex",
    "storyId": "ai-expense-coding",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Brex AI explicitly offers audit and review agents that read receipts, categorize/flag violations by risk level, auto-approve low-risk expenses, and write memos/fetch receipts/file reimbursements automatically, matching the story closely. missing for 10: independent/hands-on verification of accuracy (duplicate/fraud catching specifically) and no third-party corroboration beyond vendor marketing copy.",
    "evidenceIds": [
      "brex-docs-15",
      "brex-docs-16",
      "brex-docs-23",
      "brex-docs-41",
      "brex-docs-7"
    ]
  },
  {
    "productId": "brex",
    "storyId": "ai-policy-copilot",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex explicitly markets AI agents that follow up on out-of-compliance spend, fetch receipts, and offer policy help ('AI assistants do employees' expenses... fetching receipts, offering policy help' and 'review agent... follows up with anyone out of compliance'), plus an MCP server letting assistants query expenses/policy conversationally. However, there's no concrete evidence of the assistant proactively answering 'can I expense this?' before spend occurs or explaining specific decline reasons conversationally. Missing for 10: documented pre-spend conversational policy checks, explicit decline-explanation flows, and independent/hands-on confirmation of these AI behaviors in practice.",
    "evidenceIds": [
      "brex-docs-15",
      "brex-docs-16",
      "brex-docs-23",
      "brex-docs-41",
      "brex-docs-3",
      "brex-docs-8"
    ]
  },
  {
    "productId": "brex",
    "storyId": "api-interactive-docs",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Brex provides detailed API reference docs (openapi/*.md pages) and a Postman workspace with collections for all APIs, which allows some hands-on exploration, but there's no evidence of an interactive in-browser API reference with embedded runnable examples (e.g., a Swagger/OpenAPI explorer); a probe for standard openapi.json/swagger endpoints returned 404s. Missing for 10: an embedded interactive console/try-it feature, confirmation of runnable code snippets directly in docs, and independent corroboration of hands-on use.",
    "evidenceIds": [
      "brex-docs-29",
      "brex-docs-4",
      "brex-docs-5",
      "brex-probe-2"
    ]
  },
  {
    "productId": "brex",
    "storyId": "api-machine-spec",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Brex publishes API reference docs under an /openapi/ path pattern (transactions_api.md, budgets_api.md, expenses_api.md, etc.) and offers a Postman collection covering all Brex APIs, both of which imply structured, machine-readable spec data. However, a direct probe for standard OpenAPI/Swagger JSON files (openapi.json, swagger.json, etc.) returned 404s, meaning there is no confirmed single downloadable OpenAPI spec file. Missing for 10: a discoverable raw OpenAPI/Swagger JSON or YAML file, and confirmation that the Postman collection is exported in OpenAPI format.",
    "evidenceIds": [
      "brex-docs-4",
      "brex-docs-5",
      "brex-docs-7",
      "brex-docs-29",
      "brex-probe-2"
    ]
  },
  {
    "productId": "brex",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence of a sandbox/test environment separate from production data; the docs pack covers authentication, webhooks, MCP server, and API endpoints but never mentions a sandbox mode or test credentials. Missing for 10: any mention of a sandbox environment, test API keys, or documentation distinguishing test vs. production data.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence shows a changelog tracking feature additions (e.g., new filter params, policy fields) but nothing documenting API versioning scheme or a deprecation policy for breaking changes. No mention of version numbers, sunset timelines, or backward-compatibility guarantees appears anywhere in the pack.",
    "evidenceIds": [
      "brex-docs-6",
      "brex-docs-19",
      "brex-docs-33"
    ]
  },
  {
    "productId": "brex",
    "storyId": "approval-workflows",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Brex documents multi-level, rule-based approval routing (by amount, vendor, employee role) and an AI review agent that auto-approves low-risk items and escalates exceptions, which covers the core approval-chain and escalation concept. However there is no explicit documentation of delegation (e.g., proxy approver when someone is OOO) or a named manager→budget-owner→finance sequential chain structure. Missing for 10: explicit delegation/out-of-office reassignment mechanism, documented sequential role hierarchy (manager, budget owner, finance) rather than generic 'role-based routing', and independent/hands-on confirmation of escalation behavior.",
    "evidenceIds": [
      "brex-docs-8",
      "brex-docs-11",
      "brex-docs-16",
      "brex-docs-41",
      "brex-docs-10"
    ]
  },
  {
    "productId": "brex",
    "storyId": "auto-receipt-matching",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Brex's API/docs confirm automatic receipt-to-transaction matching (\"Upload receipt and match automatically\" and pre-signed S3 upload that tries to match existing expenses), and its AI feature page claims agents can 'fetch receipts' and file expenses automatically, plus a review agent that 'follows up with anyone out of compliance.' However, there's no explicit evidence of e-receipts being pulled automatically from third-party integrations (e.g., travel/vendor e-receipt feeds) nor documentation describing smart nudging logic that only triggers when a receipt is genuinely missing rather than generic compliance follow-ups. missing for 10: explicit e-receipt integration sourcing, documented logic for suppressing false-positive missing-receipt nudges, independent user confirmation of matching accuracy.",
    "evidenceIds": [
      "brex-docs-27",
      "brex-docs-7",
      "brex-docs-23",
      "brex-docs-16"
    ]
  },
  {
    "productId": "brex",
    "storyId": "automation-bulk-operations",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Brex documents explicit bulk operations via automation platforms (bulk create virtual cards via Pipedream, bulk create users/set limits via Workato) and supports filtering/listing at scale via API query params, plus bulk-friendly endpoints for users, cards, vendors, and expenses. This is corroborated by first-party developer docs across multiple integration guides, not just a single mention. Missing for 10: no native in-product bulk-action UI evidence or independent hands-on confirmation of bulk API throughput/limits.",
    "evidenceIds": [
      "brex-docs-30",
      "brex-docs-32",
      "brex-docs-19",
      "brex-docs-33",
      "brex-docs-29"
    ]
  },
  {
    "productId": "brex",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex offers webhooks that fire on events (brex-docs-1, brex-docs-25, brex-docs-35) plus built-in policy rules that auto-trigger actions like blocking out-of-policy spend, auto-approving low-risk expenses, and escalating exceptions (brex-docs-8, brex-docs-9, brex-docs-16, brex-docs-36, brex-docs-41). Third-party integrations (Zapier, Workato, Pipedream) extend this into custom event-triggered automations (brex-docs-30, brex-docs-31, brex-docs-32). Missing for 10: a native no-code rule-builder UI for arbitrary custom triggers/actions beyond preset expense/travel/approval policies, and independent hands-on confirmation that webhook-to-action automations work reliably in practice.",
    "evidenceIds": [
      "brex-docs-1",
      "brex-docs-8",
      "brex-docs-9",
      "brex-docs-16",
      "brex-docs-36",
      "brex-docs-41",
      "brex-docs-30",
      "brex-docs-31",
      "brex-docs-32",
      "brex-docs-35"
    ]
  },
  {
    "productId": "brex",
    "storyId": "automation-scheduled-jobs",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Brex offers webhooks for event-driven automation and third-party integration examples (Zapier, Workato, Pipedream) that can implement recurring workflows like a 'Monthly Export of Brex Card Transactions to CSV', but there is no native Brex scheduling/cron API for recurring jobs — the scheduling logic lives entirely in external tools. Missing for 10: a first-party recurring-job/schedule API or documented native cron-like trigger, and any hands-on evidence that AI-native users actually configure recurring automations directly through Brex rather than third-party platforms.",
    "evidenceIds": [
      "brex-docs-31",
      "brex-docs-32",
      "brex-docs-30",
      "brex-docs-1",
      "brex-docs-35"
    ]
  },
  {
    "productId": "brex",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any versioning, review workflow, or rollback mechanism for automations/policies/agents — the docs describe automation features (approvals, expense policies, AI agents, MCP) but nothing about version history, change review, or reverting configurations.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "bill-pay-ap",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Brex Bill Pay covers invoice capture (AI extracts itemized detail and matches PO), configurable multi-level approval routing by amount/vendor/role, vendor onboarding via secure payment-detail links, and payment via virtual card, ACH, checks, or wires from a Brex or external bank account — all in one platform, backed by both marketing docs and API endpoints (vendor creation, payments API). missing for 10: independent/hands-on verification of AP workflow reliability (only vendor docs, no third-party case study or user report specific to bill pay), and detail on check-payment mechanics/timing.",
    "evidenceIds": [
      "brex-docs-11",
      "brex-docs-12",
      "brex-docs-13",
      "brex-docs-14",
      "brex-docs-34",
      "brex-docs-38"
    ]
  },
  {
    "productId": "brex",
    "storyId": "budgets-enforcement",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Brex documents budgets/spend limits API and dashboard features for assigning top-line budgets, auto-enforced spend limits, policy-based blocking of out-of-policy purchases, and multi-level approval routing, directly matching the finance-lead's need to allocate budgets and have limits/approvals enforce them. missing for 10: independent/hands-on evidence confirming enforcement works reliably in practice (community evidence only covers account closures, not budget/approval enforcement), and no case study showing team/project-level allocation granularity in real use.",
    "evidenceIds": [
      "brex-docs-5",
      "brex-docs-8",
      "brex-docs-9",
      "brex-docs-10",
      "brex-docs-11",
      "brex-docs-36"
    ]
  },
  {
    "productId": "brex",
    "storyId": "card-policy-controls",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex's product docs explicitly describe auto-blocking out-of-policy purchases with preset rules and limits, auto-enforced spend controls, and a Budgets/Spend Limits API for programmatic control, matching the finance-lead story of restricting and declining spend by policy. Missing for 10: explicit documentation of category/merchant-level rule granularity and independent/hands-on confirmation that point-of-sale declines work as described in practice.",
    "evidenceIds": [
      "brex-docs-36",
      "brex-docs-9",
      "brex-docs-8",
      "brex-docs-5",
      "brex-docs-41"
    ]
  },
  {
    "productId": "brex",
    "storyId": "continuous-close-coding",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Brex documents real-time spend coding at point of transaction: receipt auto-matching to expenses (brex-docs-7, brex-docs-27), AI agents auto-categorizing/approving and writing memos (brex-docs-23, brex-docs-16, brex-docs-41), policy/budget enforcement applied per transaction (brex-docs-8, brex-docs-15, brex-docs-36), and explicit close-in-real-time messaging (brex-docs-37) plus one-click accounting sync (brex-docs-17, brex-docs-40). This directly maps to merchant/category/memo/receipt capture happening automatically rather than at month-end. Missing for 10: independent/hands-on verification that AI-drafted memos and auto-categorization are accurate in practice, and no third-party case study confirming reduced close time.",
    "evidenceIds": [
      "brex-docs-7",
      "brex-docs-27",
      "brex-docs-23",
      "brex-docs-16",
      "brex-docs-41",
      "brex-docs-8",
      "brex-docs-15",
      "brex-docs-36",
      "brex-docs-37",
      "brex-docs-17",
      "brex-docs-40"
    ]
  },
  {
    "productId": "brex",
    "storyId": "expense-audit-trail",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Brex documents policy-violation flags on bookings, multi-level approval routing, budget/spend limits, and a dedicated 'audit agent' that monitors and categorizes policy violations — all elements that would feed an audit trail. However, there is no explicit documentation of an immutable, exportable audit log capturing edit history, approval timestamps, and policy-check results in a form built for external audit review.\n\nmissing for 10: explicit immutable/exportable audit-log documentation, evidence of edit-history tracking per expense, independent confirmation the trail survives external audit scrutiny.",
    "evidenceIds": [
      "brex-docs-6",
      "brex-docs-8",
      "brex-docs-11",
      "brex-docs-15",
      "brex-docs-16",
      "brex-docs-36"
    ]
  },
  {
    "productId": "brex",
    "storyId": "expense-policy-engine",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Brex documents policy codification by category, role, vendor, and context (limits, spend rules, multi-level approval routing by amount/vendor/role) and explicit auto-approval of in-policy items with exceptions escalated to humans via its review/audit AI agents. Budgets API and policy-violation flags further support programmatic enforcement. Missing for 10: independent/hands-on verification of auto-approval accuracy and no detailed docs on granular category-level rule configuration UI.",
    "evidenceIds": [
      "brex-docs-8",
      "brex-docs-9",
      "brex-docs-11",
      "brex-docs-16",
      "brex-docs-36",
      "brex-docs-41",
      "brex-docs-5",
      "brex-docs-6"
    ]
  },
  {
    "productId": "brex",
    "storyId": "expenses-api-read",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex has a documented REST API covering transactions, expenses, receipts (upload/match), budgets, and webhooks, with token-based authentication using scopes (brex-docs-2, brex-docs-4, brex-docs-7, brex-docs-27, brex-docs-19). However, the auth mechanism is described as dashboard-generated 'user tokens' with scopes rather than a full OAuth flow, and an OpenAPI spec could not be located via standard endpoints (brex-probe-2). missing for 10: explicit OAuth 2.0 flow documentation (vs. static token generation), publicly discoverable OpenAPI/swagger spec, and independent developer corroboration of the API working as documented.",
    "evidenceIds": [
      "brex-docs-2",
      "brex-docs-4",
      "brex-docs-7",
      "brex-docs-27",
      "brex-docs-19",
      "brex-docs-26",
      "brex-probe-2"
    ]
  },
  {
    "productId": "brex",
    "storyId": "fast-reimbursements",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Brex's docs confirm out-of-pocket expense submission (receipt upload/matching in brex-docs-7/27) and AI-driven automatic reimbursement filing (brex-docs-23), implying an end-to-end expense workflow, but there is no explicit documentation of direct-deposit payout mechanics, reimbursement timing ('days'), or a submission-to-payout tracking status view. missing for 10: explicit direct-deposit reimbursement flow, payout SLA/timing details, and a visible tracking/status dashboard for reimbursement progress.",
    "evidenceIds": [
      "brex-docs-7",
      "brex-docs-23",
      "brex-docs-27",
      "brex-docs-8"
    ]
  },
  {
    "productId": "brex",
    "storyId": "global-reimbursements",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence covers global card acceptance (210+ countries), bill pay wires 'in more currencies' for vendor payments, and general 'global spend' messaging, but nothing specifically addresses reimbursing employees abroad in their local currency or eliminating a separate international payments process for reimbursements.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "issue-cards-limits",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Brex documents physical and virtual card issuance on Mastercard with instant/one-click virtual card creation, per-card/employee spend limits and budgets, mobile app management, and bulk issuance via Workato/Pipedream integrations for teams. This directly matches the founder story of quickly issuing cards with individual limits. Missing for 10: independent hands-on timing verification (\"minutes\") and no first-party case study explicitly confirming founder-level self-service issuance speed.",
    "evidenceIds": [
      "brex-docs-20",
      "brex-docs-22",
      "brex-docs-21",
      "brex-docs-5",
      "brex-docs-9",
      "brex-docs-30",
      "brex-docs-32",
      "brex-docs-38"
    ]
  },
  {
    "productId": "brex",
    "storyId": "mileage-per-diem",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack mentions mileage tracking, GPS/map-based distance calculation, or per-diem rate claims; Brex's expense documentation focuses on card transactions, receipt upload/matching, and policy enforcement but never describes mileage or per-diem automation. This is a fair capability to expect from an expense management product, so absence of evidence means none rather than na.",
    "evidenceIds": [
      "brex-docs-7",
      "brex-docs-8",
      "brex-docs-27",
      "brex-docs-37"
    ]
  },
  {
    "productId": "brex",
    "storyId": "multi-entity-currency",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Evidence shows Brex's API supports a `legal_entity_id` field for filtering users, implying some multi-entity data modeling exists, and general mentions of 'global spend'/'more currencies' support, but there is no documentation of consolidated cross-entity reporting or dedicated per-entity books for finance close workflows. missing for 10: consolidated reporting across entities, per-entity books/ledgers, multi-currency accounting close workflow, any first-party or independent confirmation of multi-entity account structure.",
    "evidenceIds": [
      "brex-docs-19",
      "brex-docs-33",
      "brex-docs-37",
      "brex-docs-14",
      "brex-docs-18"
    ]
  },
  {
    "productId": "brex",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Brex exposes a broad public API (transactions, budgets, expenses, users, webhooks) and an official MCP server for AI-assistant access, covering many core UI workflows, but there is no evidence of full parity — e.g. no documented API for bill pay approval routing, travel policy management, or card issuance settings that mirror the UI feature set. missing for 10: explicit parity statement, bill-pay/travel/card-management API endpoints, independent confirmation that all UI actions are API-reachable.",
    "evidenceIds": [
      "brex-docs-2",
      "brex-docs-3",
      "brex-docs-4",
      "brex-docs-5",
      "brex-docs-19",
      "brex-docs-11",
      "brex-docs-14",
      "brex-probe-1",
      "brex-probe-2"
    ]
  },
  {
    "productId": "brex",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Brex exposes APIs for transactions, expenses, users, budgets, etc. and a documented Zapier example for CSV export of card transactions, which lets a user pull data out in open formats; but there is no first-party documentation of a comprehensive 'export all your data' feature, bulk archive export, or account-closure data-portability process. missing for 10: a dedicated full-account data export tool, documentation of exporting all data types (not just transactions) in one open format, and any offboarding/portability guidance for leaving the platform.",
    "evidenceIds": [
      "brex-docs-4",
      "brex-docs-31",
      "brex-docs-19",
      "brex-docs-29"
    ]
  },
  {
    "productId": "brex",
    "storyId": "openness-open-license",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Brex is a closed financial SaaS platform, not open-source software; the question of reading its source code under an open license is a category error for this kind of product.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Brex is a fintech SaaS (corporate cards/expense management) fundamentally tied to regulated banking infrastructure and a hosted service; self-hosting the core product is a category error for this kind of financial platform, not a missing feature.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence pack items mention data residency, regional storage options, or any control over where data is stored; Brex evidence covers financial product features, APIs, and MCP integration only.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence pack item addresses AI training data usage, opt-out settings, or a data-privacy policy regarding model training; the evidence only covers API/product features and unrelated community complaints about account closures.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence pack item discusses data retention, deletion policies, or AI data usage/training controls specific to AI-native workflows; the API, MCP, and product docs focus on functionality (expenses, cards, bill pay) rather than privacy/data lifecycle controls. Missing for 10: any documentation on data retention periods, deletion requests, opt-out of AI training, or data residency/handling policies.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack mentions telemetry, usage tracking, or an opt-out/privacy control mechanism for AI-native users; the docs focus on APIs, webhooks, MCP server, and financial products with no privacy-posture disclosures.",
    "evidenceIds": []
  },
  {
    "productId": "brex",
    "storyId": "programmatic-card-issuance",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Evidence shows Brex exposes a broad API surface with a Postman workspace for 'all Brex APIs' and third-party integration recipes (Pipedream, Workato) that issue virtual cards and set spend limits/monthly limits, plus a budgets/spend-limits API. However, there is no first-party documentation of a dedicated Cards API (create/lock/update card controls) in the evidence pack — no cards_api.md or explicit lock/update-controls endpoints are cited, only inferred usage via third-party automation platforms. Missing for 10: a documented Cards API reference showing create-with-limit, lock/freeze, and update-controls endpoints, and any independent hands-on confirmation of programmatic card lifecycle management.",
    "evidenceIds": [
      "brex-docs-30",
      "brex-docs-32",
      "brex-docs-5",
      "brex-docs-9",
      "brex-docs-29"
    ]
  },
  {
    "productId": "brex",
    "storyId": "realtime-spend-visibility",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex provides real-time spend tracking via the mobile app (\"view your spend all in one app\"), budgets API tracked instantly by team/cost-center, transactions API for granular transaction-level data, and webhooks for live event notifications, plus marketing claims of managing spend and closing books in real time. Category/department/merchant segmentation is supported via cost_center_id/department_id filters and the transactions API, though merchant-level breakdown isn't explicitly documented as a dashboard feature. Missing for 10: explicit merchant-level dashboard breakdown documentation, independent/hands-on verification that spend updates instantly rather than with delay, and no clear evidence of a dedicated real-time analytics dashboard beyond mobile app spend view.",
    "evidenceIds": [
      "brex-docs-4",
      "brex-docs-5",
      "brex-docs-10",
      "brex-docs-21",
      "brex-docs-37",
      "brex-docs-19",
      "brex-docs-35"
    ]
  },
  {
    "productId": "brex",
    "storyId": "receipt-capture-ocr",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Brex supports receipt upload with automatic matching to expenses via API (\"Upload receipt and match automatically\", pre-signed S3 URL matching to existing expenses) and AI agents that 'fetch receipts' automatically, but there's no explicit evidence of OCR technology, photo-snap mobile capture flow, or email-forwarding-to-receipt-filing as described in the story. missing for 10: explicit OCR mention, mobile photo-capture UX details, email-forwarding ingestion mechanism, independent/hands-on confirmation of accuracy.",
    "evidenceIds": [
      "brex-docs-7",
      "brex-docs-27",
      "brex-docs-23"
    ]
  },
  {
    "productId": "brex",
    "storyId": "travel-booking-policy",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Brex Travel is a first-party product explicitly combining booking with 'global inventory and auto-enforced expense policies on one platform' (brex-docs-39), and the API changelog shows booking objects carry a `policy` field flagging out-of-policy violations at booking time (brex-docs-6), confirming policy is applied during booking rather than after. Community evidence corroborates actual usage of Brex Travel for booking ('Brex Travel was luxurious') (brex-comm-1). Missing for 10: independent review of the booking flow's policy enforcement UX and more detail on flight/hotel inventory breadth.",
    "evidenceIds": [
      "brex-docs-39",
      "brex-docs-6",
      "brex-comm-1"
    ]
  },
  {
    "productId": "brex",
    "storyId": "trip-expenses-autocollect",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Brex Travel and expense docs show pieces of this workflow — bookings carry policy metadata (brex-docs-6), corporate cards integrate with the platform (brex-docs-20/21), and receipts auto-match to expenses (brex-docs-7/brex-docs-27) — and the Travel product page claims to \"simplify travel with global inventory and auto-enforced expense policies on one platform\" (brex-docs-39). However, no evidence explicitly describes a trip/itinerary object that automatically aggregates bookings, card transactions, and receipts into a single itinerary-linked expense report for the employee. Missing for 10: explicit itinerary/trip-report generation feature, documentation of automatic booking-to-card-to-receipt linkage within one report, and any hands-on/independent confirmation of this consolidated view.",
    "evidenceIds": [
      "brex-docs-39",
      "brex-docs-6",
      "brex-docs-7",
      "brex-docs-27",
      "brex-docs-20"
    ]
  },
  {
    "productId": "brex",
    "storyId": "vendor-virtual-cards",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Brex documents virtual card creation (docs-14, docs-38), bulk virtual-card issuance for employees/vendors (docs-30, docs-32), and procurement-specific spend limits (docs-9), which together support finance leads creating vendor-specific virtual cards to isolate compromise risk. Missing for 10: explicit documentation of a 'lock card to single vendor' control or vendor-merchant-locking mechanism, and independent/hands-on evidence confirming this containment behavior in practice.",
    "evidenceIds": [
      "brex-docs-14",
      "brex-docs-38",
      "brex-docs-30",
      "brex-docs-32",
      "brex-docs-9",
      "brex-docs-20"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "accounting-sync-mapping",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Docs confirm real integrations with QuickBooks Online (export sync) and NetSuite (expense syncing/reporting/accounting), plus a 'multi-level GL coding' feature suggesting GL account/class/department mapping control, but there's no explicit mention of Xero or of finance-lead-controlled class/department field mapping specifically. Missing for 10: explicit Xero integration evidence, detailed documentation of user-controlled class/department mapping configuration, and independent/hands-on confirmation that mappings work as configured.",
    "evidenceIds": [
      "expensify-docs-7",
      "expensify-docs-13",
      "expensify-docs-14",
      "expensify-docs-15"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agent-closes-the-books",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Expensify documents a general API with OAuth2 credential-based access (expensify-docs-1/2) and an AI assistant that can categorize/approve expenses via plain language (expensify-docs-3/4), suggesting some machinery exists for pulling and coding transactions, but there is no documentation of an MCP server, no specific 'uncoded transactions' API endpoint, and no described workflow for pushing proposed codings back for human review. Community reports also raise concerns about categorization accuracy historically (expensify-comm-1/4), casting doubt on the 'propose categorizations' reliability. missing for 10: MCP server/connector evidence, explicit API support for uncoded-transaction retrieval and coding-review push-back, verified categorization accuracy at scale.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-3",
      "expensify-docs-4",
      "expensify-comm-1",
      "expensify-comm-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-agent-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of an llms.txt file, agent-oriented documentation, or any machine-readable docs endpoint; the docs-md probe returned a 404, and no other citation mentions such a resource.",
    "evidenceIds": [
      "expensify-probe-1"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-ai-insights",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Expensify markets an 'Ask Expensify AI' feature that lets users create/categorize/approve expenses and even fix workspace configuration via plain-language requests, which matches the AI-insights/suggestions story (expensify-docs-3, expensify-docs-4). However, independent community reports say Expensify's automated categorization (the core AI-driven suggestion mechanism) is wrong roughly 70% of the time unless obvious, undercutting the reliability of these AI suggestions (expensify-comm-1, expensify-comm-4). Missing for 10: independent hands-on validation of the newer 'Ask Expensify AI' feature specifically (not just older SmartScan categorization), and evidence of proactive 'insights' beyond conversational commands.",
    "evidenceIds": [
      "expensify-docs-3",
      "expensify-docs-4",
      "expensify-comm-1",
      "expensify-comm-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Expensify documents rule-based background automations (auto-export to QuickBooks/NetSuite, SmartScan, workflow rules) and an 'Ask Expensify AI' assistant that can categorize/approve/configure via plain language, plus an API/OAuth flow for building custom integrations — but these are largely interactive or preset triggers rather than a documented capability for AI-native users to configure agentic background automations that run autonomously on their own schedule. Missing for 10: explicit support for user-defined autonomous/scheduled AI agent workflows, independent confirmation that 'Ask Expensify AI' actions can run unattended in the background, and evidence of persistent agent-triggered automation beyond fixed export rules.",
    "evidenceIds": [
      "expensify-docs-3",
      "expensify-docs-4",
      "expensify-docs-7",
      "expensify-docs-2",
      "expensify-docs-12"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-builtin-assistant",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Expensify's own blog documents 'Ask Expensify AI Anything,' a built-in assistant that can create/categorize/approve expenses and even configure workspaces via plain language, matching the delegation story. However, this is first-party marketing copy with no independent hands-on corroboration, and community feedback in the pack focuses only on SmartScan's older categorization/data-handling issues rather than validating the AI assistant itself. Missing for 10: independent/hands-on verification of the AI assistant's task delegation, details on scope/limits of what it can autonomously do, and any user reports specifically about this AI feature.",
    "evidenceIds": [
      "expensify-docs-3",
      "expensify-docs-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Expensify exposes an Integration Server API with OAuth2 token-based programmatic access, which could technically be scripted into a CI pipeline, but there is no documentation, CLI, SDK, or example showing headless/CI usage specifically. Missing for 10: explicit CI/automation documentation, a headless CLI or SDK, and any hands-on evidence of running Expensify unattended in a pipeline.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-12"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-mcp-client",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Expensify is an expense management SaaS product, not an AI agent; the evidence shows only its own API/integration server and AI-assistant features, with no mention of MCP server support for plugging in external tool servers. This axis (agent-role MCP client capability) does not apply to a SaaS platform's own product surface.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "agentic-mcp-server",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Expensify offers a REST API with OAuth2 credentials, but there is no evidence of an official MCP server for agent connectivity; the AI features described (Ask Expensify) are first-party assistant features, not an MCP integration point.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-3"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-nl-commands",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "First-party blog claims 'Ask Expensify AI' lets users create/categorize/tag/approve/reject expenses and configure workspaces via plain language, directly matching the story, but this is vendor marketing copy with no independent/hands-on verification of the natural-language feature itself. Community evidence discusses categorization accuracy and UX issues but doesn't specifically test or contradict the AI natural-language assistant. Missing for 10: independent hands-on confirmation that the AI chat actually executes commands reliably, details on scope/limits of supported natural-language operations, and evidence it's broadly available rather than a beta/blog announcement.",
    "evidenceIds": [
      "expensify-docs-3",
      "expensify-docs-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows an API/Integration Server with OAuth2, and a GitHub repo for the app itself, but no official CLI tool for AI-native workflows is documented anywhere in the pack.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Expensify documents a public Integration Server API with credential generation and OAuth2 authorization-code flow for acting on behalf of users, indicating programmatic access beyond the UI. Missing for 10: independent/hands-on developer corroboration of the API's completeness, rate limits, or breadth of endpoints, and no evidence of SDKs or community usage confirming real-world API-driven workflows.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-12"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Expensify's API docs describe generating general API credentials and using OAuth2 to obtain short-lived tokens on behalf of a user, but there's no evidence of scoped/least-privilege credential issuance specifically designed for agent use cases (e.g., granular permission scopes, agent-specific role restrictions). Missing for 10: scoped/permissioned API key or token creation, agent-specific credential controls, documentation of least-privilege design.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-12"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows only a proprietary Integration Server REST API with API credentials/OAuth2, not an official SDK (client library) for building AI-native integrations; no mention of SDKs in any language, and a probe attempt to find developer docs even returned a 404. Missing for 10: any official SDK/client library, language-specific packages, or AI-agent oriented developer kit.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-12",
      "expensify-probe-1"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack shows Expensify has an API with OAuth2 auth and credential generation, but nothing describes a webhook/event subscription mechanism for AI agents to consume. Missing for 10: any documentation of webhook endpoints, event types, subscription setup, or push-notification callback support.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "ai-expense-coding",
    "verdict": "disputed",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Expensify markets 'Ask Expensify AI' for categorizing, tagging, and approving expenses via plain language, and SmartScan for reading receipt data (expensify-docs-3, expensify-docs-4, expensify-docs-6, expensify-docs-18), but hands-on community reports directly contradict the accuracy claims: users report ~70% mis-categorization rates and note SmartScan historically relied on human mechanical-turk workers (with resulting PII exposure) rather than pure AI (expensify-comm-1, expensify-comm-2, expensify-comm-3, expensify-comm-4). No evidence at all addresses duplicate or fraud detection. Missing for 10: verified fraud/duplicate-catching capability, independent confirmation that categorization/audit is now AI-driven and accurate, and resolution of the human-labor/accuracy concerns.",
    "evidenceIds": [
      "expensify-docs-3",
      "expensify-docs-4",
      "expensify-docs-6",
      "expensify-docs-18",
      "expensify-comm-1",
      "expensify-comm-2",
      "expensify-comm-3",
      "expensify-comm-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "ai-policy-copilot",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Expensify's 'Ask Expensify AI Anything' assistant supports plain-language creation, categorization, approval/rejection of expenses and workspace rule configuration, which is conversational policy interaction, but the evidence never shows it proactively chasing missing receipts, explaining specific declines, or answering pre-spend 'can I expense this?' queries. Community reports also flag poor categorization accuracy (~70% error rate), undermining confidence in the conversational engine's reliability. Missing for 10: explicit documentation of proactive receipt-chasing, decline explanations, and pre-spend eligibility checks, plus independent verification of these specific behaviors.",
    "evidenceIds": [
      "expensify-docs-3",
      "expensify-docs-4",
      "expensify-comm-1",
      "expensify-comm-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows only a basic API doc requiring credentials and OAuth2 setup, with no mention of an interactive reference, runnable examples, or sandbox/console; a probe for a machine-readable docs endpoint returned 404.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-probe-1"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Expensify has an API with OAuth2 credentials but no mention of a downloadable machine-readable spec like OpenAPI/Swagger; the docs page is only HTML documentation, not a spec file.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-12"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of a sandbox or test environment for Expensify's API/integration platform; docs only cover OAuth2 credentials and production-oriented integrations (QuickBooks, NetSuite). This is a fair axis for an API-driven product, but nothing in the evidence pack mentions sandbox, staging, or test-mode accounts.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Expensify has an Integration Server API with OAuth2 credentials, but nothing about API versioning, version numbers, or a documented deprecation/sunset policy is present anywhere in the pack. Missing for 10: any mention of API version numbers, changelog, breaking-change policy, or deprecation timeline/notice process.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-12"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "approval-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence pack items describe multi-step approval chains (manager/budget owner/finance), delegation, or escalation logic; documentation covers API auth, SmartScan, integrations, invoicing, and pricing but nothing on approval workflow configuration.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "auto-receipt-matching",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Expensify documents SmartScan for automatic receipt data extraction (docs-6, docs-18) and supports bringing your own corporate cards (docs-5, docs-10), which implies some card-transaction integration, but there is no direct evidence describing automatic receipt-to-transaction matching, e-receipt pulling from vendor integrations, or a 'nudge only when missing' notification flow. Community reports also flag categorization/accuracy issues that could undercut a fully automated match (comm-1, comm-4). Missing for 10: explicit documentation of automatic receipt-card matching logic, e-receipt integration pulls, and a missing-receipt notification/nudge feature.",
    "evidenceIds": [
      "expensify-docs-6",
      "expensify-docs-18",
      "expensify-docs-5",
      "expensify-docs-10",
      "expensify-comm-1",
      "expensify-comm-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "automation-bulk-operations",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Evidence shows an API/OAuth integration and a natural-language AI assistant for single-item actions (create/categorize/approve expenses), but nothing describes bulk or batch operations across many items at once via API or AI. Missing for 10: documented bulk endpoints, batch API calls, or AI commands operating on multiple items simultaneously, plus any independent confirmation of such bulk capability.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-3"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Expensify's AI assistant lets users 'build rules... by just asking' and the product already ships built-in automations like auto-export of finalized reports to QuickBooks, showing some event-triggered automation. However, there is no documentation of a general-purpose, API/webhook-based rule engine where an AI-native user can programmatically define arbitrary event→action rules; the API docs only cover credential/auth flows, not rule creation. Missing for 10: documented API/webhook endpoints for creating custom triggers, examples of user-defined event-action rules beyond a handful of built-in workflows, and independent confirmation these AI-set rules work reliably.",
    "evidenceIds": [
      "expensify-docs-4",
      "expensify-docs-7",
      "expensify-docs-1",
      "expensify-docs-12"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Expensify's API/integration docs describe authentication and one-off actions but no evidence of scheduling recurring jobs or automated workflows on a timer; automatic exports (e.g., QuickBooks) are triggered by report finalization, not user-defined recurring schedules exposed to AI-native automation.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-7"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "automation-versioned-workflows",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Expensify's AI features (Concierge/Ask Expensify AI) are conversational automation for expense actions, not an agent/workflow-building product with versioned automations to review or roll back. No evidence pack item addresses automation versioning, review, or rollback—this axis is a category error for an expense management SaaS.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "bill-pay-ap",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers expense reporting, receipt scanning, corporate cards, travel, and outbound client invoicing (AR), plus accounting syncs to QuickBooks/NetSuite, but contains no mention of vendor bill/invoice capture for payables, AP-specific approval routing, or vendor payment via ACH, check, or wire. This is a distinct AP workflow not evidenced here.",
    "evidenceIds": [
      "expensify-docs-9",
      "expensify-docs-17",
      "expensify-docs-7",
      "expensify-docs-13",
      "expensify-docs-14"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "budgets-enforcement",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Evidence only shows generic 'Smart Limits on cards' and 'multi-level GL coding' features, with no documentation of allocating budgets specifically to teams/projects or details on how approvals/card limits enforce those budgets end-to-end. Missing for 10: team/project-level budget allocation workflows, approval-chain enforcement mechanics, and any independent verification that limits actually block overspend.",
    "evidenceIds": [
      "expensify-docs-10",
      "expensify-docs-15"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "card-policy-controls",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Expensify markets 'Smart Limits on cards' as a feature, suggesting some spend-control capability, but the evidence pack gives no detail on restricting by category/merchant/amount or on real-time auto-lock/decline at point of sale. Missing for 10: documentation of category/merchant-based restriction rules, confirmation of real-time POS decline/lock behavior, and any independent corroboration of these controls working as described.",
    "evidenceIds": [
      "expensify-docs-10"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "continuous-close-coding",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Expensify's docs promise automatic merchant/date/total capture (SmartScan), AI-driven categorization, multi-level GL coding, and syncing to QuickBooks/NetSuite so reports are close-ready, but hands-on community reports directly contradict the categorization claim, citing ~70% miscategorization and slow, human-mediated (mechanical turk) receipt processing that undermines 'real-time coding'. Missing for 10: independent verification that categorization accuracy has improved, more recent (post-mturk-era) hands-on accounts confirming reliable real-time coding, and evidence of memo/note fields being auto-populated.",
    "evidenceIds": [
      "expensify-docs-3",
      "expensify-docs-6",
      "expensify-docs-15",
      "expensify-docs-18",
      "expensify-docs-7",
      "expensify-comm-1",
      "expensify-comm-4",
      "expensify-comm-5"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "expense-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack shows approval workflows (AI-driven approve/reject) and accounting sync (QuickBooks, NetSuite) but no documentation of an immutable audit trail, edit/approval history log, or audit-ready reporting that would survive external audit scrutiny. Community evidence focuses on categorization accuracy and billing complaints, not audit-trail integrity.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "expense-policy-engine",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Evidence shows some policy-adjacent features (Smart Limits on cards, multi-level GL coding, and 'build rules' via AI assistant) but no explicit documentation of a full policy engine enforcing limits by category/role/context with automatic in-policy approval and exception routing to a human approver. missing for 10: documented approval workflow/exception routing, role-based limit configuration, and evidence of auto-approval logic actually functioning as described.",
    "evidenceIds": [
      "expensify-docs-10",
      "expensify-docs-15",
      "expensify-docs-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "expenses-api-read",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Expensify documents an Integration Server API with API credentials and OAuth2 authorization code flow for short-lived access tokens, which supports scoped-token access on behalf of users. However, there is no clear evidence of granular scoped tokens, comprehensive REST endpoint documentation for pulling transactions/expenses/receipts specifically, or independent developer corroboration of the API's usability. missing for 10: detailed REST endpoint reference for transactions/receipts, explicit scope definitions, independent developer confirmation of working OAuth flow.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-12"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "fast-reimbursements",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack covers receipt scanning, categorization, accounting integrations, and pricing, but contains no documentation of the direct-deposit reimbursement flow, payout timing, or tracking from submission to payout. Community items focus on categorization accuracy and billing complaints, not reimbursement speed or tracking. missing for 10: reimbursement/payout documentation, direct deposit setup details, submission-to-payout tracking evidence.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "global-reimbursements",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack contains no mention of multi-currency reimbursement or international payment processing to employees abroad; it covers receipt scanning, accounting integrations, invoicing, and API auth, but nothing about local-currency reimbursement or cross-border payouts.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "issue-cards-limits",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Expensify's spend-management page mentions 'Smart Limits on cards' and the product supports 'bring your own cards,' implying corporate card issuance with limit controls, but there is no documentation of physical vs. virtual card issuance speed, per-card limit setup workflow, or any concrete 'minutes to issue' claim. missing for 10: evidence of physical card issuance process, virtual card creation flow, time-to-issue claims, and per-card individual limit configuration details.",
    "evidenceIds": [
      "expensify-docs-10",
      "expensify-docs-5"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "mileage-per-diem",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack covers SmartScan receipt capture, categorization, integrations (QuickBooks, NetSuite), travel booking, and invoicing, but contains no mention of mileage tracking, map-based distance calculation, or per-diem rate claims. This is a fair axis for an expense management product like Expensify, but no supporting evidence exists in the pack. Missing for 10: any documentation or community mention of mileage/distance logging or per-diem rate automation.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "multi-entity-currency",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence describes multi-entity account structures, per-entity books, or consolidated multi-entity reporting; only generic multi-currency invoicing and single ERP connections (QuickBooks/NetSuite) are mentioned, which is not the same as multi-entity consolidation.",
    "evidenceIds": [
      "expensify-docs-9",
      "expensify-docs-13",
      "expensify-docs-14"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Evidence confirms Expensify has an API with OAuth2 credential/token flow for acting on behalf of users, but there is no documentation or claim that the API exposes the full breadth of UI capabilities (workspace configuration, travel booking, invoicing, card limits, SmartScan review, etc.) — the probe also shows a broken docs endpoint. missing for 10: evidence of API endpoints covering workspace/rule configuration, travel, invoicing, card management, and any independent confirmation of full UI/API parity.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-probe-1"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "openness-full-export",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of a bulk/open-format data export or account-portability feature; Expensify offers accounting-system connections (QuickBooks, NetSuite) and an API requiring OAuth credentials, but nothing about exporting all user data in open formats for departure from the platform.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "While a public GitHub repo (Expensify/App) with build instructions exists, none of the evidence specifies any open-source license or terms governing that code, so we cannot confirm the source is available under an open license. missing for 10: explicit license file/terms, confirmation of open-source licensing, any documentation asserting open licensing.",
    "evidenceIds": [
      "expensify-gh-1"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "openness-self-host",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Expensify is a hosted SaaS product; while its App repo is open source on GitHub, there is no evidence of a self-hostable backend/server deployment for the core expense-management product—only a client app install step (npm install) is shown, not a full self-host path.",
    "evidenceIds": [
      "expensify-gh-1"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack addresses data residency, regional storage options, or any data-location controls for Expensify; all citations concern API auth, product features, integrations, or general community complaints unrelated to data residency.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any AI-training opt-out, data-use control, or privacy settings related to AI model training; in fact community evidence shows receipt data was historically routed to third-party human contractors (MTurk) without confidentiality protections, suggesting weak data-handling controls generally.",
    "evidenceIds": [
      "expensify-comm-2",
      "expensify-comm-3",
      "expensify-comm-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence in the pack of any user-facing controls to set data retention periods or delete data/AI interaction history; only community reports raise privacy concerns around SmartScan's use of contractor-based data extraction, which is unrelated to retention/deletion controls.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any telemetry opt-out or AI usage-tracking control; evidence pack covers unrelated features (API, integrations, expense management) and community complaints about accuracy/billing, none addressing privacy/telemetry controls for AI-native usage.",
    "evidenceIds": []
  },
  {
    "productId": "expensify",
    "storyId": "programmatic-card-issuance",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows a general Expensify API exists for expense/report operations with OAuth2 credentials, and mentions Smart Limits on cards as a product feature, but there is no documentation of API endpoints for programmatically creating, locking, or updating card controls/limits. missing for 10: card-issuing API endpoints, card lock/unlock API calls, programmatic control update examples, any developer reference for card management via API.",
    "evidenceIds": [
      "expensify-docs-1",
      "expensify-docs-2",
      "expensify-docs-10"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "realtime-spend-visibility",
    "verdict": "disputed",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Expensify claims real-time capture via SmartScan (data extracted 'in realtime, no batch processing') and offers categorization/workspaces, which would support real-time spend visibility by merchant and category, but independent user reports directly contradict the categorization accuracy claim — one reports ~70% miscategorization and use of outsourced human labor (MTurk) rather than reliable automated categorization, undermining the 'by category' promise. Missing for 10: evidence of a real-time company-wide spend dashboard broken down by team/department, and any rebuttal or fix to the categorization accuracy complaints.",
    "evidenceIds": [
      "expensify-docs-18",
      "expensify-docs-6",
      "expensify-comm-1",
      "expensify-comm-4",
      "expensify-comm-2"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "receipt-capture-ocr",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Expensify's SmartScan is documented to OCR receipts in real time (merchant, date, total, currency) via camera capture, but hands-on community reports contradict the polish of this claim: users report categorization is wrong ~70% of the time unless obvious, that scans took ~20 minutes to process, and that outsourced (MTurk) human review was used behind the scenes with data accuracy not guaranteed. There is also no evidence in the pack for the 'forward an email' capture path. missing for 10: evidence of email-forward receipt capture, independent verification of categorization/filing accuracy against transactions, resolution of the community-reported OCR/categorization failures.",
    "evidenceIds": [
      "expensify-docs-6",
      "expensify-docs-18",
      "expensify-comm-1",
      "expensify-comm-4",
      "expensify-comm-5"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "travel-booking-policy",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Expensify Travel offers in-platform booking of flights, hotels, cars, and rail, positioned to avoid a 'pile of receipts,' but the evidence doesn't confirm that travel policy is enforced/applied at the moment of booking (e.g., blocking out-of-policy fares) rather than after the fact. Missing for 10: explicit documentation of policy rules enforced at booking time, approval workflows integrated into the booking flow, and independent/hands-on confirmation of the travel booking experience.",
    "evidenceIds": [
      "expensify-docs-8",
      "expensify-docs-16"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "trip-expenses-autocollect",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Expensify documents travel booking (flights/hotels/cars/rail) alongside SmartScan receipt capture and BYOC card support, which together could populate a trip report, but there's no explicit documentation of itinerary-linked auto-consolidation tying bookings+card charges+receipts into one report. Community evidence directly contradicts the 'automatic, accurate' framing of SmartScan: users report ~70% miscategorization and that receipt data was processed by low-paid, unvetted Mechanical Turk workers who could see PII, undermining the 'collect themselves' promise. Missing for 10: explicit itinerary-report linking mechanism, and resolution of the accuracy/privacy contradiction in receipt processing.",
    "evidenceIds": [
      "expensify-docs-8",
      "expensify-docs-16",
      "expensify-docs-6",
      "expensify-docs-18",
      "expensify-docs-5",
      "expensify-comm-1",
      "expensify-comm-2",
      "expensify-comm-3",
      "expensify-comm-4"
    ]
  },
  {
    "productId": "expensify",
    "storyId": "vendor-virtual-cards",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Expensify Card with 'Smart Limits' and general spend management, but nothing about issuing single-vendor-locked virtual cards for SaaS/procurement use cases. Missing for 10: any documentation of virtual card issuance, vendor-locking/merchant-locking controls, or single-use card workflows for subscriptions.",
    "evidenceIds": [
      "expensify-docs-10",
      "expensify-docs-11"
    ]
  },
  {
    "productId": "navan",
    "storyId": "accounting-sync-mapping",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack contains no mention of QuickBooks, NetSuite, Xero, or any accounting-system sync, nor GL account/class/department mapping controls — it only covers Navan's API/MCP for expense querying, travel booking, and rewards. This is a plausible and expected axis for a T&E platform, but nothing in the evidence demonstrates it.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "agent-closes-the-books",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "The API exposes retrieval and update endpoints for card/Connect-card transactions and custom-field management (navan-docs-2, navan-docs-4, navan-docs-23), and MCP lets agents query uncoded/flagged transactions and policy violations in natural language (navan-docs-5, navan-docs-6, navan-docs-21, navan-docs-22). However, MCP is documented primarily as a query/analysis interface, not a write-back tool, and there is no explicit documentation of an agent proposing categorizations/policy flags and pushing clean coding back for human review as a workflow. Missing for 10: explicit MCP write/update support for coding transactions, a documented propose-then-review workflow, and independent confirmation of this end-to-end loop.",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-4",
      "navan-docs-5",
      "navan-docs-6",
      "navan-docs-21",
      "navan-docs-22",
      "navan-docs-23"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "A live llms.txt file is confirmed at developer.navan.com/llms.txt (HTTP 200) describing MCP-based agent access, and the developer portal has dedicated agent-oriented docs (/mcp/, /api/) with example natural-language queries. Missing for 10: independent third-party confirmation that agents successfully consume this llms.txt in practice.",
    "evidenceIds": [
      "navan-probe-1",
      "navan-docs-1",
      "navan-docs-3",
      "navan-probe-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Navan's Ava AI and MCP integration provide AI-generated insights such as analyzing travel/spend data, summarizing by category, comparing to policy, predicting future spend, and flagging policy violations, all directly from Navan data. missing for 10: independent/hands-on verification of insight quality beyond vendor blog and docs, and details on how proactive/unprompted these suggestions are versus query-driven.",
    "evidenceIds": [
      "navan-docs-17",
      "navan-docs-18",
      "navan-docs-19",
      "navan-docs-20",
      "navan-docs-21",
      "navan-docs-22",
      "navan-docs-5",
      "navan-docs-6"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-autonomous-automation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Navan's AI features (MCP, Ava) are query/chat-based tools that answer questions or analyze spend on request, and Navan Edge explicitly states it 'will always ask for your explicit confirmation before booking, changing, or canceling any trip,' which is the opposite of autonomous background automation. No workflow, trigger, or scheduling mechanism for unattended background automations is documented anywhere in the pack.",
    "evidenceIds": [
      "navan-docs-16",
      "navan-docs-26",
      "navan-docs-3",
      "navan-docs-21",
      "navan-docs-25"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-builtin-assistant",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Navan documents built-in AI assistants (Ava for analyzing/summarizing/predicting travel spend, and Navan Edge for booking/changing/canceling trips with confirmation) that users can delegate expense and travel tasks to. Missing for 10: independent/hands-on verification of these assistants in action and detail on broader task types beyond travel/expense.",
    "evidenceIds": [
      "navan-docs-17",
      "navan-docs-18",
      "navan-docs-19",
      "navan-docs-20",
      "navan-docs-14",
      "navan-docs-16",
      "navan-docs-15"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Navan's API documents an OAuth 2.0 client-credentials flow (machine-to-machine auth with no interactive login), which is the kind of mechanism needed to call Navan programmatically from a CI/automation pipeline, and its REST/webhook endpoints could be scripted headlessly. However, there is no explicit CI documentation, CLI, or example of running Navan (or its MCP server) unattended in a pipeline — missing for 10: explicit CI/automation guide, headless MCP server deployment instructions, and any hands-on evidence of it being run in CI.",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-4",
      "navan-docs-23"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "All evidence describes Navan exposing its own MCP server so external AI assistants (Claude, Cursor, ChatGPT) can query Navan's travel/expense data — this is Navan acting as the MCP server/provider, not as a client consuming external MCP servers' tools. There is no evidence Navan (or its Ava assistant) can plug in and use tools from third-party MCP servers. Missing for 10: any documentation of Navan's AI features connecting to external MCP servers, any tool/plugin ecosystem for consuming outside MCP tools, and any hands-on confirmation of such client-side behavior.",
    "evidenceIds": [
      "navan-docs-1",
      "navan-docs-3",
      "navan-probe-1",
      "navan-probe-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Navan publishes an official MCP server (developer.navan.com/mcp/) explicitly for connecting AI assistants like Claude, Cursor, ChatGPT to Navan spend/travel data, with documented natural-language query examples and OAuth-secured API endpoints backing it. Missing for 10: independent/hands-on third-party corroboration of the MCP server working in practice beyond vendor docs.",
    "evidenceIds": [
      "navan-docs-1",
      "navan-docs-3",
      "navan-probe-1",
      "navan-probe-2",
      "navan-docs-5",
      "navan-docs-6"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-nl-commands",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Navan's MCP server and Ava assistant let users query spend, travel, policy, and card data with natural-language commands (e.g. flagged expenses, rideshare policy violations), and Navan Edge/Ava support conversational trip booking with confirmation steps. missing for 10: independent/hands-on verification of natural-language accuracy and breadth beyond vendor docs, and no evidence of NL commands for arbitrary in-app actions beyond travel/expense domains.",
    "evidenceIds": [
      "navan-docs-1",
      "navan-docs-3",
      "navan-docs-5",
      "navan-docs-6",
      "navan-docs-21",
      "navan-docs-22",
      "navan-docs-17",
      "navan-docs-16",
      "navan-probe-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is \"none\", never \"na\". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Navan provides a documented public API (developer.navan.com) with OAuth 2.0 client-credentials auth, retrieval/update endpoints across expense, card, payroll, custom fields, and webhooks, plus a first-party MCP server for natural-language AI access — corroborated by a live llms.txt probe. Missing for 10: independent third-party developer accounts of building against the API and clearer rate-limit/versioning documentation.",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-4",
      "navan-docs-23",
      "navan-probe-1",
      "navan-probe-2",
      "navan-docs-1"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-scoped-keys",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Navan's developer docs mention an OAuth 2.0 client-credentials flow for API access (navan-docs-2), which implies some credential-based authentication, but there is no explicit documentation of scoped permissions, granular access levels, or least-privilege controls specifically for AI agents connecting via MCP or API. missing for 10: explicit scope/permission definitions, least-privilege role configuration, agent-specific credential restrictions, and any documentation or independent verification of access-control granularity.",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-1",
      "navan-probe-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-sdks",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Navan documents an official REST API (OAuth2 client-credentials, expense/card/travel endpoints, webhooks) and an MCP server for AI assistants, which developers can build against, but there is no evidence of language-specific official SDKs (e.g., Python/JS client libraries) — only raw API/MCP documentation. missing for 10: explicit SDK packages/libraries, code samples in multiple languages, independent developer corroboration of SDK usage.",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-4",
      "navan-docs-23",
      "navan-probe-1",
      "navan-probe-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Webhooks are mentioned only once in passing as part of the API surface (navan-docs-2), with no documentation of subscription mechanics, event types, payload formats, or delivery guarantees; nothing shows an AI-native user can actually subscribe to events via webhooks.",
    "evidenceIds": [
      "navan-docs-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "ai-expense-coding",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Navan's MCP/API and Ava AI assistant let AI query flagged expenses, analyze spend, and check policy violations (navan-docs-5, navan-docs-6, navan-docs-22), plus native receipt scanning (navan-docs-24) — covering audit/flagging aspects. However there's no explicit evidence of AI auto-suggesting categories/memos or specifically detecting duplicate/fraudulent transactions. Missing for 10: automated category/memo suggestion, explicit duplicate-detection or fraud-catching functionality, and independent verification of these AI audit claims.",
    "evidenceIds": [
      "navan-docs-5",
      "navan-docs-6",
      "navan-docs-22",
      "navan-docs-24",
      "navan-docs-21",
      "navan-probe-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "ai-policy-copilot",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "The Navan MCP explicitly supports conversational policy Q&A — asking about policy, approval flows, and why a transaction was flagged/declined (navan-docs-22, navan-docs-6) — and Ava can compare travel spend to policy after the fact (navan-docs-19). However there is no evidence of proactive 'chasing missing receipts' workflows or a pre-spend 'can I expense this?' check before the transaction occurs; the examples shown are retrospective queries on past transactions/spend. Missing for 10: proactive missing-receipt nudges/reminders, and evidence of a pre-purchase 'is this expensable' conversational check.",
    "evidenceIds": [
      "navan-docs-22",
      "navan-docs-6",
      "navan-docs-19",
      "navan-docs-5",
      "navan-docs-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows a developer portal describing API endpoints (OAuth, expense/card endpoints, webhooks) and an MCP server for natural-language queries, but nothing indicates an interactive API reference with runnable/try-it-now code examples (e.g., Swagger/OpenAPI explorer or live sandbox).",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-4",
      "navan-docs-23"
    ]
  },
  {
    "productId": "navan",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Navan's developer docs describe REST API endpoints, OAuth 2.0 flows, and an MCP server, but no evidence pack item mentions a downloadable OpenAPI/Swagger spec or any machine-readable API definition file. missing for 10: explicit OpenAPI/Swagger spec file, API reference generated from a spec, or a documented download link.",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-4",
      "navan-docs-23"
    ]
  },
  {
    "productId": "navan",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence pack item mentions a sandbox, staging, or test environment for Navan's API, MCP server, or app; all endpoints and integrations described operate on live/production expense, travel, and card data. Missing for 10: any mention of a sandbox/test mode, staging API keys, or demo data environment separate from production.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack documents Navan's API/MCP endpoints and OAuth flow but contains no mention of API versioning scheme or a documented deprecation policy for consumers to rely on.",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-4",
      "navan-docs-23"
    ]
  },
  {
    "productId": "navan",
    "storyId": "approval-workflows",
    "verdict": "partial",
    "quality": 2,
    "confidence": "low",
    "rationale": "Navan mentions 'Unlimited policy and approval workflows' as a pricing feature and MCP queries reference 'who needs to approve' a transaction, confirming approval workflows exist, but there is no evidence describing configurable multi-step chains (manager → budget owner → finance), delegation, or escalation logic when approvers sit idle. missing for 10: documentation of multi-step approval chain configuration, delegation rules, escalation timers/triggers, and named approver roles.",
    "evidenceIds": [
      "navan-docs-25",
      "navan-docs-22"
    ]
  },
  {
    "productId": "navan",
    "storyId": "auto-receipt-matching",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Evidence only mentions generic 'receipt scanning for on-the-go expenses' and receipts as an API surface, but nothing describes automatic matching of receipts to card transactions, e-receipt pull from integrations, or smart nudging only when genuinely missing.",
    "evidenceIds": [
      "navan-docs-24",
      "navan-docs-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "The API docs mention batch-managing custom field option values and polling async job status, implying some bulk-processing capability, but there is no evidence of general bulk operations (e.g., bulk-approving multiple expenses, bulk-updating many transactions) across the platform for an AI-native user. missing for 10: evidence of bulk approve/reject workflows, bulk transaction updates via MCP, and independent confirmation that bulk API calls work at scale.",
    "evidenceIds": [
      "navan-docs-23",
      "navan-docs-4",
      "navan-docs-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Navan documents configurable 'policy and approval workflows' and webhook endpoints, which imply some rule-based triggering of actions (e.g., flags, approvals) on expense events, but there is no explicit documentation of a user-facing rule/automation builder for defining custom event-triggered actions. Missing for 10: dedicated automation/rules engine documentation, examples of custom trigger-action definitions, and independent verification of automation depth beyond basic policy enforcement.",
    "evidenceIds": [
      "navan-docs-25",
      "navan-docs-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Navan's evidence covers MCP-based querying, expense/travel management, webhooks, and async job polling, but there is no mention of scheduling recurring jobs, cron-like automation, or persistent workflow triggers for AI-native users. Absence of evidence for this applicable automation-depth capability yields none.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any versioning, review, or rollback mechanism for automations/workflows in Navan or its MCP/API offerings; the pack covers expense/travel management, MCP querying, and API endpoints but nothing about automation version control or rollback.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "bill-pay-ap",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence covers Navan's travel and expense management (card transactions, reimbursements, receipts, policy approvals) but contains no mention of invoice capture, vendor bill management, or paying vendors via ACH, check, or wire — the core AP capabilities the story requires.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "budgets-enforcement",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Navan documents general 'unlimited policy and approval workflows' and card management/policy-limit features, and MCP queries can surface policy violations and approval status, implying some enforcement infrastructure exists. However, there is no direct evidence of budget allocation to specific teams/projects or of card limits being tied to those budgets and automatically enforced. Missing for 10: explicit budget-allocation-to-team/project feature docs, evidence that card limits are dynamically tied to allocated budgets, and any hands-on confirmation that approvals actually block over-budget spend.",
    "evidenceIds": [
      "navan-docs-25",
      "navan-docs-7",
      "navan-docs-22",
      "navan-docs-5"
    ]
  },
  {
    "productId": "navan",
    "storyId": "card-policy-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows general card management (active/inactive status), policy workflows, and MCP queries about flagged/violating transactions, but nothing documents configurable restrictions by category, merchant, or amount, nor automatic point-of-sale locking/declining of out-of-policy spend. missing for 10: explicit documentation of category/merchant/amount-based card controls, missing for 10: evidence of real-time auto-lock or point-of-sale decline enforcement.",
    "evidenceIds": [
      "navan-docs-7",
      "navan-docs-9",
      "navan-docs-25",
      "navan-docs-22"
    ]
  },
  {
    "productId": "navan",
    "storyId": "continuous-close-coding",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Navan's card-transaction API, receipt scanning, custom-field management, and policy-violation flagging (navan-docs-4, -21, -22, -23, -24) show spend arriving already tagged by merchant/category/policy status, and MCP queries let a finance lead pull flagged/over-limit items by department in natural language (navan-docs-5, -21) instead of manually reconciling. Missing for 10: explicit evidence of automatic memo generation and confirmation that coding happens in real time at swipe rather than batch/after-the-fact, plus independent (non-vendor) validation of close-time accuracy.",
    "evidenceIds": [
      "navan-docs-4",
      "navan-docs-21",
      "navan-docs-22",
      "navan-docs-23",
      "navan-docs-24",
      "navan-docs-5",
      "navan-docs-7"
    ]
  },
  {
    "productId": "navan",
    "storyId": "expense-audit-trail",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Navan documents policy/approval workflows and the ability to query why a transaction was flagged or who must approve it, which implies some traceability, but there is no explicit documentation of an immutable audit log, edit history, or audit-survivability guarantees. Missing for 10: explicit audit-trail/version-history documentation, evidence of edit logging, and any mention of external-audit compliance or SOC/ISO controls.",
    "evidenceIds": [
      "navan-docs-22",
      "navan-docs-25",
      "navan-docs-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "expense-policy-engine",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Navan advertises \"unlimited policy and approval workflows\" and its MCP/AI layer can explain which policy applies, why a transaction was flagged, and who must approve it, implying a rules engine with per-transaction policy limits (e.g., rideshare, hotel price caps). However, the evidence never explicitly describes configuring limits by category/role/context or confirms that in-policy spend auto-approves while only exceptions route to a human. Missing for 10: explicit documentation of policy-builder granularity (category/role/context), explicit auto-approval behavior for in-policy expenses, and independent/hands-on confirmation of the approval-routing logic.",
    "evidenceIds": [
      "navan-docs-25",
      "navan-docs-22",
      "navan-docs-6",
      "navan-docs-12",
      "navan-docs-27"
    ]
  },
  {
    "productId": "navan",
    "storyId": "expenses-api-read",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Navan's developer portal documents a REST API with OAuth 2.0 client-credentials flow, and endpoints covering transactions, expenses, receipts, custom fields, and webhooks. Missing for 10: explicit mention of scoped/permissioned tokens (vs just client-credentials) and independent third-party corroboration of the API's documented behavior beyond vendor docs.",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-4",
      "navan-docs-23",
      "navan-docs-24"
    ]
  },
  {
    "productId": "navan",
    "storyId": "fast-reimbursements",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Navan pricing page mentions it can 'manage expenses and issue reimbursements' and includes receipt scanning, but there is no evidence describing direct-deposit payout, a specific reimbursement timeline (days), or end-to-end tracking from submission to payout. missing for 10: direct deposit mechanism, reimbursement speed/SLA, submission-to-payout tracking/status visibility.",
    "evidenceIds": [
      "navan-docs-8",
      "navan-docs-24",
      "navan-docs-25"
    ]
  },
  {
    "productId": "navan",
    "storyId": "global-reimbursements",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Evidence only shows generic reimbursement management (docs-8) with no mention of local-currency payouts, multi-currency support, or eliminating a separate international payment process for reimbursing employees abroad.",
    "evidenceIds": [
      "navan-docs-8"
    ]
  },
  {
    "productId": "navan",
    "storyId": "issue-cards-limits",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence only shows querying/viewing existing card status via MCP (navan-docs-7) and connecting existing cards (navan-docs-9), but nothing about issuing new physical or virtual cards, setting per-card spend limits, or speed of issuance ('minutes'). Missing for 10: any documentation of card issuance workflow, virtual card creation, spend-limit configuration, or time-to-issue claims.",
    "evidenceIds": [
      "navan-docs-7",
      "navan-docs-9"
    ]
  },
  {
    "productId": "navan",
    "storyId": "mileage-per-diem",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Evidence covers Navan's MCP/API integrations, travel booking rewards, and generic 'receipt scanning' and 'manage expenses' pricing bullets, but nothing describes mileage tracking, map-based distance calculation, or automated per-diem rate application. Missing for 10: mileage logging with GPS/map distance capture, per-diem rate lookup/auto-application, any auto-build-expense-from-mileage workflow.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "multi-entity-currency",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence pack covers Navan's MCP/API for expense and travel data, card management, and pricing/rewards, but contains no mention of multi-entity or multi-currency account structures, consolidated reporting, or per-entity books — core requirements for finance-lead accounting-close workflows.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Navan's API/MCP covers expense retrieval/update, transactions, custom fields, receipts, webhooks, and read-style spend/policy queries, but there is no evidence of API parity for travel booking, rewards, or other core UI workflows (e.g., booking trips, managing 'price to beat', Navan Edge concierge features) — those remain UI/chat-only per docs. missing for 10: API endpoints for travel booking/itinerary management, evidence of full UI-to-API parity beyond expense/finance domain, independent confirmation of completeness.",
    "evidenceIds": [
      "navan-docs-2",
      "navan-docs-4",
      "navan-docs-23",
      "navan-docs-10",
      "navan-docs-14",
      "navan-probe-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "openness-full-export",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows API/MCP access for querying and updating expense/travel data, but nothing about bulk data export in open/portable formats or any documented account-closure/data-portability process for leaving the platform. Missing for 10: bulk export functionality, open-format data dumps, documented data portability/exit process.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "openness-open-license",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Navan is a closed-source SaaS travel/expense platform; open-sourcing its source code is not a fair expectation for this product category, and no evidence pack item discusses source licensing.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Navan is a SaaS travel/expense management product with no self-hosted deployment option; self-hosting the core product is a category error for this type of cloud SaaS offering.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence anywhere in the pack about data residency, region selection, or data storage location controls for Navan's data or its AI/MCP features; the pack only covers MCP capabilities, API endpoints, pricing features, and travel booking experience.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses AI training data usage, opt-out controls, or data privacy policy regarding model training; all evidence covers MCP integrations, expense/travel features, and unrelated community complaints. Missing for 10: any explicit statement on AI/model training data usage, opt-out settings, or data retention/privacy commitments.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack addresses data retention policies, deletion controls, or user/admin ability to manage how long AI/assistant data is stored or how to delete it — the pack covers MCP querying, API surfaces, pricing features, and travel booking, but nothing on retention/deletion controls.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack addresses telemetry/usage-tracking opt-out settings for Navan or its AI/MCP features; all evidence covers MCP data access, expense/travel features, and pricing.",
    "evidenceIds": []
  },
  {
    "productId": "navan",
    "storyId": "programmatic-card-issuance",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The API docs mention retrieving/updating card transactions and MCP tools let you view card status (active/inactive, count), but there is no evidence of creating a new card, setting a spending limit, locking a card, or updating card controls programmatically via the public API — missing for 10: card creation endpoint, limit-setting endpoint, lock/freeze endpoint, control-update endpoint documentation.",
    "evidenceIds": [
      "navan-docs-4",
      "navan-docs-7",
      "navan-docs-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "realtime-spend-visibility",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Navan's docs show spend can be queried by department, vendor/merchant, and category via MCP/API, and card transactions (including Navan-issued cards) are retrievable directly rather than waiting for statements, supporting near real-time visibility for founders. Missing for 10: explicit same-day latency claims for card feeds, a dedicated real-time dashboard description, and independent/hands-on corroboration of update speed.",
    "evidenceIds": [
      "navan-docs-4",
      "navan-docs-21",
      "navan-docs-5",
      "navan-docs-22",
      "navan-docs-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "receipt-capture-ocr",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Docs mention 'Receipt scanning for on-the-go expenses' as a pricing-page feature bullet and API docs mention a 'receipts' surface, implying photo capture and filing against transactions, but there's no detail on OCR accuracy, email-forwarding capture, or automatic matching logic. Missing for 10: technical documentation of the OCR/email-forwarding pipeline, evidence of automatic transaction matching, and independent/hands-on confirmation of accuracy.",
    "evidenceIds": [
      "navan-docs-24",
      "navan-docs-2"
    ]
  },
  {
    "productId": "navan",
    "storyId": "travel-booking-policy",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Navan's core booking product shows in-platform flight/hotel booking with policy limits enforced at search time ('price to beat' under policy, docs-12/27), self-serve booking with 24/7 support (docs-11), human travel agents that must confirm before booking (docs-14-16), and unlimited configurable policy/approval workflows applied to travel (docs-25) plus connected corporate cards for direct billing (docs-9) rather than post-hoc expensing. Missing for 10: independent/hands-on confirmation that out-of-policy bookings are actually blocked or flagged in real time (only vendor marketing/docs cited), and no detail on how policy violations are handled during the booking flow itself.",
    "evidenceIds": [
      "navan-docs-10",
      "navan-docs-11",
      "navan-docs-12",
      "navan-docs-14",
      "navan-docs-16",
      "navan-docs-25",
      "navan-docs-9",
      "navan-docs-27"
    ]
  },
  {
    "productId": "navan",
    "storyId": "trip-expenses-autocollect",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Navan's own docs describe unified handling of card transactions, manual expenses, receipts, and reimbursements within a single platform/API (navan-docs-4, navan-docs-8, navan-docs-9, navan-docs-24), implying expenses converge into one system, but no evidence explicitly confirms automatic itinerary-linked report assembly from bookings+cards+receipts without manual reconciliation steps.  Missing for 10: explicit documentation of automatic itinerary-to-expense-report linkage, and independent/hands-on confirmation that receipts and card charges auto-match to trip itineraries without manual effort.",
    "evidenceIds": [
      "navan-docs-4",
      "navan-docs-8",
      "navan-docs-9",
      "navan-docs-24",
      "navan-docs-25"
    ]
  },
  {
    "productId": "navan",
    "storyId": "vendor-virtual-cards",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers Navan's MCP/API integrations, travel booking, rewards, and pricing highlights, but contains no mention of virtual card creation, single-vendor card controls, or SaaS/procurement card issuance. Card-related evidence only covers connecting existing corporate cards and viewing/managing card transaction data, not creating new single-vendor virtual cards.",
    "evidenceIds": [
      "navan-docs-7",
      "navan-docs-9",
      "navan-docs-4"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "accounting-sync-mapping",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Ramp documents native QuickBooks, NetSuite, and Xero integrations with transaction sync, GL account coding, and reconciliation/matching tools (ramp-docs-25, ramp-docs-26, ramp-docs-27, ramp-docs-28, ramp-docs-32), plus multi-entity sync (ramp-docs-24). However, none of the evidence explicitly describes finance-lead control over class or department dimension mappings, only general GL account coding and reconciliation. Missing for 10: explicit documentation of class/department mapping configuration and user control over those field mappings during sync.",
    "evidenceIds": [
      "ramp-docs-24",
      "ramp-docs-25",
      "ramp-docs-26",
      "ramp-docs-27",
      "ramp-docs-28",
      "ramp-docs-32"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agent-closes-the-books",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Ramp offers both API (Transactions API, OAuth) and MCP access, and MCP examples show pulling uncoded transactions (missing receipts/memos) and drafting messages, plus AI auto-coding of transactions to GL accounts. However, there's no explicit documented workflow showing an agent proposing categorizations/policy flags and pushing 'clean coding back for review' via MCP/API as a distinct human-review step. missing for 10: explicit end-to-end example of agent proposing coding+policy flags and submitting for human review via MCP/API, independent/hands-on confirmation of this workflow.",
    "evidenceIds": [
      "ramp-docs-1",
      "ramp-docs-5",
      "ramp-docs-21",
      "ramp-docs-29",
      "ramp-docs-32",
      "ramp-probe-2"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Ramp hosts a live, HTTP-200 llms.txt index (ramp-probe-1) plus a full suite of llms-guides/*.txt agent-oriented docs covering getting started, auth, webhooks, CLI, and MCP for AI agents (ramp-docs-1 through ramp-docs-6), directly matching the story of pointing an agent at machine-readable docs. Missing for 10: independent third-party confirmation that agents actually consume/parse this index successfully in practice.",
    "evidenceIds": [
      "ramp-probe-1",
      "ramp-docs-1",
      "ramp-docs-5",
      "ramp-docs-6"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Ramp Intelligence and related features surface AI-generated recommendations (recommended actions on spend requests, auto-coding of expenses, fraud flagging, contract parsing) directly inside the product, and Ramp MCP lets users query data and get AI-driven suggestions like drafting reminders for missing receipts. missing for 10: independent/hands-on validation of insight quality and a fuller first-party doc detailing the breadth of proactive insights beyond the marketing snippets and MCP examples.",
    "evidenceIds": [
      "ramp-docs-10",
      "ramp-docs-21",
      "ramp-docs-22",
      "ramp-docs-29",
      "ramp-docs-32",
      "ramp-probe-2"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Ramp offers webhooks, an API, MCP server, and CLI that agents can use to take actions like locking cards or drafting reminders, which supports agentic workflows, but these are largely triggered interactions rather than documented autonomous/scheduled background automations that run without a prompting event. Rules-based workflows (e.g., procurement routing, policy enforcement) run automatically but are conditional business rules, not general-purpose autonomous agent automations. missing for 10: explicit support for scheduled/recurring autonomous agent runs, evidence of persistent background agent execution without user-initiated trigger, and independent confirmation of such autonomous operation.",
    "evidenceIds": [
      "ramp-docs-3",
      "ramp-docs-5",
      "ramp-docs-6",
      "ramp-docs-29",
      "ramp-docs-30",
      "ramp-docs-23",
      "ramp-probe-2",
      "ramp-probe-3"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-builtin-assistant",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Ramp offers agentic automation ('infinite teammates' handling fraud flagging, coding, policy enforcement) and lets users delegate tasks via natural language through its MCP integration (e.g., 'Find transactions with missing receipts...', 'Lock my card'), but these delegated-task examples run through external AI assistants (ChatGPT, Claude) connected via MCP rather than a native, built-in conversational assistant inside the Ramp product itself. Missing for 10: evidence of an in-app chat/assistant UI natively embedded in Ramp (not via MCP to third-party LLMs), and independent confirmation of task delegation working end-to-end within the product.",
    "evidenceIds": [
      "ramp-docs-5",
      "ramp-docs-6",
      "ramp-docs-21",
      "ramp-docs-29",
      "ramp-docs-30",
      "ramp-probe-2"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Ramp exposes a public API (OAuth token auth) and an official CLI that can be scripted 'from your terminal or AI agent' (ramp-docs-1, ramp-docs-2, ramp-docs-4, ramp-probe-3), which supports headless/automated use, and webhooks enable event-driven automation (ramp-docs-3). However, there is no explicit documentation of running Ramp in a CI pipeline, no CI/CD examples, and no mention of non-interactive auth flows suited for CI (e.g., service accounts) — missing for 10: explicit CI/CD usage examples, headless auth flow documentation for automated pipelines, independent confirmation of CLI use in CI.",
    "evidenceIds": [
      "ramp-docs-1",
      "ramp-docs-2",
      "ramp-docs-4",
      "ramp-docs-3",
      "ramp-probe-3"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-mcp-client",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Ramp's MCP integration is one-directional: it exposes itself as an MCP server so external AI assistants (ChatGPT, Claude, agents) can call Ramp's tools, not a mechanism for users to plug arbitrary external MCP servers into Ramp so Ramp can consume their tools. As a fintech/expense platform (not an agent or IDE), acting as an MCP client host is outside its product category.",
    "evidenceIds": [
      "ramp-docs-5",
      "ramp-docs-6",
      "ramp-probe-2"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Ramp documents an official MCP server ('Ramp MCP') letting users connect AI assistants like ChatGPT and Claude to query data and take actions, with a dedicated support article and docs page confirming it exists and works (e.g., locking a card, finding missing receipts). This is corroborated by both first-party docs and a support-article walkthrough with concrete example prompts. Missing for 10: independent third-party (non-Ramp) hands-on review of the MCP server's reliability.",
    "evidenceIds": [
      "ramp-docs-5",
      "ramp-docs-6",
      "ramp-docs-29",
      "ramp-docs-30",
      "ramp-probe-2"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-nl-commands",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Ramp ships an official MCP server and CLI explicitly designed for natural-language operation (\"query Ramp data and take actions with natural language\"), with documented examples like locking a card or drafting reminder messages via plain-English commands, plus a CLI usable directly by AI agents. Missing for 10: independent/hands-on validation beyond vendor docs and no broad third-party confirmation of reliability across all agentic actions.",
    "evidenceIds": [
      "ramp-docs-5",
      "ramp-docs-6",
      "ramp-docs-29",
      "ramp-docs-30",
      "ramp-docs-4",
      "ramp-probe-2",
      "ramp-probe-3"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-official-cli",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Ramp documents an official CLI (docs.ramp.com/llms-guides/cli.txt and github.com/ramp-public/ramp-cli) explicitly designed for AI-native use, allowing OAuth authentication, expense management, bill approval, and travel booking 'from your terminal or AI agent,' and positions it alongside MCP for agentic workflows. Missing for 10: independent/hands-on verification of CLI usage and more detail on command coverage/maturity beyond first-party docs.",
    "evidenceIds": [
      "ramp-docs-4",
      "ramp-docs-6",
      "ramp-probe-3"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Ramp documents a public REST API (Transactions, OAuth 2.0 authorization, webhooks) with a machine-readable llms.txt index, plus a CLI and MCP server explicitly built for driving Ramp actions programmatically or via AI agents. This covers documented public API access comprehensively across auth, data retrieval, and actions. Missing for 10: independent third-party developer reports/hands-on confirmation of API robustness beyond Ramp's own docs.",
    "evidenceIds": [
      "ramp-docs-1",
      "ramp-docs-2",
      "ramp-docs-3",
      "ramp-docs-4",
      "ramp-docs-5",
      "ramp-docs-6",
      "ramp-probe-1",
      "ramp-probe-2",
      "ramp-probe-3"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-scoped-keys",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp's OAuth 2.0 implementation provides granular scoped permissions for API access (ramp-docs-2), and dedicated Agent Cards plus MCP/CLI docs show explicit support for issuing scoped credentials/action authority to AI agents specifically (ramp-docs-6, ramp-docs-7, ramp-docs-5). This directly matches the least-privilege-for-agents story. Missing for 10: independent/hands-on verification of scope granularity in practice and explicit documentation of per-agent credential revocation/audit trails.",
    "evidenceIds": [
      "ramp-docs-2",
      "ramp-docs-6",
      "ramp-docs-7",
      "ramp-docs-5",
      "ramp-probe-2"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Ramp offers a REST API, OAuth, webhooks, a CLI, and an MCP server, but nowhere mentions official client SDKs (e.g., Python, JS, Go libraries) for building against Ramp's API. Missing for 10: any documentation of official SDKs/client libraries in specific languages, package registry listings, or SDK-specific quickstart guides.",
    "evidenceIds": [
      "ramp-docs-1",
      "ramp-docs-2",
      "ramp-probe-1",
      "ramp-probe-3"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "agentic-webhooks",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp docs explicitly describe webhooks for real-time event notifications from a Ramp account, directly matching the story. Missing for 10: no details on event types/payload schema, delivery guarantees, or independent/hands-on verification of webhook reliability.",
    "evidenceIds": [
      "ramp-docs-3"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "ai-expense-coding",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp's docs show automatic receipt capture with AI-filled memos/categories (ramp-docs-8, ramp-docs-32), OCR line-item accuracy (ramp-docs-16), fraud flagging and expense coding via 'infinite teammates' AI (ramp-docs-21), duplicate/missing-item detection via MCP prompts (ramp-docs-29), and policy/match-based auditing (ramp-docs-17, ramp-docs-25, ramp-docs-9). This covers reading receipts, categorization/memo suggestion, and fraud/duplicate catching across first-party marketing and support docs. Missing for 10: independent/hands-on verification of accuracy claims and explicit named 'duplicate detection' feature documentation beyond marketing copy.",
    "evidenceIds": [
      "ramp-docs-8",
      "ramp-docs-16",
      "ramp-docs-17",
      "ramp-docs-21",
      "ramp-docs-29",
      "ramp-docs-32",
      "ramp-docs-9"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "ai-policy-copilot",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Ramp's MCP/AI assistant explicitly chases missing receipts with drafted reminders (ramp-docs-29, ramp-docs-13), and policy enforcement happens conversationally with recommended actions and pre-spend policy visibility (ramp-docs-9, ramp-docs-10, ramp-docs-18). This covers the core of the story, though 'explaining declines' and answering 'can I expense this?' pre-spend are only indirectly evidenced via policy-status/recommended-action features rather than a direct conversational decline-explanation example. Missing for 10: independent/hands-on confirmation of the assistant explaining a specific decline conversationally, and an explicit pre-spend Q&A example beyond travel-booking policy status.",
    "evidenceIds": [
      "ramp-docs-29",
      "ramp-docs-13",
      "ramp-docs-9",
      "ramp-docs-10",
      "ramp-docs-18",
      "ramp-docs-5",
      "ramp-probe-2"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Ramp has API docs, OAuth guides, webhooks, and a machine-readable llms.txt index, but nothing describes an interactive API reference with runnable/live code examples (e.g., a Swagger/Postman-style explorer). Missing for 10: any mention of an interactive console or runnable example feature in the docs.",
    "evidenceIds": [
      "ramp-docs-1",
      "ramp-docs-2",
      "ramp-probe-1"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "api-machine-spec",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Ramp exposes a machine-readable llms.txt index for its Developer API docs, which is AI-native friendly, but there's no evidence of an actual OpenAPI/Swagger spec file being published or downloadable. Missing for 10: an explicit OpenAPI/Swagger spec document, a documented download endpoint, or third-party confirmation that the API schema is available in a standard machine-readable spec format.",
    "evidenceIds": [
      "ramp-probe-1",
      "ramp-docs-1"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of a sandbox/test environment for Ramp's API, CLI, or MCP integrations; all docs reference live transactions, cards, and production data flows. Missing for 10: any mention of a sandbox/test mode, test API keys, or non-production environment for developers/AI agents.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Ramp has an API, OAuth, webhooks, CLI, and MCP server, but nothing in the pack documents API versioning practices or a formal deprecation policy. missing for 10: versioning scheme documentation, deprecation policy/notice process, changelog or migration guidance for breaking changes.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "approval-workflows",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Ramp's docs show rule-based approval routing to stakeholders based on vendor/category/amount and role-based notification workflows, plus policy-grounded recommended approve/reject actions, which supports building structured approval chains. However, there is no evidence of explicit multi-step manager→budget-owner→finance sequencing, delegation of approval authority, or escalation logic when an approver doesn't act. missing for 10: explicit delegation feature, escalation/timeout rules, and multi-tier approval chain configuration details.",
    "evidenceIds": [
      "ramp-docs-23",
      "ramp-docs-12",
      "ramp-docs-10"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "auto-receipt-matching",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Ramp documents automatic receipt capture and coding at swipe time, auto-approval when in policy, and reminders/nudges only for transactions with missing receipts or memos (ramp-docs-8, ramp-docs-13, ramp-docs-29, ramp-docs-32). However, there's no explicit evidence of e-receipts being pulled in from email/vendor integrations (e.g., Amazon, Lyft, Uber) as the story specifies. Missing for 10: documentation of e-receipt integrations sourcing receipts automatically, and independent/hands-on confirmation that nudges only trigger for genuinely missing receipts.",
    "evidenceIds": [
      "ramp-docs-8",
      "ramp-docs-13",
      "ramp-docs-29",
      "ramp-docs-32"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Ramp's API/MCP/CLI let users query and act on data programmatically (e.g., finding all transactions missing receipts across the last 14 days) and sync data to multiple entities in one step, suggesting some bulk-style automation. However, there is no explicit documentation of true bulk endpoints (e.g., batch update/create across many items) or bulk card issuance/approval workflows via API. Missing for 10: explicit bulk API endpoints, batch transaction/approval operations, and independent confirmation of bulk-scale automation.",
    "evidenceIds": [
      "ramp-docs-24",
      "ramp-docs-29",
      "ramp-docs-1",
      "ramp-docs-5",
      "ramp-docs-4"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "automation-rules-engine",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp supports webhooks for real-time event notifications, rules-based workflows that automatically route requests based on vendor/category/amount, spend limits and merchant blocking enforced pre-spend, automatic reminders/repayment requests, and auto-approval of in-policy transactions without manual filing — collectively demonstrating rule-driven automatic actions on events across its expense/procurement/card platform. Missing for 10: a documented general-purpose 'if-this-then-that' custom rule builder exposed to end users (vs. built-in policy categories) and independent/hands-on corroboration of these automation flows working as described.",
    "evidenceIds": [
      "ramp-docs-3",
      "ramp-docs-9",
      "ramp-docs-12",
      "ramp-docs-13",
      "ramp-docs-23",
      "ramp-docs-32"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Ramp's automation is event-driven (webhooks) or rules-based (route requests, reminders, auto-rebooking) rather than a documented recurring-job/scheduler capability that an AI agent could invoke via API, MCP, or CLI. No evidence of cron-like or interval-based scheduling for workflows.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Ramp's evidence covers automating expense/spend workflows, MCP/CLI/API access, and policy enforcement, but there is no mention of versioning automations/workflows, reviewing changes, or rolling back to prior configurations. Rules-based workflows (docs-23) and permissioning are described but no version history, diff/audit trail, or rollback mechanism is documented.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "bill-pay-ap",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Ramp's Bill Pay evidence shows invoice OCR capture (99% accuracy), 2/3-way matching, and rules-based approval routing (ramp-docs-16, ramp-docs-17, ramp-docs-23), plus 'complete it with Ramp payments' in NetSuite/Xero integrations (ramp-docs-27, ramp-docs-28) confirming payment execution within the platform. However, none of the evidence explicitly states support for ACH, check, or wire as distinct payment rails for vendor payments. Missing for 10: explicit documentation of ACH/check/wire payment method options, and independent/hands-on confirmation of the full AP workflow.",
    "evidenceIds": [
      "ramp-docs-16",
      "ramp-docs-17",
      "ramp-docs-23",
      "ramp-docs-27",
      "ramp-docs-28"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "budgets-enforcement",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp's documentation directly supports budget allocation to teams/projects with card controls that enforce them: custom virtual cards with per-team/vendor spend permissions (ramp-docs-11, ramp-docs-31), pre-spend enforcement of limits and blocked merchants/categories (ramp-docs-9), policy-grounded recommended approve/reject actions (ramp-docs-10), and role/amount-based notification workflows (ramp-docs-12). This covers allocation, limit enforcement, and approvals working together. Missing for 10: no independent/hands-on verification of enforcement accuracy, and no explicit 'budget' object/API distinct from card limits shown in evidence.",
    "evidenceIds": [
      "ramp-docs-9",
      "ramp-docs-10",
      "ramp-docs-11",
      "ramp-docs-12",
      "ramp-docs-31",
      "ramp-docs-7"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "card-policy-controls",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Docs explicitly describe issuing cards with attached controls, custom permissions per vendor/category/team, blocking risky merchants or categories before spend happens, and per-vendor spending limits on virtual cards — matching category/merchant/amount restriction and pre-spend enforcement. Missing for 10: independent/hands-on confirmation of real-time point-of-sale decline behavior and explicit 'auto-lock' mechanics beyond policy blocking language.",
    "evidenceIds": [
      "ramp-docs-7",
      "ramp-docs-9",
      "ramp-docs-11",
      "ramp-docs-31",
      "ramp-docs-32"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "continuous-close-coding",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp documents real-time receipt capture, auto-fill of merchant/category/memo at swipe, GL coding, and auto-approval within policy (ramp-docs-8, ramp-docs-32, ramp-docs-21), plus reconciliation/3-way matching tools for close (ramp-docs-25, ramp-docs-26). This directly matches the story of spend being coded at time-of-swipe rather than reconstructed later. Missing for 10: independent/hands-on verification of accuracy claims and no explicit end-to-end month-end close workflow walkthrough beyond marketing copy.",
    "evidenceIds": [
      "ramp-docs-8",
      "ramp-docs-32",
      "ramp-docs-21",
      "ramp-docs-25",
      "ramp-docs-26",
      "ramp-docs-9"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "expense-audit-trail",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Ramp's docs show policy enforcement (submission requirements, spend limits, policy status checks) and approval workflows with recommended actions, plus reconciliation/3-way matching tools that touch on audit-adjacent controls (ramp-docs-9, ramp-docs-10, ramp-docs-17, ramp-docs-26). However, there is no explicit documentation of an immutable audit log, edit history tracking, or export/report designed specifically to survive an external audit review. Missing for 10: explicit audit-trail/edit-history logging feature, statement on audit log immutability or retention, and third-party/independent evidence of audit compliance (e.g., SOC2 audit trail usage).",
    "evidenceIds": [
      "ramp-docs-9",
      "ramp-docs-10",
      "ramp-docs-17",
      "ramp-docs-26",
      "ramp-docs-12"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "expense-policy-engine",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp docs describe configurable spend limits by category/role/context, submission requirements, and blocking risky merchants/categories before spend happens (ramp-docs-9), plus in-policy auto-approval with GL coding and no expense report needed (ramp-docs-32), and recommended approve/reject actions grounded in policy for exceptions (ramp-docs-10). Custom card permissions and role/team-based notification routing further support codifying policy by role and context (ramp-docs-11, ramp-docs-12). Missing for 10: independent/hands-on verification of policy engine granularity and confirmation that auto-approval works reliably at scale beyond marketing copy.",
    "evidenceIds": [
      "ramp-docs-9",
      "ramp-docs-10",
      "ramp-docs-11",
      "ramp-docs-12",
      "ramp-docs-32"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "expenses-api-read",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp documents a Transactions API accessed via access tokens, and OAuth 2.0 with scopes and multiple authorization flows for API access, plus webhooks for event notifications, confirming a documented REST API with scoped OAuth tokens for transaction/expense data. missing for 10: no explicit mention of a dedicated receipts endpoint or independent third-party corroboration of API behavior beyond vendor docs.",
    "evidenceIds": [
      "ramp-docs-1",
      "ramp-docs-2",
      "ramp-docs-3",
      "ramp-probe-1"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "fast-reimbursements",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Ramp explicitly supports out-of-pocket reimbursements paid within two days or less in local currency across 70+ countries (ramp-docs-14), with automated receipt capture, submission via SMS/Slack/Teams, and policy-based auto-approval reducing manual expense reports (ramp-docs-8, ramp-docs-32). Approval workflows and reminders support the submission-to-payout tracking narrative (ramp-docs-10, ramp-docs-13). Missing for 10: explicit end-to-end status tracking UI/dashboard evidence for an individual employee, and independent/hands-on confirmation of the 2-day payout claim.",
    "evidenceIds": [
      "ramp-docs-14",
      "ramp-docs-8",
      "ramp-docs-32",
      "ramp-docs-10",
      "ramp-docs-13"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "global-reimbursements",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp explicitly advertises reimbursing employees in 70+ countries and 40 currencies with local-currency payout in two days or less, directly matching the story, and this is embedded in its core reimbursement product rather than a separate process. Missing for 10: independent/hands-on verification of actual cross-border payout speed/accuracy and details on FX handling or fees.",
    "evidenceIds": [
      "ramp-docs-14"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "issue-cards-limits",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp docs explicitly describe issuing physical and virtual cards with per-card/per-vendor spend limits, permissions, and real-time visibility (ramp-docs-7, ramp-docs-11, ramp-docs-31), matching the founder story closely. Missing for 10: independent hands-on confirmation of the 'minutes' setup speed and explicit UI walkthrough evidence beyond marketing copy.",
    "evidenceIds": [
      "ramp-docs-7",
      "ramp-docs-11",
      "ramp-docs-31",
      "ramp-docs-9"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "mileage-per-diem",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Ramp's own docs confirm automatic mileage calculation via Google Maps integration for reimbursements and automatic per-diem rate adjustment based on trip location/duration, directly matching the story's request for map-based mileage and per-diem claims without manual entry. Missing for 10: independent/hands-on verification of the mileage logging UX and per-diem claim flow, and no detail on how these integrate into a single expense submission step.",
    "evidenceIds": [
      "ramp-docs-15",
      "ramp-docs-19",
      "ramp-docs-14"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "multi-entity-currency",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Ramp has a dedicated multi-entity page indicating it can sync transactions and reimbursement data across multiple entities in one step, and reimbursements support 70+ countries/40 currencies, suggesting multi-entity/multi-currency support. However, the evidence pack lacks detail on consolidated reporting dashboards or explicit per-entity books/chart-of-accounts separation. Missing for 10: explicit consolidated reporting evidence, per-entity ledger/books detail, multi-currency accounting (not just reimbursement) specifics.",
    "evidenceIds": [
      "ramp-docs-24",
      "ramp-docs-14"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Ramp exposes a broad public API, CLI, and MCP server covering many UI actions (transactions, cards, bill approval, travel booking, expense management) per ramp-docs-1,3,4,5,6,29,30, but no documentation explicitly claims full feature parity between API/CLI/MCP and the UI, and several UI-only workflows (e.g., detailed policy configuration, multi-entity setup, procurement OCR flows) are not shown as API-accessible. Missing for 10: an explicit parity statement or exhaustive endpoint list covering all UI functions, and independent confirmation that no UI-only gaps exist.",
    "evidenceIds": [
      "ramp-docs-1",
      "ramp-docs-4",
      "ramp-docs-5",
      "ramp-docs-6",
      "ramp-docs-29",
      "ramp-docs-30",
      "ramp-probe-1",
      "ramp-probe-2",
      "ramp-probe-3"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Ramp exposes a Transactions API and OAuth-based developer access that lets a user programmatically pull data, but there is no documented full-account data export/portability feature (e.g., a 'download all my data' or GDPR-style export in open formats). missing for 10: explicit full data export/takeout functionality, confirmation of open-format (CSV/JSON) bulk export, evidence of exporting all data types (bills, cards, reimbursements) not just transactions.",
    "evidenceIds": [
      "ramp-docs-1",
      "ramp-docs-2",
      "ramp-probe-1"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Ramp is a closed commercial fintech SaaS product; no evidence of any open-source license covering its core product source. The GitHub repo referenced is for a CLI tool, not the product source itself, and no license details are given.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Ramp is a SaaS fintech/expense-management platform, not open-source software; self-hosting a financial services product is a category error, not a missing feature.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses data residency, regional storage options, or geographic control over where data is stored; evidence only covers API, MCP, CLI, and expense-management features.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence pack item addresses AI training data usage, opt-out controls, or data-privacy policies regarding model training; all evidence concerns product features (cards, expense management, MCP/CLI integrations) rather than data governance for AI training. Missing for 10: any privacy policy statement, opt-out mechanism, or documentation about AI training data usage.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence pack items address data retention policies, deletion controls, or user-configurable data lifecycle settings for AI/agent-related data; the pack focuses on API/MCP/CLI functionality and expense automation, not privacy/retention controls.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses telemetry opt-out or usage-tracking controls for AI-native users; Ramp's documentation covers APIs, MCP, CLI, and expense features but nothing about telemetry settings.",
    "evidenceIds": []
  },
  {
    "productId": "ramp",
    "storyId": "programmatic-card-issuance",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Ramp's marketing pages describe issuing virtual/physical cards with spend controls (ramp-docs-7, ramp-docs-11) and the MCP integration shows a 'lock my card' action (ramp-docs-30), suggesting the underlying platform supports card issuance/locking, but the developer docs index only explicitly names a Transactions API (ramp-docs-1) and the llms.txt probe doesn't surface a dedicated Cards API with create/lock/update-controls endpoints. Missing for 10: explicit public API reference/endpoints for card creation, locking, and limit/control updates, and any independent confirmation these are callable outside the MCP/CLI natural-language layer.",
    "evidenceIds": [
      "ramp-docs-7",
      "ramp-docs-11",
      "ramp-docs-30",
      "ramp-docs-1",
      "ramp-probe-1"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "realtime-spend-visibility",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Ramp captures spend in real time at swipe (receipt/memo/category auto-filled), issues cards with real-time spend tracking per team/vendor, and offers Transactions API/webhooks for real-time data feeds by team, category, and merchant. This directly matches the founder's need for same-day visibility rather than waiting on statements. Missing for 10: no independent/third-party corroboration or explicit dashboard screenshot evidence of a unified real-time cross-team/category/merchant view.",
    "evidenceIds": [
      "ramp-docs-7",
      "ramp-docs-8",
      "ramp-docs-11",
      "ramp-docs-31",
      "ramp-docs-3",
      "ramp-docs-1"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "receipt-capture-ocr",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Evidence confirms Ramp automatically captures receipts and applies OCR/coding when a card is swiped, with edits/submission via SMS, Slack, or Teams (ramp-docs-8, ramp-docs-32), and general OCR accuracy claims exist for bill-pay (ramp-docs-16). However, none of the evidence specifically describes an employee snapping a photo of a paper receipt or forwarding an email receipt that gets OCR'd and matched to a transaction — the described flow is card-swipe-triggered capture, not employee-initiated photo/email submission. Missing for 10: explicit documentation of photo-upload or email-forwarding receipt intake and its OCR matching to transactions, plus independent/hands-on confirmation.",
    "evidenceIds": [
      "ramp-docs-8",
      "ramp-docs-32",
      "ramp-docs-16"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "travel-booking-policy",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Ramp Travel explicitly shows policy status at time of booking ('See policy status for every option... wondering if trips will get rejected'), applies per diem automatically, and even auto-rebooks hotels when rates drop, indicating in-platform booking with policy enforced upfront rather than post-hoc expense review. This directly matches the story of not having to expense-and-argue later. Missing for 10: independent/hands-on verification of the booking flow UX, and detail on flight booking specifically (most evidence focuses on hotel/per diem) plus confirmation of real-time policy blocking vs. just visibility.",
    "evidenceIds": [
      "ramp-docs-18",
      "ramp-docs-19",
      "ramp-docs-20"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "trip-expenses-autocollect",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Ramp documents automatic receipt capture and card-based expense coding (ramp-docs-8, ramp-docs-32) and travel-specific policy/per-diem/hotel tools (ramp-docs-18, ramp-docs-19, ramp-docs-20), suggesting trip spend is tracked and can be booked within policy, but there is no explicit documentation that bookings, cards, and receipts are automatically consolidated into a single itinerary-linked expense report for the employee. missing for 10: explicit description of a unified trip/itinerary report view, evidence that booking data auto-links to card transactions and receipts under one trip record, and any hands-on confirmation of this consolidation.",
    "evidenceIds": [
      "ramp-docs-8",
      "ramp-docs-18",
      "ramp-docs-19",
      "ramp-docs-20",
      "ramp-docs-32"
    ]
  },
  {
    "productId": "ramp",
    "storyId": "vendor-virtual-cards",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Ramp documents creating custom/virtual cards with per-vendor spend limits explicitly for SaaS subscriptions, avoiding shared card numbers (ramp-docs-31, ramp-docs-11, ramp-docs-7), plus spend controls and merchant blocking (ramp-docs-9). missing for 10: independent/hands-on third-party corroboration beyond vendor marketing copy.",
    "evidenceIds": [
      "ramp-docs-31",
      "ramp-docs-11",
      "ramp-docs-7",
      "ramp-docs-9"
    ]
  }
]
