[
  {
    "productId": "bench",
    "storyId": "accountant-collaboration-access",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench's evidence describes a done-for-you bookkeeping service where Bench's own staff manage the books and communicate with the founder, with no mention of inviting an external accountant/bookkeeper as a role-scoped collaborator with adjustable permissions inside a shared ledger. The 'Add a bookkeeper to your team' claim refers to Bench's own hire-a-bookkeeper offering working inside the founder's existing systems, not the founder granting scoped access to their own outside accountant.",
    "evidenceIds": [
      "bench-docs-8",
      "bench-supp-pricing",
      "bench-supp-model"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agent-answers-affordability",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any public API, MCP server, or AI-agent integration exposing ledger data; probes for llms.txt, docs-md, and OpenAPI all returned 404s, and reporting is described as human-facing downloads/dashboards, not programmatic access. missing for 10: any API/endpoint for ledger data, agent integration, documented query interface for financial questions.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3",
      "bench-supp-reporting"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a human-plus-software bookkeeping service with automated categorization and real-time reporting, but there is no evidence of an AI agent that actively monitors the ledger for anomalies or duplicate transactions ahead of close; the closest capability is human bookkeeper review and periodic reminders. missing for 10: agent-based anomaly detection, duplicate-transaction flagging, any pre-close audit automation.",
    "evidenceIds": [
      "bench-docs-4",
      "bench-supp-automation",
      "bench-docs-5",
      "bench-supp-reporting"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agent-posts-journal-entries",
    "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": "bench",
    "storyId": "agent-reconciles-month-end",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench's evidence describes automated data entry/categorization plus human bookkeepers preparing reports, not an autonomous agent that reconciles a month end-to-end, flags exceptions, and stages a close for human review. No documentation of exception-flagging logic, agent-driven reconciliation workflow, or AI-native interface exists in the pack. Missing for 10: evidence of automated exception detection, an agentic reconciliation workflow, and any API/agent interface for month-end close.",
    "evidenceIds": [
      "bench-supp-automation",
      "bench-docs-4",
      "bench-supp-reporting",
      "bench-supp-model"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agentic-agent-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping service, not a dev tool/platform, but the axis still applies since any web product could publish agent-oriented docs; probes explicitly show llms.txt returns 404, docs-as-markdown 404, and no OpenAPI spec found. There is no evidence of any agent-oriented documentation surface.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agentic-ai-insights",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench's evidence describes automation (data entry, categorization) and human bookkeeper support, but nothing describes AI-generated insights, recommendations, or suggestions surfaced to the user from their data — 'smart automation' refers to categorization mechanics, not generative analysis or advisory insights. Missing for 10: any mention of AI-generated commentary, anomaly detection, forecasting, or proactive suggestions derived from financial data.",
    "evidenceIds": [
      "bench-docs-3",
      "bench-docs-4",
      "bench-supp-automation",
      "bench-docs-5"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agentic-autonomous-automation",
    "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": "bench",
    "storyId": "agentic-builtin-assistant",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench offers human bookkeepers plus automation for data entry and categorization, but there is no evidence of a built-in AI assistant that a user can delegate tasks to conversationally — communication is described as messaging with a human team, not an AI agent. Missing for 10: any mention of an AI assistant/chat feature, agentic task delegation, or AI-driven interaction surface within the product.",
    "evidenceIds": [
      "bench-docs-1",
      "bench-docs-3",
      "bench-docs-4",
      "bench-supp-model"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agentic-headless",
    "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": "bench",
    "storyId": "agentic-mcp-client",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping/accounting service (human+software), not an AI agent or platform designed to consume MCP tool servers; MCP integration is a category mismatch for this kind of product.",
    "evidenceIds": []
  },
  {
    "productId": "bench",
    "storyId": "agentic-mcp-server",
    "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": "bench",
    "storyId": "agentic-nl-commands",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench offers human-support messaging and a client dashboard, but there is no evidence of a natural-language command interface (chat-driven actions, NL query of financial data, etc.); probes for llms.txt, docs-md, and OpenAPI all 404, indicating no AI-native interface layer. missing for 10: any natural-language command/chat-to-action capability, NL query support, or API/agent interface evidence.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3",
      "bench-docs-1"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agentic-official-cli",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a human-plus-software bookkeeping/accounting service, not a developer tool or platform where a CLI would be a meaningful product surface; the story is a category error for this product type.",
    "evidenceIds": []
  },
  {
    "productId": "bench",
    "storyId": "agentic-public-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping/accounting service with no evidence of a documented public API; direct probes for llms.txt, docs.md, and OpenAPI/swagger endpoints all returned 404, and no docs mention an API for AI-native integration.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agentic-scoped-keys",
    "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": "bench",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping/tax service with no evidence of any public SDK, API, or developer library; probes for llms.txt, docs-md, and OpenAPI specs all returned 404. Missing for 10: any official SDK, API documentation, or developer integration surface.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any webhook subscription mechanism, API, or event system; probes for llms.txt, docs-md, and OpenAPI specs all return 404, and Bench is a human-plus-software bookkeeping service with no developer/webhook offering documented.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench's evidence covers bookkeeping automation, categorization, income statement/balance sheet reporting, banking and tax prep, but nowhere mentions accounts payable aging, vendor balances, or bill-tracking reports at a point in time. Bench appears to focus on income statement/balance sheet reporting rather than AP-specific aging reports.",
    "evidenceIds": [
      "bench-docs-5",
      "bench-supp-reporting",
      "bench-docs-4"
    ]
  },
  {
    "productId": "bench",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping/accounting service with no API, no interactive API reference, and no runnable examples; probes for llms.txt, docs.md, and OpenAPI specs all returned 404. missing for 10: any API reference, interactive docs, runnable code examples.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Probes explicitly show llms.txt, docs.md, and all openapi/swagger candidate paths return 404, and no docs mention any API spec; Bench is a bookkeeping service with no evidence of a machine-readable API for AI agents.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "api-sandbox",
    "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": "bench",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping/tax service with no evidence of a public API at all — probes for OpenAPI specs, docs, and llms.txt all returned 404. No mention of versioning or a deprecation policy anywhere in the evidence pack. Missing for 10: any public API, version numbers, changelog, or deprecation policy documentation.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "ar-aging-customer-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench's evidence covers reporting (income statement, balance sheet), categorization, and banking, but there is no mention of accounts receivable aging reports or per-customer balance tracking anywhere in the docs or probes. Missing for 10: any AR aging report feature, per-customer balance tracking, invoicing/AR module documentation.",
    "evidenceIds": [
      "bench-docs-5",
      "bench-supp-reporting"
    ]
  },
  {
    "productId": "bench",
    "storyId": "auto-categorization-suggestions",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Bench documents automated, 'smart automation' transaction categorization with 'instant guidance' (bench-docs-4, bench-supp-automation), which covers the core categorization-suggestion capability, but since Bench is a human-plus-software bookkeeping service, human bookkeepers—not the software—typically apply corrections, and there is no evidence describing a feedback loop where the system learns from founder corrections. Missing for 10: any documentation of a correction-learning mechanism, founder-facing feedback UI, or improvement in suggestion accuracy over time.",
    "evidenceIds": [
      "bench-docs-4",
      "bench-supp-automation",
      "bench-supp-model"
    ]
  },
  {
    "productId": "bench",
    "storyId": "automation-bulk-operations",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench is a human-plus-software bookkeeping service focused on categorization, reporting, and tax filing for individual accounts; no evidence describes any bulk/batch operation capability across many items (e.g., bulk transaction edits, bulk uploads, batch API operations) for AI-native or power users. Probes also show no API/docs surface for programmatic bulk actions.",
    "evidenceIds": [
      "bench-docs-4",
      "bench-supp-automation",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "automation-rules-engine",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping/accounting service with backend automation for categorization and reminders, but there is no evidence of a user-facing rule engine where AI-native users can define custom triggers/actions on events; the automation described is fixed internal workflow, not configurable rules.",
    "evidenceIds": []
  },
  {
    "productId": "bench",
    "storyId": "automation-scheduled-jobs",
    "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": "bench",
    "storyId": "automation-versioned-workflows",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping/accounting service (human-plus-software), not an automation-building platform with workflows a user could version, review, or roll back; this axis is a category error for its product type.",
    "evidenceIds": []
  },
  {
    "productId": "bench",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Bench's docs explicitly describe connecting all financial accounts to automate daily data entry and transaction categorization, which directly matches the story of automatic daily import via connected bank/credit card accounts. Missing for 10: no independent/hands-on corroboration of connection reliability, no detail on supported bank list or sync frequency specifics beyond marketing copy.",
    "evidenceIds": [
      "bench-docs-3",
      "bench-docs-4",
      "bench-supp-automation"
    ]
  },
  {
    "productId": "bench",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench's evidence covers account connection, automated categorization, and reporting, but no citation describes a reconciliation workflow that surfaces matched, unmatched, and duplicate transactions for accountant review. missing for 10: explicit reconciliation UI/workflow, matched/unmatched transaction views, duplicate detection and review surface.",
    "evidenceIds": [
      "bench-docs-3",
      "bench-docs-4",
      "bench-supp-automation",
      "bench-supp-reporting"
    ]
  },
  {
    "productId": "bench",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Bench's docs claim customers can 'connect all your financial accounts to automate data entry' and offers integrated banking (Banking by Bench/Mainstreet), which supports bank/payment account linking flowing into bookkeeping. However, payroll integration is never explicitly mentioned, and the ledger itself is not customer-facing/editable — it's a human-plus-software service producing reports rather than a live self-serve ledger. missing for 10: explicit payroll system integration, technical detail on connection breadth (which banks/payment processors), independent/hands-on confirmation of automated data flow reliability.",
    "evidenceIds": [
      "bench-docs-3",
      "bench-supp-automation",
      "bench-docs-9",
      "bench-supp-banking",
      "bench-supp-reporting"
    ]
  },
  {
    "productId": "bench",
    "storyId": "bill-capture-approval-payment",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench is a bookkeeping/tax service focused on categorization, reporting, and human bookkeeper support; no evidence of bill capture (AP inbox/OCR), approval routing, or scheduled bill payment workflows anywhere in the docs, pricing, or banking pages.",
    "evidenceIds": [
      "bench-docs-3",
      "bench-docs-4",
      "bench-supp-automation",
      "bench-supp-banking",
      "bench-supp-pricing"
    ]
  },
  {
    "productId": "bench",
    "storyId": "chart-of-accounts-management",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench is a done-for-you bookkeeping service where a human bookkeeper manages the books; the evidence pack shows no self-serve chart-of-accounts customization, account types, sub-accounts, or class/tag dimension configuration exposed to the accountant/customer. The client-facing surface is reports and downloads, not ledger/CoA editing. Missing for 10: any mention of CoA management, account type/sub-account creation, or class/tag dimension tagging capability.",
    "evidenceIds": [
      "bench-supp-reporting",
      "bench-docs-5",
      "bench-supp-model"
    ]
  },
  {
    "productId": "bench",
    "storyId": "complete-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench is a service where a human bookkeeper does the books, and the client-facing surface is reports/downloads rather than a ledger with visible change history; no evidence of any audit-trail, version history, or user-attribution feature is present anywhere in the pack, and probes confirm no docs/API surfacing such capability. missing for 10: any mention of audit logs, change tracking, user attribution, or timestamped edit history across the ledger.",
    "evidenceIds": [
      "bench-supp-reporting",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "create-send-invoices",
    "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": "bench",
    "storyId": "custom-reports-dimensions",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence only shows basic reporting (income statement, balance sheet) delivered as static downloads/reports, with no mention of custom report building or filtering/grouping by class, location, or tag dimensions. Bench is positioned as a done-for-you bookkeeping service, not a self-serve reporting tool with dimensional tagging capabilities.",
    "evidenceIds": [
      "bench-docs-5",
      "bench-supp-reporting"
    ]
  },
  {
    "productId": "bench",
    "storyId": "financial-statements-generation",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Bench explicitly markets real-time reporting with income statement (P&L) and balance sheet access/download at all times, backed by automated categorization and human bookkeeper review for accuracy. Cash-flow statement generation is not explicitly named, and there's no independent/hands-on corroboration of accuracy beyond vendor claims. Missing for 10: explicit mention of cash-flow statement as a deliverable report, and third-party or user corroboration of report accuracy.",
    "evidenceIds": [
      "bench-docs-5",
      "bench-supp-reporting",
      "bench-docs-4",
      "bench-supp-automation",
      "bench-supp-model"
    ]
  },
  {
    "productId": "bench",
    "storyId": "full-gl-export-via-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench only offers report viewing/downloads (income statement, balance sheet) via its web app; there is no documented API, no OpenAPI/Swagger spec, and probes for llms.txt, markdown docs, and OpenAPI endpoints all returned 404s, so developers have no documented way to pull the GL or trial balance in open formats.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3",
      "bench-supp-reporting"
    ]
  },
  {
    "productId": "bench",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence describes period locking, close controls, or reopening workflows; Bench is presented as a human-plus-software bookkeeping service with reporting/downloads, not a ledger system with period-lock controls exposed to the accountant/customer. missing for 10: any mention of period closing, locking prior periods, or explicit reopening controls.",
    "evidenceIds": [
      "bench-supp-reporting",
      "bench-docs-5"
    ]
  },
  {
    "productId": "bench",
    "storyId": "manual-journal-entries",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a done-for-you bookkeeping service where Bench's own staff (not the customer) manage the books; evidence explicitly states the client-facing surface is reports/downloads, 'not a ledger the customer posts to' (bench-supp-reporting), with no mention of a journal-entry interface, debit/credit balancing, or memo fields for accountant users. Missing for 10: any UI or workflow for entering/posting journal entries, debit/credit validation, and memo/supporting-documentation attachment on entries.",
    "evidenceIds": [
      "bench-supp-reporting",
      "bench-docs-5",
      "bench-supp-model"
    ]
  },
  {
    "productId": "bench",
    "storyId": "migrate-historical-books",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Bench explicitly offers 'Catch Up Bookkeeping' for businesses behind on their books, implying it can reconstruct/backfill historical transaction data, and its human-bookkeeper model suggests manual handling of past records. However, there is no explicit documentation of migrating data from another accounting system (e.g., QuickBooks, Xero) with transaction-level fidelity preserved, no import tooling, and no evidence addressing loss/retention of transaction detail during migration. Missing for 10: explicit migration/import process from other platforms, evidence of transaction-level data preservation, any tooling or API for historical data transfer.",
    "evidenceIds": [
      "bench-docs-7",
      "bench-docs-8",
      "bench-supp-service-motion"
    ]
  },
  {
    "productId": "bench",
    "storyId": "month-end-close-checklist",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench markets itself as a done-for-you bookkeeping/tax service with messaging, document upload, categorization, and real-time reports, but nothing in the evidence describes a month-end close checklist tracking reconciliations, accruals, or review sign-offs — only generic 'timely reminders' are mentioned, which is not the same as a structured close workflow.",
    "evidenceIds": [
      "bench-docs-6",
      "bench-supp-automation",
      "bench-supp-reporting"
    ]
  },
  {
    "productId": "bench",
    "storyId": "multi-entity-consolidation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Bench is a single-entity small-business bookkeeping/tax service; nothing in the evidence mentions multi-entity management, consolidation, or intercompany eliminations. Missing for 10: multi-entity account structure, consolidated financial statements across entities, intercompany reconciliation/eliminations.",
    "evidenceIds": [
      "bench-docs-5",
      "bench-supp-reporting",
      "bench-supp-model"
    ]
  },
  {
    "productId": "bench",
    "storyId": "openness-api-parity",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No API, OpenAPI spec, or developer documentation exists; probes for llms.txt, docs.md, and openapi.json all return 404s, and all evidence describes a UI/human-service product with no programmatic access surface.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "openness-full-export",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of data export in open/portable formats or account portability; reporting is limited to viewing/downloading income statements or balance sheets, not a full data export mechanism, and probes for llms.txt/openapi/docs all 404. missing for 10: explicit data export feature (CSV/QBO/API), documented data portability policy, evidence of ability to leave with full underlying data.",
    "evidenceIds": [
      "bench-supp-reporting",
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "openness-open-license",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a closed, proprietary bookkeeping SaaS/service; there is no source code to license or read, and open-sourcing is not a fair expectation for this product category.",
    "evidenceIds": []
  },
  {
    "productId": "bench",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a hosted human-plus-software bookkeeping service, not a software artifact that could be self-hosted; self-hosting is a category error for this kind of managed service product.",
    "evidenceIds": []
  },
  {
    "productId": "bench",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence in the pack mentions data residency, region selection, or storage location controls; Bench's marketing focuses on bookkeeping automation, tax, and banking, with no data-residency documentation and 404s on technical/API probes that might have revealed such settings.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Bench is a bookkeeping/accounting service and no evidence pack item mentions AI training data usage, opt-out controls, or any privacy policy addressing model training; this is an applicable privacy-posture axis for any modern SaaS handling customer data, but no supporting or contradicting evidence exists. Missing for 10: any privacy policy statement, opt-out mechanism, or terms-of-service language regarding AI/ML training on customer data.",
    "evidenceIds": []
  },
  {
    "productId": "bench",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a human-plus-software bookkeeping service; no evidence in the pack addresses data retention policies, deletion controls, or export/delete-your-data mechanisms for AI-native users. Probes for docs/llms.txt/openapi all 404, and no privacy/retention page is cited. missing for 10: retention policy documentation, data deletion/export controls, privacy posture disclosures, any AI-specific data handling terms.",
    "evidenceIds": [
      "bench-probe-1",
      "bench-probe-2",
      "bench-probe-3"
    ]
  },
  {
    "productId": "bench",
    "storyId": "privacy-telemetry-optout",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping/accounting service, not an AI tool or developer product with telemetry to opt out of; this privacy-posture axis about AI usage tracking doesn't apply to this category.",
    "evidenceIds": []
  },
  {
    "productId": "bench",
    "storyId": "recurring-invoices-reminders",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Bench is a bookkeeping/tax service focused on categorization, reporting, and tax filing; there is no mention of invoicing, accounts receivable, recurring invoices, or customer payment reminders anywhere in the evidence pack.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "accountant-collaboration-access",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Digits documents collaboration features letting 'business owners, finance teams, and accountants review and share financials' (digits-docs-11) and firm-tier plans that add 'roles and permissions' and 'flexible client-level plans' (digits-supp-pricing), indicating some support for external accountant access. However, there is no concrete documentation of an invite flow, specific role scopes (e.g., view-only vs. edit/adjust), or how a founder specifically grants an external bookkeeper adjust-level access. missing for 10: detailed invite/role-management UI docs, granular permission levels for external accountants, and independent confirmation of the collaboration workflow.",
    "evidenceIds": [
      "digits-docs-11",
      "digits-supp-pricing",
      "digits-docs-9"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agent-answers-affordability",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Digits ships both a documented Connect API (OAuth, OpenAPI, live ledger endpoints for statements, balances, cash flow) and an official read-only MCP server exposing the 'live, auto-booked' AGL data to Claude, ChatGPT, Cursor etc., independently confirmed live via a working OAuth-gated MCP probe — enabling an agent to query real-time financial data to answer affordability-style questions grounded in the ledger. The Ask Digits assistant further demonstrates first-party natural-language grounding against live financials. Missing for 10: no independent third-party example of a real 'can we afford X' query/answer being run end-to-end through the API or MCP.",
    "evidenceIds": [
      "digits-supp-mcp-server",
      "digits-supp-mcp-launch",
      "digits-probe-5",
      "digits-supp-connect-api",
      "digits-supp-api-reference",
      "digits-supp-ask-digits",
      "digits-docs-8"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Digits documents built-in anomaly/duplicate handling (idempotent writes with external_id dedup, 11 quality checks before close, 'Agentic Close' that 'surfaces exceptions with context', and 24/7 bookkeeping with 'transaction flagging & smart reviews'), and its MCP server lets an AI agent query the live ledger. However this is largely automated system-level checking rather than a user-directed agent actively monitoring and proactively flagging anomalies/duplicates during the close cycle, and the MCP server is explicitly read-only so an agent cannot act on or resolve flagged items. Missing for 10: independent/hands-on evidence that an AI agent can be configured to continuously monitor and alert on spend anomalies or duplicates specifically before close, and confirmation the flagging pipeline is agent-driven rather than purely rule/ML-based backend automation.",
    "evidenceIds": [
      "digits-supp-agentic-close",
      "digits-supp-bookkeeping",
      "digits-docs-18",
      "digits-supp-api-reference",
      "digits-supp-mcp-server",
      "digits-supp-mcp-launch"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agent-posts-journal-entries",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "The Connect API documents write/batch transaction sync with external_id idempotence and a bills workflow with submit/approve/reject/void steps (a review-queue-like pattern), and OAuth scopes include ledger:write-style scopes, showing agents can post financial data programmatically. However, there is no explicit documentation of a 'draft journal entry' state or an accountant-facing review queue specifically for journal entries (as opposed to bills), and the MCP server—the more natural agent surface—is explicitly read-only, so agentic posting must go through the raw Connect API rather than a documented review workflow. Missing for 10: explicit journal-entry draft/pending state, an accountant review-queue UI/API for entries, and confirmation that MCP or agent tooling can trigger this flow.",
    "evidenceIds": [
      "digits-supp-api-reference",
      "digits-supp-oauth",
      "digits-supp-mcp-server",
      "digits-supp-connect-api"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agent-reconciles-month-end",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Digits documents an 'Agentic Close' workflow that continuously books transactions, starts reconciliation before month-end, generates schedules, surfaces exceptions with context, and produces reports from the live ledger, plus 95%+ auto-booking and quality-control checks — strong first-party alignment with the story. However, this is all vendor-authored marketing/docs with no independent or hands-on verification of end-to-end autonomous execution, no example of an agent actually running a full close via API/MCP, and the MCP server is explicitly read-only (cannot book, flag, or take reconciliation actions itself), meaning the 'agent-driven' close is only demonstrated through the closed first-party product, not via the agent-facing surfaces. missing for 10: independent/hands-on evidence of an agent executing the full reconciliation-to-close workflow, and MCP/API write access enabling an external agent to perform booking/exception-flagging rather than just read data.",
    "evidenceIds": [
      "digits-docs-10",
      "digits-supp-agentic-close",
      "digits-docs-8",
      "digits-docs-18",
      "digits-supp-mcp-server",
      "digits-supp-api-reference"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Digits publishes both a top-level llms.txt (digits.com/llms.txt) and a developer-docs llms.txt (developer.digits.com/llms.txt), confirmed live via probe with HTTP 200, plus .md mirrors of every doc page — exactly the agent-oriented docs format the story asks for. missing for 10: independent third-party confirmation that an agent successfully consumed the llms.txt end-to-end (only first-party probes and docs are available).",
    "evidenceIds": [
      "digits-probe-1",
      "digits-probe-2",
      "digits-docs-8",
      "digits-supp-openapi-llms"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Digits ships 'Ask Digits' as an in-product AI assistant that answers financial questions and completes tasks ('Ask questions. Complete tasks. Understand your business'), plus AI-driven trend insights, exception surfacing, and quality-control checks embedded in dashboards and the Agentic Close workflow. This is corroborated by a live, auth-gated MCP server exposing the same ledger data for AI-generated insights externally, reinforcing the product's AI-native insight capability. Missing for 10: independent/hands-on user reviews validating the quality of Ask Digits' insights beyond vendor claims.",
    "evidenceIds": [
      "digits-supp-ask-digits",
      "digits-supp-agentic-close",
      "digits-docs-12",
      "digits-supp-bookkeeping",
      "digits-probe-5"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Digits documents strong built-in autonomous background processing: auto-booking 95%+ of transactions in real time, automated reconciliations, and an 'Agentic Close' workflow that continuously collects activity, books transactions, starts reconciliation, generates schedules, runs QC, and surfaces exceptions without user intervention. It also supports webhook event delivery and an 'Ask Digits' task mode. However, there's no evidence of user-configurable automation rules, triggers, or a workflow builder that an AI-native user could set up themselves — the automation is largely pre-built rather than user-defined. Missing for 10: user-configurable automation/trigger setup, scheduling controls, or evidence of custom rule-based automations beyond the fixed AGL pipeline.",
    "evidenceIds": [
      "digits-docs-8",
      "digits-docs-9",
      "digits-docs-10",
      "digits-supp-agentic-close",
      "digits-supp-ask-digits",
      "digits-supp-api-reference"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-builtin-assistant",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Digits ships 'Ask Digits', a built-in AI assistant that answers financial questions and has a documented 'task mode' to 'Get it Done', which supports delegation of tasks within the product itself. However, evidence for the task-execution side is thin — only a marketing blurb, with no detailed docs, workflow examples, or independent/hands-on confirmation of what tasks it can actually complete autonomously. missing for 10: detailed documentation or hands-on evidence of the range/reliability of tasks Ask Digits can execute, independent corroboration of agentic task completion, and any limits/guardrails on delegated actions.",
    "evidenceIds": [
      "digits-supp-ask-digits",
      "digits-docs-13"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Digits exposes a full programmatic REST API (OAuth 2.0, OpenAPI spec, batch sync with idempotent writes, webhooks) and a resettable developer sandbox, which supports scripted/automated use outside a GUI, and the MCP server is also a headless, auth-gated JSON-RPC endpoint. However, there is no explicit CI/CD documentation, no service-to-service (client-credentials) auth flow described, and OAuth authorization-code grant typically requires an initial interactive login step, so pure unattended CI automation isn't directly documented. Missing for 10: explicit CI/headless-automation guide, client-credentials or machine-to-machine auth flow, and independent confirmation of unattended pipeline use.",
    "evidenceIds": [
      "digits-supp-connect-api",
      "digits-supp-oauth",
      "digits-supp-api-reference",
      "digits-supp-sandbox",
      "digits-probe-5"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "All MCP evidence describes Digits exposing itself AS an MCP server (api.digits.com/mcp) so that other AI tools like Claude, ChatGPT, or Cursor can pull Digits' financial data — the opposite direction from this story, which asks whether a user can plug external MCP servers INTO Digits so Digits' own AI (e.g. Ask Digits) can call their tools. No evidence shows Digits acting as an MCP client or supporting user-added MCP server connections.",
    "evidenceIds": [
      "digits-supp-mcp-server",
      "digits-supp-mcp-launch",
      "digits-probe-4",
      "digits-probe-5"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Digits ships a documented, hosted official MCP server at https://api.digits.com/mcp with OAuth against a user's own account, listed setup steps for Claude Desktop/Code, ChatGPT, Cursor, and Perplexity, and this is independently confirmed live via a probe showing a proper auth-gated JSON-RPC endpoint with RFC 9728 metadata. Missing for 10: broader independent third-party hands-on usage reports beyond the vendor docs and one live probe.",
    "evidenceIds": [
      "digits-supp-mcp-server",
      "digits-supp-mcp-launch",
      "digits-probe-4",
      "digits-probe-5"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-nl-commands",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Digits ships \"Ask Digits\", an in-product AI assistant that lets users ask natural-language questions about financials and invoke a documented task mode (\"Ask Digits to Get it Done\") to complete actions, and additionally exposes an MCP server so natural-language agents in Claude/ChatGPT/Cursor can query live ledger data. Missing for 10: independent/hands-on verification that Ask Digits' task execution actually works as described, and clarification of how far natural-language commands can go given the MCP server is documented as read-only.",
    "evidenceIds": [
      "digits-supp-ask-digits",
      "digits-docs-13",
      "digits-supp-mcp-server",
      "digits-supp-mcp-launch",
      "digits-probe-5"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Digits ships an OpenAPI spec, SDG codegen, and an MCP server, but nothing in the evidence pack documents an official Digits CLI tool for developers; the only CLI mentioned is Claude's own 'claude mcp add' command, which is a third-party client CLI, not Digits'.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Digits publishes a full public REST API (Connect API) with OAuth2 authorization-code flow, versioned routes, OpenAPI 3.0 spec, generated SDKs across 50+ languages, a free resettable developer sandbox, and documented read/write endpoints (ledger, statements, bills workflow, webhooks) — this is a comprehensive, documented, programmatically-drivable API confirmed live by independent probes. missing for 10: the raw openapi.json file itself 404'd on direct probe (docs reference it at /openapi rather than the paths tried), so full spec accessibility wasn't independently verified end-to-end.",
    "evidenceIds": [
      "digits-supp-connect-api",
      "digits-supp-oauth",
      "digits-supp-openapi-llms",
      "digits-supp-sandbox",
      "digits-supp-versioning",
      "digits-supp-api-reference",
      "digits-probe-2",
      "digits-probe-3"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-scoped-keys",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "The Connect API documents granular OAuth 2.0 scopes (e.g., 'source:sync ledger:read documents:write', 'bills:manage') that a developer/agent app can request, and the MCP server is fixed to read-only scope with its own OAuth flow, which together support least-privilege credential issuance. However there is no documented feature for a user to self-issue named, revocable API keys per-agent with custom scope selection (only the developer OAuth app flow, and the MCP server's scope is fixed read-only, not user-configurable). Missing for 10: dedicated 'create scoped API key for this agent' UI/API, per-agent revocation/audit trail, and evidence of narrower-than-read-only or custom scope combinations being selectable for MCP/agent use.",
    "evidenceIds": [
      "digits-supp-oauth",
      "digits-supp-mcp-server",
      "digits-supp-api-reference",
      "digits-probe-5"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-sdks",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Digits documents a full OpenAPI 3.0 spec and offers OpenAPI-Generator based codegen for 50+ languages/frameworks, plus a developer sandbox and OAuth flow — enabling AI-native developers to build integrations — but there is no evidence of dedicated, first-party maintained SDK packages (e.g., official Python/Node/Go client libraries), and a probe for the raw OpenAPI file at common paths returned 404s, casting some doubt on spec accessibility. missing for 10: dedicated first-party SDK repositories/packages, confirmed live OpenAPI spec file, independent corroboration of codegen usage.",
    "evidenceIds": [
      "digits-docs-5",
      "digits-supp-openapi-llms",
      "digits-supp-sandbox",
      "digits-probe-3"
    ]
  },
  {
    "productId": "digits",
    "storyId": "agentic-webhooks",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Digits' API reference documents webhook event delivery — \"Digits sends this JSON request body to your configured webhook endpoint\" — confirming a webhook mechanism exists for event notifications, which supports agentic/event-driven integration alongside the OAuth API and MCP server. However, evidence lacks detail on how a user subscribes/manages webhook endpoints (create/list/delete subscription endpoints), the catalog of event types, retry/signing/security details, or independent confirmation of reliability. Missing for 10: webhook subscription management API details, event type catalog, delivery guarantees/signing docs, and independent/hands-on verification.",
    "evidenceIds": [
      "digits-supp-api-reference"
    ]
  },
  {
    "productId": "digits",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "The developer API reference explicitly lists an 'accounts payable aging report' generator and a full bills workflow (ingest, query, submit, approve, pay, reject, void) gated by a bills:manage scope, implying vendor balance tracking within the AGL ledger. However, evidence doesn't explicitly confirm as-of-date/historical point-in-time snapshots for AP aging, and there's no independent/hands-on corroboration of the report's accuracy or usability. Missing for 10: explicit historical/point-in-time date parameter documentation, independent user validation of AP aging accuracy.",
    "evidenceIds": [
      "digits-supp-api-reference",
      "digits-docs-14"
    ]
  },
  {
    "productId": "digits",
    "storyId": "api-interactive-docs",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Digits publishes a full OpenAPI 3.0 spec, an interactive-friendly llms.txt/markdown mirror of docs, and a free resettable developer sandbox with demo data, which together support exploring the API with real requests; however, the probe found no hosted interactive reference UI (openapi.json/swagger.json paths 404'd) and no evidence of embedded runnable code examples within the docs themselves. missing for 10: a live interactive API-reference UI (e.g., Swagger/Redoc/Stoplight) with clickable 'try it' runnable examples, and confirmation that the OpenAPI spec is actually renderable/explorable rather than just downloadable.",
    "evidenceIds": [
      "digits-docs-5",
      "digits-supp-openapi-llms",
      "digits-supp-sandbox",
      "digits-probe-3",
      "digits-probe-2"
    ]
  },
  {
    "productId": "digits",
    "storyId": "api-machine-spec",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Digits explicitly documents a 'complete OpenAPI 3.0 specification' covering all endpoints/params/schemas, hosted at a stated URL and paired with OpenAPI Generator codegen support for 50+ languages, plus a parallel llms.txt and per-page .md mirrors for machine-readable docs (digits-supp-openapi-llms, digits-docs-5, digits-probe-1, digits-probe-2). A probe attempting to fetch the spec failed, but it only tried guessed generic paths (openapi.json, swagger.json, etc.) rather than the actually documented '/openapi' URL, so this is not a concrete contradiction. Missing for 10: independent verification that the documented '/openapi' URL itself returns a valid spec live.",
    "evidenceIds": [
      "digits-supp-openapi-llms",
      "digits-docs-5",
      "digits-probe-1",
      "digits-probe-2",
      "digits-probe-3"
    ]
  },
  {
    "productId": "digits",
    "storyId": "api-sandbox",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Digits documents a dedicated developer sandbox with a resettable demo instance pre-loaded with realistic data, entirely separate from production, and free/self-serve access via Development API keys that auto-select the demo client in OAuth. This directly satisfies testing without touching production data. Missing for 10: independent/hands-on confirmation that the sandbox behaves identically to production and covers write endpoints (e.g., bills workflow) without side effects.",
    "evidenceIds": [
      "digits-docs-3",
      "digits-supp-sandbox"
    ]
  },
  {
    "productId": "digits",
    "storyId": "api-versioning-policy",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Digits documents route-based API versioning (version number as URL path prefix) on a dedicated versioning docs page, showing intentional version management for AI/agent consumers of its Connect API and MCP server. However, no evidence describes an explicit deprecation policy (timelines, sunset notices, migration guidance for old versions) — missing for 10: documented deprecation timeline/process, evidence of past version sunsets, and confirmation this policy also covers the MCP server surface.",
    "evidenceIds": [
      "digits-docs-7",
      "digits-supp-versioning"
    ]
  },
  {
    "productId": "digits",
    "storyId": "ar-aging-customer-balances",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Docs confirm an accounts payable aging report and A/R aging generation via the API ('Generate an accounts payable aging report', A/R aging) plus per-customer/vendor ledger queries and chart of accounts access, and Digits Financials/Dashboards surface real-time reports; but there is no dedicated UI walkthrough or independent confirmation of a per-customer AR balance view or dunning/aging workflow in the product itself, only API-level mentions in the developer llms.txt. missing for 10: hands-on/UI evidence of an AR aging report screen, per-customer balance breakdown in the app UI, independent verification of accuracy/usability.",
    "evidenceIds": [
      "digits-supp-api-reference",
      "digits-docs-11",
      "digits-supp-connect-api"
    ]
  },
  {
    "productId": "digits",
    "storyId": "auto-categorization-suggestions",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Digits documents AI-native auto-categorization (AGL trained on 170M+ transactions, 95%+ auto-booking) and 'transaction flagging & smart reviews' suggesting a learning/correction loop, but there is no explicit documentation of a feedback mechanism where founder corrections are captured and used to retrain or adjust future suggestions. missing for 10: explicit description of a correction-feedback loop showing suggestions improve from user edits, independent/hands-on verification of accuracy improving over time, and details on how manual overrides are ingested by the categorization model.",
    "evidenceIds": [
      "digits-docs-8",
      "digits-supp-agl",
      "digits-supp-bookkeeping",
      "digits-docs-9"
    ]
  },
  {
    "productId": "digits",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "The Connect API documents batch transaction sync with external-ID idempotence (\"Idempotence and deduplication is handled via the external_id field\") and auto-books 95%+ of transactions in real time, showing the platform can process many items at once programmatically. However there's no documented bulk-edit UI, bulk categorization/reclassification endpoint, or explicit multi-item action beyond transaction sync and bill workflows. Missing for 10: dedicated bulk-update/bulk-edit endpoints or UI, evidence of bulk operations across other object types (invoices, reports, vendors) beyond transactions, and independent confirmation of batch scale limits.",
    "evidenceIds": [
      "digits-supp-api-reference",
      "digits-docs-8",
      "digits-supp-connect-api"
    ]
  },
  {
    "productId": "digits",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Digits offers webhook event delivery (JSON payloads on ledger events) and internal automated actions like auto-booking, flagging, and quality checks, but these are pre-built automations rather than a user-facing rule engine where an AI-native user can define custom 'if event X then action Y' triggers. Missing for 10: a documented rule-builder/automation configuration UI or API, examples of user-defined trigger-action pairs, and evidence of arbitrary custom actions being executed on arbitrary events beyond fixed webhook notifications.",
    "evidenceIds": [
      "digits-supp-api-reference",
      "digits-supp-bookkeeping",
      "digits-supp-agentic-close"
    ]
  },
  {
    "productId": "digits",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Digits offers webhooks, background auto-booking, and month-end close automation, but there is no evidence of a user-facing scheduler for recurring jobs/workflows (e.g., cron-like triggers, scheduled report generation, or workflow automation builder) that an AI-native user could configure. missing for 10: any documented scheduling/cron API or UI, recurring job configuration, or workflow trigger system.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Digits documents automated bookkeeping, auto-booking, agentic close, and exception surfacing, but nothing in the evidence describes versioning, reviewing change history, or rolling back automations/rules themselves — no changelog, rule-versioning, or undo mechanism for its automated workflows is documented.",
    "evidenceIds": [
      "digits-supp-agentic-close",
      "digits-docs-10",
      "digits-supp-bookkeeping"
    ]
  },
  {
    "productId": "digits",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Digits documents real-time bank/credit-card connectivity across 12,000+ financial institutions with auto-booking of 95%+ of transactions in real time, and help docs describe adding new connections, positioning daily automatic import as a core feature. missing for 10: independent/hands-on confirmation of daily import reliability beyond vendor claims.",
    "evidenceIds": [
      "digits-supp-integrations",
      "digits-docs-8",
      "digits-docs-17",
      "digits-docs-21",
      "digits-supp-bookkeeping"
    ]
  },
  {
    "productId": "digits",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Digits documents automated reconciliation, transaction flagging/smart reviews, and exception surfacing as part of its AI-driven bookkeeping and 'Agentic Close' workflow, which implies reconciliation review happens, but duplicates are described as being prevented via idempotent writes rather than surfaced as a reviewable duplicate queue. Missing for 10: explicit documentation of a per-bank-account reconciliation view distinguishing matched, unmatched, and duplicate transactions, and any hands-on/independent confirmation of this UI.",
    "evidenceIds": [
      "digits-supp-bookkeeping",
      "digits-supp-agentic-close",
      "digits-supp-connect-api",
      "digits-docs-9",
      "digits-docs-18"
    ]
  },
  {
    "productId": "digits",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Digits documents real-time connections to 12,000+ financial institutions with named payments/payroll connectors (Stripe, Gusto, Ramp), auto-booking 95%+ of transactions via the AGL, and idempotent sync with deduplication so activity flows automatically into the ledger. missing for 10: independent/third-party corroboration of actual bank/payroll sync reliability and no explicit named banking connector list beyond generic '12,000+ institutions' claim.",
    "evidenceIds": [
      "digits-supp-integrations",
      "digits-docs-8",
      "digits-docs-9",
      "digits-supp-connect-api",
      "digits-supp-api-reference",
      "digits-supp-bookkeeping"
    ]
  },
  {
    "productId": "digits",
    "storyId": "bill-capture-approval-payment",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Digits documents a dedicated 'Bill Pay' feature (drag/drop/approve/pay) and a full bills workflow API covering ingest, query, submit, approve, pay, reject, and void gated by a bills:manage scope, which maps directly to capture, approval routing, and payment. However, evidence doesn't detail payment scheduling specifics (e.g., future-dated batch runs, approval chains/rules) or provide independent/hands-on confirmation the workflow works end-to-end. Missing for 10: explicit payment-scheduling mechanics, multi-step approval routing configuration details, and third-party corroboration.",
    "evidenceIds": [
      "digits-docs-14",
      "digits-supp-api-reference"
    ]
  },
  {
    "productId": "digits",
    "storyId": "chart-of-accounts-management",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Digits documents the ability to fetch the full chart of accounts via the Connect API and mentions 'dimensional accounting'/'dimensional reporting' as a paid-tier feature, suggesting some support for class/tag dimensions, but there is no documentation of an accountant-facing workflow for creating account types or sub-accounts — indeed Digits' messaging emphasizes that its AI 'replaces' manual chart-of-accounts mapping rather than supporting granular manual customization. Missing for 10: explicit UI/API support for defining account types, creating/nesting sub-accounts, and configuring custom class or tag dimensions beyond the vague 'dimensional accounting' mention.",
    "evidenceIds": [
      "digits-supp-api-reference",
      "digits-supp-bookkeeping",
      "digits-supp-pricing",
      "digits-supp-connect-api"
    ]
  },
  {
    "productId": "digits",
    "storyId": "complete-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence exists of a change-log, version history, or 'who changed what and when' audit trail feature across the ledger; the pack covers categorization, APIs, MCP, security-at-rest, and pricing but nothing about audit trails or user-action logging.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "create-send-invoices",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Digits' product page lists an 'Invoicing — Get paid faster' feature, confirming the axis applies, but there is no documentation describing invoice creation workflow, online payment integration, or read/paid status tracking. missing for 10: details on invoice creation UI, supported payment methods/gateways, view-tracking or paid notifications, and any independent confirmation of the feature working.",
    "evidenceIds": [
      "digits-docs-15"
    ]
  },
  {
    "productId": "digits",
    "storyId": "custom-reports-dimensions",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Digits explicitly advertises 'dimensional reporting' and 'dimensional accounting' as a feature (gated to Core/Pro plans) and has a help doc titled 'How do I create a custom report?', suggesting some custom, dimension-based reporting capability exists. However, no evidence specifies filtering/grouping by class, location, or tag dimensions specifically, nor shows a UI walkthrough or hands-on confirmation of this granularity. Missing for 10: explicit documentation naming class/location/tag as filterable/groupable dimensions, a hands-on or independent demonstration of building such a custom report, and detail on how grouping/filtering works in the report builder.",
    "evidenceIds": [
      "digits-docs-9",
      "digits-docs-20",
      "digits-supp-bookkeeping",
      "digits-supp-pricing"
    ]
  },
  {
    "productId": "digits",
    "storyId": "financial-statements-generation",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Digits explicitly generates P&L, balance sheet, and cash-flow statements on demand from its live AGL ledger, with API endpoints for 'Generate a balance sheet statement', cash flow, and P&L, plus dashboards and custom reports (help.digits.com custom report doc). Pricing page confirms 'real-time financial statements—profit & loss, balance sheet, and cash flow' updating automatically. Missing for 10: independent/hands-on verification of statement accuracy for arbitrary custom periods, and no third-party review confirming report correctness beyond vendor claims.",
    "evidenceIds": [
      "digits-docs-11",
      "digits-supp-api-reference",
      "digits-supp-pricing",
      "digits-docs-20",
      "digits-supp-connect-api"
    ]
  },
  {
    "productId": "digits",
    "storyId": "full-gl-export-via-api",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Digits documents a full OpenAPI 3.0 spec, ledger endpoints including trial balance, balance sheet, P&L, and full chart of accounts retrieval, plus sandbox/dev environment access — satisfying most of the story. However, a live probe found the OpenAPI spec file itself returning 404 at all standard paths, and there's no explicit mention of exporting data in open/portable formats (e.g., CSV/JSON export of GL) beyond API JSON responses. missing for 10: working/reachable OpenAPI spec file (probe returned 404), explicit open-format export (CSV/JSON bulk export) of GL and trial balance, independent third-party confirmation of API completeness.",
    "evidenceIds": [
      "digits-supp-connect-api",
      "digits-supp-api-reference",
      "digits-supp-openapi-llms",
      "digits-probe-3",
      "digits-supp-sandbox"
    ]
  },
  {
    "productId": "digits",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers AGL categorization, the Agentic Close workflow, quality checks, and reporting, but nothing describes a period-lock or reopening-approval mechanism that prevents prior-period figures from changing. This is a reasonable axis for close-collaboration accounting software, so absence of evidence yields 'none'.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "manual-journal-entries",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Digits' evidence describes AI-driven auto-booking, categorization, reconciliation, and an API for batch transaction sync/ledger queries, but nowhere documents a manual journal-entry workflow with debit/credit balancing and memo fields — the product's own framing explicitly positions itself as replacing manual entry/mapping rather than supporting it.",
    "evidenceIds": [
      "digits-docs-8",
      "digits-supp-connect-api",
      "digits-supp-api-reference",
      "digits-supp-agl"
    ]
  },
  {
    "productId": "digits",
    "storyId": "migrate-historical-books",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Digits has a help-center entry titled 'How do I migrate to Digits from Quickbooks?' and the Connect API supports idempotent, deduplicated transaction sync and chart-of-accounts fetch, suggesting some migration tooling exists, but no evidence details how historical transaction-level detail, account balances, or attachments are actually preserved during a full migration from another system. missing for 10: actual migration walkthrough/content beyond the FAQ title, evidence of historical balance/opening-balance handling, support for non-QuickBooks source systems, and independent confirmation that no transaction detail is lost.",
    "evidenceIds": [
      "digits-docs-19",
      "digits-supp-connect-api",
      "digits-supp-api-reference"
    ]
  },
  {
    "productId": "digits",
    "storyId": "month-end-close-checklist",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Digits documents an 'Agentic Close' workflow that starts reconciliation before month-end, generates accrual/depreciation schedules from ledger activity, runs quality-control checks, and surfaces exceptions with context, plus 11 dedicated closing quality checks — covering reconciliations, accruals, and QC review. However, there is no explicit documentation of a checklist UI or formal review/sign-off tracking (who approved what, sign-off status) as the story specifies. Missing for 10: an explicit close checklist artifact and documented sign-off/approval tracking mechanism.",
    "evidenceIds": [
      "digits-docs-10",
      "digits-supp-agentic-close",
      "digits-docs-18",
      "digits-docs-9"
    ]
  },
  {
    "productId": "digits",
    "storyId": "multi-entity-consolidation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Digits is built around a single AI-native general ledger (AGL) per business, with firm plans offering multi-client seats/permissions but no documented feature for combining multiple legal entities into consolidated financial statements. Nothing in the docs, API reference, or product pages mentions inter-entity eliminations, consolidated reporting, or multi-entity ledger structures.",
    "evidenceIds": [
      "digits-supp-pricing",
      "digits-supp-connect-api",
      "digits-supp-api-reference"
    ]
  },
  {
    "productId": "digits",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "The Connect API exposes substantial read/write ledger functionality (financial statements, chart of accounts, bills workflow with submit/approve/pay, batch transaction sync, webhooks) matching much of the UI's bookkeeping/reporting features, and the MCP server extends programmatic access to AI tools. However, the MCP server is explicitly read-only, and several UI-surfaced features (Ask Digits AI assistant, Invoicing, Bill Pay drag-and-drop UI, Dashboards customization, mobile app features) have no documented API/MCP equivalent for full parity — missing for 10: write access via MCP, API coverage for Ask Digits conversational tasks, invoicing endpoints, dashboard customization API, and independent confirmation that all UI actions map to API calls.",
    "evidenceIds": [
      "digits-supp-connect-api",
      "digits-supp-api-reference",
      "digits-supp-mcp-server",
      "digits-supp-oauth",
      "digits-supp-ask-digits",
      "digits-docs-14",
      "digits-docs-15"
    ]
  },
  {
    "productId": "digits",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Digits' Connect API exposes read endpoints for financial statements, chart of accounts, ledger entries, and transactions via a documented OpenAPI spec, which could be used to pull data out into open formats. However, there is no documented bulk 'export all your data' feature, no CSV/GDPR-style data portability statement, and no mention of account closure or migrating away from Digits (only migration into Digits from QuickBooks is documented). missing for 10: a dedicated full-account data export/download feature, explicit open-format (CSV/JSON) bulk export tooling, and any documentation addressing leaving/closing an account with full data portability.",
    "evidenceIds": [
      "digits-supp-api-reference",
      "digits-supp-openapi-llms",
      "digits-docs-19"
    ]
  },
  {
    "productId": "digits",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Digits is a closed commercial SaaS financial product; there is no evidence of any open-source license or publicly readable source code repository. Evidence only covers API docs, MCP server, and product features, not source availability.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Digits is a cloud-hosted financial ledger/SaaS product with no evidence of a self-hostable core; self-hosting is not a fair expectation for a SaaS financial platform of this kind, making the axis inapplicable rather than a gap.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence anywhere in the pack mentions data residency, regional data storage options, or geographic controls for where financial data is hosted; security page only discusses encryption and SOC 2, not location choice.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "privacy-no-training",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Digits is a financial ledger/accounting product, not an AI model provider; the story about opting out of AI training data usage is a category error for this type of product — no evidence pack item addresses AI-model-training opt-out policies, and this axis doesn't apply to a fintech SaaS ledger.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack covers OAuth authentication, encryption at rest/in transit, and general security posture, but nothing addresses data retention policies or user-initiated deletion of financial data/records. For a financial ledger handling sensitive data, this is a fair and applicable privacy axis, but no documentation, help-center article, or API endpoint for retention settings or deletion requests is cited.",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "privacy-telemetry-optout",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Digits is a fintech/accounting product (ledger, bookkeeping, API), not a developer tool whose runtime telemetry collection is a relevant privacy-posture concern for an AI-native user's opt-out; the story targets telemetry/usage-tracking opt-out, which is a category mismatch for this product's evidence pack (which focuses on financial data processing, security/encryption, and API access, not telemetry collection from the tool itself).",
    "evidenceIds": []
  },
  {
    "productId": "digits",
    "storyId": "recurring-invoices-reminders",
    "verdict": "partial",
    "quality": 2,
    "confidence": "low",
    "rationale": "Digits' product page lists an 'Invoicing — Get paid faster' feature and the Connect API exposes A/R aging reports, but there is no documentation of recurring invoice scheduling or automatic overdue-payment reminders. missing for 10: documented recurring invoice setup, automated reminder/dunning workflow, any hands-on or independent confirmation of these AR automation features.",
    "evidenceIds": [
      "digits-docs-15",
      "digits-supp-api-reference"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "accountant-collaboration-access",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "FreshBooks explicitly documents accountant collaboration: \"Grant your accountant access to real-time data in one central location\" and accountants can \"update your journal entries and chart of accounts... run reports, file taxes\", alongside a paid Team Members role add-on for scoped user access. This directly matches the founder story of inviting an external accountant with role-based access to adjust books. Missing for 10: independent/hands-on confirmation of the granularity of role-scoping (what an accountant role can/cannot see or edit) and details of the actual invite UX flow.",
    "evidenceIds": [
      "freshbooks-supp-double-entry",
      "freshbooks-docs-6",
      "freshbooks-docs-8"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agent-answers-affordability",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "FreshBooks exposes a REST API with Reports, Journal Entries, Expenses, Invoices and Payments endpoints that could be queried by a third-party agent to ground a 'can we afford X' answer in live ledger data, and OAuth2/webhooks are documented for secure, real-time access. However there is no first-party AI agent, natural-language Q&A layer, or MCP server, and llms.txt/docs.md probes both 404, meaning any such experience would have to be built entirely by the developer rather than delivered out of the box. Missing for 10: a native conversational/agent interface over the ledger data, evidence of LLM-specific integration, and a working llms.txt or agent-discovery endpoint.",
    "evidenceIds": [
      "freshbooks-supp-reports-api",
      "freshbooks-supp-journal-entries",
      "freshbooks-supp-oauth",
      "freshbooks-supp-api-surface",
      "freshbooks-probe-1",
      "freshbooks-probe-2"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "FreshBooks exposes API access to expenses, journal entries, and reports plus webhooks (freshbooks-supp-journal-entries, freshbooks-supp-reports-api, freshbooks-supp-webhooks), which a third party could use to build an external monitoring agent, but there is no evidence of any native AI/agent-based anomaly detection, duplicate-transaction flagging, or pre-close audit capability shipped by FreshBooks itself.",
    "evidenceIds": [
      "freshbooks-supp-journal-entries",
      "freshbooks-supp-reports-api",
      "freshbooks-supp-webhooks",
      "freshbooks-supp-bank-rec"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agent-posts-journal-entries",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "FreshBooks' API documents a Create Adjustment Journal Entry endpoint with required fields (account_uuid, debit/credit), OAuth2 authentication, and webhooks for real-time sync, which together could let an agent draft and post journal entries programmatically. However, there is no evidence of a native 'review queue' or draft/approval workflow before posting — entries appear to post directly rather than sit pending accountant review, and no accountant-approval or draft-state mechanism is documented. missing for 10: a documented draft/pending state or approval workflow for journal entries, evidence of an accountant-facing review queue, and any hands-on/independent confirmation of agent-driven posting.",
    "evidenceIds": [
      "freshbooks-supp-journal-entries",
      "freshbooks-supp-oauth",
      "freshbooks-supp-webhooks",
      "freshbooks-supp-double-entry",
      "freshbooks-supp-api-surface"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agent-reconciles-month-end",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "FreshBooks documents automated bank-reconciliation workflows and a rich API (journal entries, reports, payments, expenses) that a third party could use to build an agent, but there is no evidence of an AI agent that autonomously matches transactions, flags exceptions, and prepares a month-end close for review — reconciliation here is rule-based software automation, not an agentic capability.",
    "evidenceIds": [
      "freshbooks-supp-bank-rec",
      "freshbooks-supp-journal-entries",
      "freshbooks-supp-reports-api",
      "freshbooks-supp-double-entry"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-agent-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Direct probes show no llms.txt (404) and no markdown-based docs (404), and no evidence exists of an agent-oriented documentation format; only standard human-facing API docs are present.",
    "evidenceIds": [
      "freshbooks-probe-1",
      "freshbooks-probe-2"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-ai-insights",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of AI-generated insights, suggestions, or analytics features anywhere in the docs, API surface, or community mentions; the product focuses on invoicing, expense tracking, and reporting without any AI/ML layer mentioned. Missing for 10: any mention of AI-driven insights, anomaly detection, predictive suggestions, or natural-language analysis of financial data.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "FreshBooks offers building blocks—webhooks, journal entry/reports APIs, bank reconciliation automation, and Bill Pay automated scheduling—that could support autonomous background workflows, but there is no evidence of a native automation/agent framework, scheduled triggers, or persistent background jobs configurable by an AI-native user. missing for 10: a documented automation/rules engine or agent-runnable scheduler, evidence of autonomous multi-step workflows beyond webhooks+bill pay, and independent confirmation of reliability for unattended background operation.",
    "evidenceIds": [
      "freshbooks-supp-webhooks",
      "freshbooks-supp-bank-rec",
      "freshbooks-supp-bill-pay",
      "freshbooks-supp-journal-entries"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-builtin-assistant",
    "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": "freshbooks",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "FreshBooks exposes a full REST API (invoices, expenses, journal entries, reports) with OAuth2 auth and an official Node.js SDK, which lets scripts/services call it headlessly outside the UI. However there is no CLI, Docker image, or explicit CI/CD integration guidance, and no evidence anyone has run FreshBooks automation in a pipeline context. missing for 10: CLI or headless runner, CI/CD-specific documentation or examples, independent evidence of CI usage.",
    "evidenceIds": [
      "freshbooks-supp-oauth",
      "freshbooks-supp-api-surface",
      "freshbooks-gh-1",
      "freshbooks-docs-12"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-mcp-client",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "FreshBooks is an accounting/invoicing SaaS product, not an AI agent; the evidence shows only a traditional REST API/SDK/webhooks, with no mention of MCP server support for plugging into AI tools. The story concerns MCP client capability which is not a fair axis for this kind of product beyond having an API (which itself is not MCP), so this falls outside category expectations rather than being a failed capability.",
    "evidenceIds": [
      "freshbooks-docs-12",
      "freshbooks-supp-api-surface",
      "freshbooks-gh-1"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-mcp-server",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "FreshBooks offers a REST API, webhooks, and SDKs, but there is no evidence of an official MCP server for agent connectivity; probes for llms.txt and docs.md both returned 404. Since FreshBooks is a SaaS platform (not itself an agent), an official MCP server is a plausible offering, so its absence is 'none' rather than 'na'.",
    "evidenceIds": [
      "freshbooks-probe-1",
      "freshbooks-probe-2",
      "freshbooks-supp-api-surface"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-nl-commands",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of a natural-language interface, chatbot, or AI assistant for operating FreshBooks; only a developer REST/OAuth API and webhooks are documented, which require code, not NL commands. Probes for llms.txt and machine-readable docs both returned 404, further suggesting no AI-native interaction layer.",
    "evidenceIds": [
      "freshbooks-probe-1",
      "freshbooks-probe-2",
      "freshbooks-supp-api-surface",
      "freshbooks-supp-oauth"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of an official CLI tool; FreshBooks only offers a REST API, SDKs (Node.js), and Postman collection, with no mention of a command-line interface. Probes for llms.txt and docs.md also returned 404s.",
    "evidenceIds": [
      "freshbooks-gh-1",
      "freshbooks-supp-api-surface",
      "freshbooks-probe-1",
      "freshbooks-probe-2"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "FreshBooks publishes a well-documented public REST API covering invoices, expenses, payments, journal entries, reports, and webhooks, with OAuth 2.0 authentication, scopes, pagination, error handling, an official Node.js SDK, and a Postman collection — enabling programmatic/agentic control of core accounting workflows. Missing for 10: no llms.txt or machine-readable docs endpoint (probe 404s) and no independent third-party corroboration of API robustness beyond first-party docs.",
    "evidenceIds": [
      "freshbooks-docs-12",
      "freshbooks-docs-13",
      "freshbooks-docs-14",
      "freshbooks-docs-15",
      "freshbooks-docs-16",
      "freshbooks-docs-18",
      "freshbooks-docs-19",
      "freshbooks-docs-20",
      "freshbooks-docs-21",
      "freshbooks-gh-1",
      "freshbooks-supp-oauth",
      "freshbooks-supp-api-surface",
      "freshbooks-supp-webhooks",
      "freshbooks-supp-journal-entries",
      "freshbooks-supp-reports-api"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-scoped-keys",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "FreshBooks documents OAuth 2.0 authentication with per-endpoint scopes and a dedicated tutorial for finding the right scopes for an app, which supports issuing least-privilege credentials to any third-party client including an agent. However, there is no explicit mention of AI-agent use cases, no granular API-key/service-account model beyond OAuth scopes, and no guidance on revocation or monitoring specifically for autonomous agents. Missing for 10: agent-specific credential guidance, fine-grained scope examples beyond a generic tutorial reference, and independent confirmation of scope enforcement in practice.",
    "evidenceIds": [
      "freshbooks-supp-oauth",
      "freshbooks-docs-12"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-sdks",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "FreshBooks publishes an official Node.js SDK on GitHub with REST API bindings and pre-configured auth, backed by extensive REST API docs (auth, webhooks, invoices, expenses, payments, journal entries, reports) and a Postman collection/'Tools and Libraries' page for building integrations. However, evidence only shows one official SDK (Node.js) with no other languages, no AI-native docs formats (llms.txt and docs.md both return 404), and no independent developer corroboration of SDK quality or maintenance. Missing for 10: multi-language official SDKs, machine-readable/agent-friendly docs, and third-party validation of the SDK's reliability.",
    "evidenceIds": [
      "freshbooks-gh-1",
      "freshbooks-gh-2",
      "freshbooks-supp-api-surface",
      "freshbooks-docs-21",
      "freshbooks-probe-1",
      "freshbooks-probe-2"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "agentic-webhooks",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "FreshBooks documents a real webhook subscription system: registering callbacks (e.g. invoice.create), a verification handshake, and HMAC-based signature verification, with an explicit caveat about delivery latency. This directly satisfies the story of subscribing to events via webhooks. Missing for 10: independent/hands-on developer confirmation of webhook reliability and no evidence of a broader event catalog beyond a few examples.",
    "evidenceIds": [
      "freshbooks-docs-14",
      "freshbooks-supp-webhooks"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "FreshBooks Bill Pay lets you manage and schedule vendor bill payments, and the Reports API exposes seven report types, but none of the evidence mentions an accounts-payable aging report or point-in-time vendor balance report — only due-date tracking and payment status. missing for 10: AP aging report, vendor balance/statement report, point-in-time historical AP view.",
    "evidenceIds": [
      "freshbooks-supp-bill-pay",
      "freshbooks-supp-reports-api",
      "freshbooks-docs-10"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "api-interactive-docs",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "FreshBooks publishes a full REST API reference (auth, endpoints, errors, webhooks) and offers a Postman Collection that lets developers run example requests, which partially satisfies 'runnable examples,' but there's no evidence of an embedded interactive console (e.g., try-it-now code snippets) in the docs themselves, and llms.txt/docs-md probes returned 404s indicating no AI-native doc tooling. missing for 10: an in-browser interactive API console with live runnable requests, AI-readable doc formats (llms.txt/markdown), and independent confirmation of the Postman collection's usability.",
    "evidenceIds": [
      "freshbooks-docs-21",
      "freshbooks-supp-api-surface",
      "freshbooks-probe-1",
      "freshbooks-probe-2"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "FreshBooks documents a REST API with a Postman collection and SDKs, but nothing in the evidence indicates an OpenAPI/Swagger spec or other machine-readable API description is published or downloadable; explicit probes for llms.txt and a machine-readable docs endpoint both returned 404.",
    "evidenceIds": [
      "freshbooks-docs-21",
      "freshbooks-supp-api-surface",
      "freshbooks-probe-1",
      "freshbooks-probe-2"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of a sandbox/test environment, test-mode API keys, or demo accounts; the API docs cover authentication, endpoints, and webhooks but nothing about non-production testing.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "FreshBooks publishes a REST API with docs, authentication, webhooks, and an API changelog note about swapping legacy bearer tokens for JWTs, but there is no evidence of a versioning scheme (e.g., v1/v2 endpoints) or a documented deprecation policy/timeline for API changes. The changelog mention shows change happened but not a stated deprecation process, and llms.txt/docs-md probes 404, showing no AI-native API governance documentation.",
    "evidenceIds": [
      "freshbooks-supp-oauth",
      "freshbooks-supp-api-surface",
      "freshbooks-probe-1",
      "freshbooks-probe-2"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "ar-aging-customer-balances",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "FreshBooks documents invoicing, per-client entities (Clients API), and a Reports API with 'seven types of reports' including Invoice Details and Payments Collected, implying customer-level transaction data is queryable, but no evidence explicitly names an accounts-receivable aging report or a dedicated per-customer balance view. Missing for 10: explicit aging-report feature documentation, explicit per-customer outstanding-balance report, and any UI/API confirmation of AR-specific terminology.",
    "evidenceIds": [
      "freshbooks-supp-reports-api",
      "freshbooks-supp-api-surface",
      "freshbooks-docs-15"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "auto-categorization-suggestions",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "FreshBooks evidence mentions bank account linking and 'automated workflows for bank reconciliation and transaction management' but contains no mention of a categorization engine that suggests categories for imported transactions or that improves from user corrections. Missing for 10: any documentation of transaction categorization suggestions, machine-learning/rules-based category prediction, or confirmation that the system learns from user corrections.",
    "evidenceIds": [
      "freshbooks-supp-bank-rec"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "automation-bulk-operations",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The API docs cover single-resource CRUD endpoints (invoices, expenses, payments, journal entries) plus search/paging/webhooks, but no evidence describes batch or bulk-operation endpoints (e.g., bulk invoice creation, bulk expense updates) that would let an AI agent act on many items in one call.",
    "evidenceIds": [
      "freshbooks-docs-13",
      "freshbooks-supp-api-surface",
      "freshbooks-docs-15",
      "freshbooks-docs-16"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "FreshBooks exposes webhooks for real-time event notifications (e.g., invoice.create) that could be wired to external actions, but there is no evidence of a native rules/automation engine where users define conditional triggers and actions inside the product itself; webhooks require external code to act on events. Missing for 10: in-app rule builder, conditional logic UI, natively triggered actions without custom integration, and evidence of AI-native automation workflows.",
    "evidenceIds": [
      "freshbooks-supp-webhooks",
      "freshbooks-docs-14"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "automation-scheduled-jobs",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "FreshBooks Bill Pay documents scheduled/recurring vendor payments (\"schedule payments\" and \"executes your scheduled payments so nothing slips\"), and webhooks provide event-driven sync, but there is no evidence of a general-purpose recurring job/workflow scheduler exposed via API for AI-native automation (e.g., recurring invoices, scheduled reports, or cron-like triggers callable by an agent). Missing for 10: API endpoint or docs for recurring invoice/report scheduling, evidence of programmatic (not just UI) recurring workflow setup, and confirmation this extends beyond bill payments to general automation.",
    "evidenceIds": [
      "freshbooks-supp-bill-pay",
      "freshbooks-docs-10",
      "freshbooks-docs-11",
      "freshbooks-supp-webhooks"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "automation-versioned-workflows",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "FreshBooks is an invoicing/accounting SaaS product, not an automation-building platform with version control, review, and rollback of workflows/automations; the evidence pack shows API/webhook integration features but no concept of automation versioning or rollback, and this is not a fair axis for this kind of product.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 6,
    "confidence": "medium",
    "rationale": "FreshBooks' own accounting page explicitly states you can 'link your bank account and create automated workflows for bank reconciliation and transaction management' and lists bank reconciliation among its 100+ automations, directly matching the founder's need for automatic daily transaction import. Missing for 10: independent/hands-on confirmation of daily import cadence, credit-card-specific linking details, and any troubleshooting/reliability reports beyond the vendor's own claim.",
    "evidenceIds": [
      "freshbooks-supp-bank-rec",
      "freshbooks-supp-double-entry"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "FreshBooks documents bank account linking and 'automated workflows for bank reconciliation and transaction management' plus a chart of accounts and accountant collaboration, but there's no evidence of the specific UI/workflow for surfacing matched, unmatched, and duplicate transactions for review. missing for 10: explicit documentation of matched/unmatched/duplicate transaction states, reconciliation review screen, independent or hands-on confirmation of the reconciliation workflow.",
    "evidenceIds": [
      "freshbooks-supp-bank-rec",
      "freshbooks-supp-double-entry"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "FreshBooks documents linking bank accounts for automated reconciliation, embedded payroll as part of its 100+ integrations, online payment collection (cards/ACH/etc.), and a dedicated Bill Pay product for vendor payments that syncs into the ledger — collectively covering banking, payments, and payroll flowing into the books automatically. Missing for 10: independent/hands-on confirmation that bank feeds and payroll sync work reliably in practice, and more detail on which specific bank/payroll providers are supported.",
    "evidenceIds": [
      "freshbooks-supp-bank-rec",
      "freshbooks-supp-bill-pay",
      "freshbooks-docs-2",
      "freshbooks-docs-7",
      "freshbooks-supp-double-entry"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "bill-capture-approval-payment",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "FreshBooks Bill Pay documents bill capture ('Upload a file or snap a photo; Bill Pay reads the details and recreates the bill') and payment scheduling/execution by ACH or check, covering capture-to-payment scheduling in one workflow. However, there is no evidence of a distinct approval-routing step (multi-user sign-off before payment) — missing for 10: documented approval workflow/routing feature, evidence of multi-step sign-off controls, and independent/hands-on confirmation of the Bill Pay flow.",
    "evidenceIds": [
      "freshbooks-supp-bill-pay",
      "freshbooks-docs-10",
      "freshbooks-docs-11"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "chart-of-accounts-management",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "FreshBooks docs mention a 'customizable chart of accounts' and journal entries referencing account_uuid via the Get Accounts endpoint, showing basic COA existence and editability, but there is no evidence of account type configuration, sub-account hierarchies, or class/tag dimensions for transaction tagging. missing for 10: account type customization, sub-account/hierarchy support, class or tag dimension tracking, independent corroboration of these features.",
    "evidenceIds": [
      "freshbooks-supp-double-entry",
      "freshbooks-supp-journal-entries"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "complete-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence pack item mentions an audit log, change history, user attribution for edits, or timestamped audit trail across the ledger; only journal entries, reports, and accountant access are documented without any change-tracking feature. This is a plausible axis for accounting software, so absence of evidence yields 'none' rather than 'na'.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "create-send-invoices",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "FreshBooks docs confirm invoice creation with customizable payment options, multiple online payment methods (cards, ACH, Apple/Google Pay, BNPL), and a Payments API with webhook notifications (e.g., invoice.create) enabling read status/paid tracking. This directly covers create/send invoices, online payment, and view/paid visibility. Missing for 10: explicit documentation or screenshot of an invoice 'viewed' read-receipt status in the UI, and independent/hands-on confirmation of the view-tracking feature beyond API/webhook inference.",
    "evidenceIds": [
      "freshbooks-docs-1",
      "freshbooks-docs-2",
      "freshbooks-docs-15",
      "freshbooks-docs-17",
      "freshbooks-supp-webhooks",
      "freshbooks-supp-api-surface"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "custom-reports-dimensions",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "FreshBooks' Reports API documents only seven fixed report types (e.g., Invoice Details, Manual Journal Entry, Payments Collected) with no mention of class, location, or tag dimensions, nor any custom report builder with grouping/filtering by these attributes. This is a fair axis for accounting software but no evidence shows FreshBooks supports it.",
    "evidenceIds": [
      "freshbooks-supp-reports-api",
      "freshbooks-docs-19"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "financial-statements-generation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "FreshBooks documents core accounting infrastructure that would support these statements — double-entry chart of accounts, journal entries, accountant collaboration to 'run reports', and a Reports API exposing 'seven types of reports' (though only Invoice Details, Manual Journal Entry, and Payments Collected are named) plus generic 'tax-time reports' and 'detailed financial reports' claims. However, no evidence explicitly confirms dedicated Profit & Loss, Balance Sheet, or Cash Flow statement reports or on-demand period selection for them. Missing for 10: explicit documentation naming P&L/balance sheet/cash-flow reports, evidence of on-demand period customization, and independent/hands-on confirmation of report accuracy.",
    "evidenceIds": [
      "freshbooks-supp-reports-api",
      "freshbooks-supp-double-entry",
      "freshbooks-docs-5",
      "freshbooks-docs-8",
      "freshbooks-supp-journal-entries"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "full-gl-export-via-api",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "FreshBooks documents a REST API with Journal Entries and 'Other Reports' endpoints (including Manual Journal Entry and Payments Collected reports) that expose ledger-level data in JSON via OAuth2, giving developers programmatic access to accounting data. However, no evidence names a dedicated 'General Ledger' or 'Trial Balance' report/endpoint, nor confirms export in open formats like CSV/OFX beyond JSON API responses. Missing for 10: explicit General Ledger and Trial Balance report endpoints, confirmation of open-format exports (CSV/OFX), independent developer confirmation of pulling these specific reports.",
    "evidenceIds": [
      "freshbooks-docs-18",
      "freshbooks-docs-19",
      "freshbooks-supp-journal-entries",
      "freshbooks-supp-reports-api",
      "freshbooks-supp-oauth"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence pack item mentions period locking, closing periods, or preventing edits to prior-period transactions without explicit reopening; FreshBooks docs cover invoicing, journal entries, reports, and API access but nothing about close controls.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "manual-journal-entries",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "FreshBooks documents a Journal Entries API/UI supporting double-entry postings that require account_uuid plus debit or credit amounts, and it exposes a 'Manual Journal Entry' report, confirming balanced-entry posting is possible alongside accountant collaboration on the chart of accounts. However, evidence does not show a memo/description field for supporting notes, nor explicit validation that entries must balance, nor first-party UI walkthroughs (only API-level docs) confirming this journal entry flow end-to-end. Missing for 10: explicit memo/note field support, explicit balance-validation behavior, and independent/hands-on confirmation of the manual journal entry UI workflow.",
    "evidenceIds": [
      "freshbooks-supp-journal-entries",
      "freshbooks-supp-double-entry",
      "freshbooks-supp-reports-api",
      "freshbooks-docs-18"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "migrate-historical-books",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence in the pack mentions data migration, import tools, historical transaction import, or conversion from other accounting systems (e.g., QuickBooks). The API surface (invoices, expenses, journal entries) could theoretically support a custom migration, but there's no documented migration feature, import wizard, or third-party migration tool referenced.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "month-end-close-checklist",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "FreshBooks documents bank reconciliation automation, journal entries, and accountant collaboration, but there is no evidence of a structured month-end close checklist that tracks reconciliations, accruals, and review sign-offs as a workflow feature — no mention of accrual entries, close tasks, or approval/sign-off tracking. missing for 10: close checklist/task tracking, accrual entry workflows, review sign-off or approval features.",
    "evidenceIds": [
      "freshbooks-supp-bank-rec",
      "freshbooks-supp-double-entry",
      "freshbooks-supp-journal-entries"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "multi-entity-consolidation",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "FreshBooks is designed for single-business invoicing/bookkeeping (per-account chart of accounts, journal entries, reports) and no evidence pack item mentions multi-entity management, inter-company eliminations, or consolidated financial statements across separate legal entities. This is a fair question for an accounting product to ask, so absence of evidence yields 'none' rather than 'na'.",
    "evidenceIds": [
      "freshbooks-supp-double-entry",
      "freshbooks-supp-reports-api",
      "freshbooks-supp-journal-entries"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "FreshBooks documents a broad REST API (invoices, expenses, payments, journal entries, reports, clients, taxes, bills-beta) with OAuth, webhooks, and an official SDK, covering most core accounting workflows an AI agent could drive. However, several UI-surfaced features (Bill Pay automation, Payroll, Team member management, human Bookkeeping service tier) are only described as product/marketing features with no corresponding API endpoints in the evidence, and there's no independent confirmation of full UI-API parity. Missing for 10: API coverage confirmation for Bill Pay, Payroll, Team Members, and Bookkeeping service; independent/hands-on verification of parity claims.",
    "evidenceIds": [
      "freshbooks-supp-api-surface",
      "freshbooks-supp-journal-entries",
      "freshbooks-supp-reports-api",
      "freshbooks-supp-oauth",
      "freshbooks-supp-webhooks",
      "freshbooks-supp-bill-pay",
      "freshbooks-docs-7",
      "freshbooks-docs-6",
      "freshbooks-supp-bookkeeping-service"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "FreshBooks exposes a full REST API (invoices, expenses, payments, journal entries, reports) with an official SDK, letting AI-native users programmatically extract virtually all their data in JSON, which is a reasonably open format. However there is no documented bulk export-to-open-format (CSV/JSON dump) feature, no data portability/GDPR export tool, and probes show no llms.txt or markdown docs, suggesting export is only via manual API integration rather than a one-click 'leave with your data' path. missing for 10: a native bulk data export/download feature, documented data portability guarantees, and independent evidence of successful full-account export via the API.",
    "evidenceIds": [
      "freshbooks-supp-api-surface",
      "freshbooks-supp-reports-api",
      "freshbooks-supp-journal-entries",
      "freshbooks-gh-1",
      "freshbooks-probe-1",
      "freshbooks-probe-2"
    ]
  },
  {
    "productId": "freshbooks",
    "storyId": "openness-open-license",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "FreshBooks is closed-source commercial SaaS accounting software; source-code openness is not a category-relevant axis for this type of product, unlike an SDK/API being available.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "FreshBooks is a proprietary SaaS accounting product with no self-hosted or open-source distribution; self-hosting is not a coherent axis for this category of hosted commercial software.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack addresses data residency, region selection, or storage location options for FreshBooks; the docs cover invoicing, API, and accounting features but never mention data-center location or residency controls.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence pack item addresses AI training data usage, opt-outs, or any privacy policy language about AI model training; FreshBooks materials focus solely on invoicing/accounting features and API docs.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence pack items address AI data retention, deletion controls, or privacy policies specific to AI-native usage; the docs focus on invoicing, API endpoints, and pricing with no mention of data retention/deletion controls or AI data handling policies.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence exists of any telemetry/usage-tracking opt-out control, privacy settings, or documentation addressing AI-native data collection preferences; FreshBooks' docs cover invoicing, accounting, and API surfaces only, with no privacy-posture disclosures.",
    "evidenceIds": []
  },
  {
    "productId": "freshbooks",
    "storyId": "recurring-invoices-reminders",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers general invoicing, payment methods, expense tracking, bill pay (for outgoing vendor bills), and API endpoints, but nowhere mentions recurring invoice scheduling or automated reminders to customers for overdue invoices. This is a core, plausible capability for an invoicing/AR product, so the axis applies, but no citation confirms it. missing for 10: explicit documentation of recurring invoice setup, automatic overdue payment reminder configuration.",
    "evidenceIds": []
  },
  {
    "productId": "kick",
    "storyId": "accountant-collaboration-access",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Kick explicitly supports role-based access control ('you decide exactly who can see and do what'), lock periods where an accountant can finalize and lock books against changes, a full audit trail of workspace activity, and a dedicated Tax Package/accountant workflow with a marketed accountants page — together enabling a founder to invite an external accountant with scoped access to review/adjust books. Missing for 10: no explicit documentation of granular invite flow or specific role types (e.g., 'accountant' vs 'bookkeeper' role names) and no independent/hands-on confirmation of the invite UX.",
    "evidenceIds": [
      "kick-docs-11",
      "kick-supp-locks",
      "kick-supp-audit-trail",
      "kick-docs-9",
      "kick-docs-3",
      "kick-docs-14"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agent-answers-affordability",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Kick documents an AI workflow where live report data lands in Google Sheets so Gemini/Claude/ChatGPT can read and reason over it, which could support a question like \"can we afford X?\", but this runs through a spreadsheet bridge, not a genuine public ledger API — probes show openapi/swagger endpoints all 404, and the only live MCP endpoint found serves GitBook documentation search, not ledger data or account actions. Missing for 10: a documented public API or account-scoped MCP server exposing live ledger data directly to agents, and any evidence of natural-language affordability Q&A being answered from it.",
    "evidenceIds": [
      "kick-supp-sheets-ai",
      "kick-docs-2",
      "kick-probe-2",
      "kick-probe-3",
      "kick-supp-docs-agent-surface"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Kick's reconciliation workflow explicitly checks for missing/duplicate transactions before close, and AI categorization has confidence-gating that flags low-confidence transactions for manual review, with all actions logged in a full audit trail — covering pieces of anomaly detection. However, there's no documented feature where an agent proactively/continuously monitors the ledger and surfaces anomaly or duplicate alerts ahead of close; the AI-agent angle is limited to external LLMs reasoning over exported Sheets report data, not a native monitoring agent. Missing for 10: a dedicated automated agent/alerting workflow for anomaly and duplicate detection tied to close, and evidence of proactive (vs. manual/scheduled) flagging.",
    "evidenceIds": [
      "kick-supp-reconciliation",
      "kick-supp-categorization",
      "kick-supp-audit-trail",
      "kick-docs-2",
      "kick-supp-sheets-ai"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agent-posts-journal-entries",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Kick documents journal entries, categorization confidence-gating, rules, and period locks, but there is no evidence of a public API/SDK for agents to draft or post journal entries programmatically, nor any 'review queue' workflow exposed via API. The only discovered API-like surface is a GitBook docs-search MCP endpoint (docs only, not ledger actions), and explicit probes for an OpenAPI spec returned 404s.",
    "evidenceIds": [
      "kick-supp-journal-entries",
      "kick-probe-2",
      "kick-probe-3",
      "kick-supp-docs-agent-surface"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agent-reconciles-month-end",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Kick's AI auto-categorizes ~97% of transactions and gates low-confidence items for manual review, and the product includes month-end period locks and a full audit trail logging AI agent actions — echoing pieces of an end-to-end reconciliation workflow. However, the reconciliation docs themselves describe reconciliation as a process of comparing Kick's records to bank statements without documenting that Kick's AI actually performs the matching/flagging of reconciliation exceptions (as opposed to categorization); there's no evidence of a single agent command that walks through match, flag, and prepare-for-review end-to-end. Missing for 10: documented AI-driven bank-statement matching/exception flagging specific to reconciliation (not just categorization), and a described single-agent workflow that completes a full month-end close autonomously.",
    "evidenceIds": [
      "kick-supp-categorization",
      "kick-supp-reconciliation",
      "kick-supp-locks",
      "kick-supp-audit-trail",
      "kick-probe-1"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "A live llms.txt index exists at docs.kick.co/llms.txt (HTTP 200, confirmed by probe) with markdown mirrors and a documented ask-query interface, plus a real MCP JSON-RPC endpoint for docs search, giving agents multiple ways to consume agent-oriented documentation. missing for 10: this is a GitBook platform surface rather than a Kick-built capability, and there's no independent (non-vendor) corroboration of agents actually using it successfully.",
    "evidenceIds": [
      "kick-probe-1",
      "kick-supp-docs-agent-surface",
      "kick-probe-3"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-ai-insights",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Kick documents AI categorization of transactions (auto-labeling ~97% on first pass, confidence-gated, learns from corrections) and real-time P&L updates from that AI action, which is a form of AI acting on user data. However, this is transactional automation, not explicit 'insights and suggestions' (e.g., anomaly flags, forecasts, recommendations) surfaced inside the product itself; the only place data is 'reasoned over' by AI (Gemini/Claude/ChatGPT) is via export to Google Sheets, which is outside the core product UI. Missing for 10: in-app AI-generated insights/recommendations dashboard, proactive suggestions beyond categorization, and evidence of AI reasoning happening natively within Kick rather than via Sheets/GitBook docs-search surfaces.",
    "evidenceIds": [
      "kick-supp-categorization",
      "kick-supp-sheets-ai",
      "kick-probe-1"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Kick automates categorization, transfer matching, reconciliation checks, and rule-based overrides continuously in the background (kick-supp-categorization, kick-supp-reconciliation, kick-docs-7), which is a form of autonomous background automation for bookkeeping tasks. However, this is limited to Kick's own fixed bookkeeping pipeline, not a general-purpose, user-configurable automation/agent framework that an AI-native user could set up for arbitrary autonomous tasks. missing for 10: evidence of user-defined autonomous workflows/agents beyond built-in categorization rules, a scheduling/trigger system for custom automations, or an automation builder — none is documented; MCP surfaces found are docs-search only, not action-capable agents.",
    "evidenceIds": [
      "kick-supp-categorization",
      "kick-docs-7",
      "kick-supp-reconciliation",
      "kick-supp-audit-trail",
      "kick-probe-3"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-builtin-assistant",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Kick documents AI automation for bookkeeping (auto-categorization with confidence gating, described as 'self-driving' per llms.txt) and logs AI actions in an audit trail, but this is background automation of a fixed task, not a conversational assistant a user delegates arbitrary tasks to. The actual 'ask an AI' workflow routes through external tools (Gemini/Claude/ChatGPT) reasoning over exported Sheets data, not a built-in assistant inside Kick's own UI. Missing for 10: a native in-product chat/assistant interface, evidence of delegating open-ended tasks (not just categorization) to it, and independent confirmation of this workflow beyond vendor docs.",
    "evidenceIds": [
      "kick-supp-categorization",
      "kick-supp-audit-trail",
      "kick-probe-1",
      "kick-supp-sheets-ai"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-headless",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of an API, CLI, or headless automation surface for actual Kick operations: OpenAPI/swagger probes all 404, and the only live MCP endpoint found is a GitBook docs-search server, not a Kick account/ledger API. The single 'MCP/CLI' mention on the pricing page is a bare link with no supporting documentation of scriptable/CI-usable functionality.",
    "evidenceIds": [
      "kick-probe-2",
      "kick-probe-3",
      "kick-supp-docs-agent-surface",
      "kick-docs-1"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "There is no evidence that Kick lets users plug external MCP servers into the product so it can call their tools. The only MCP-related evidence is a GitBook-provided docs-search MCP endpoint (serving documentation, not Kick data or actions) and a separate workflow where Kick data is exported to Google Sheets for AI tools to read — neither shows Kick acting as an MCP client consuming external servers.",
    "evidenceIds": [
      "kick-probe-3",
      "kick-supp-docs-agent-surface",
      "kick-supp-sheets-ai"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-mcp-server",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The only MCP endpoint found is a generic GitBook platform docs-search server (serverInfo \"mcp-typescript server on vercel\"), explicitly noted as serving documentation, not Kick account data or ledger actions — not an official Kick-built MCP server. Kick's documented AI workflow instead routes through Google Sheets exports for LLMs, with no first-party MCP server for agent access to financial data or actions.",
    "evidenceIds": [
      "kick-probe-3",
      "kick-supp-docs-agent-surface",
      "kick-supp-sheets-ai",
      "kick-probe-2"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-nl-commands",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Kick supports AI-native interaction only indirectly: reports sync as live data to Google Sheets so Gemini/Claude/ChatGPT can read, reason over, and even write back to the sheet, and the docs are agent-legible via GitBook's MCP/llms.txt surfaces. But there's no evidence of a native chat/NL command interface inside Kick itself for issuing commands like 'recategorize this transaction' or 'send this invoice' — the MCP endpoint found only serves documentation search, not account actions, and AI categorization is automatic/rule-based rather than user-prompted NL commands. Missing for 10: a first-party NL command interface or agent that can execute ledger/invoicing/bill-pay actions directly from user prompts, and independent corroboration of the write-back capability actually altering Kick data (not just the sheet).",
    "evidenceIds": [
      "kick-docs-2",
      "kick-supp-sheets-ai",
      "kick-supp-docs-agent-surface",
      "kick-probe-3",
      "kick-supp-categorization"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of a Kick-built CLI exists; the only 'CLI' mention is an unresolved label on a pricing page, and the actual agent-facing surfaces documented (GitBook llms.txt, GitBook MCP endpoint, Google Sheets AI workflow) are docs-search or spreadsheet integrations, not a command-line interface for interacting with Kick. missing for 10: any documented CLI tool, install instructions, command reference, or hands-on confirmation of a Kick CLI.",
    "evidenceIds": [
      "kick-docs-1",
      "kick-supp-docs-agent-surface",
      "kick-probe-3"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-public-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No documented public API for driving Kick itself was found: an OpenAPI/API probe returned 404s everywhere, and the only working MCP endpoint is explicitly a GitBook docs-search server that 'serves documentation, not Kick account data or ledger actions.' The AI integration path is one-way reporting into Google Sheets for LLMs to read, not a programmatic API to act on the product.",
    "evidenceIds": [
      "kick-probe-2",
      "kick-probe-3",
      "kick-supp-docs-agent-surface",
      "kick-supp-sheets-ai"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any API credential system, scoped tokens, OAuth grants, or agent-specific permission levels for Kick's product/account data—only role-based access control for human team members and a documentation-search MCP endpoint unrelated to account access. No mention of issuing least-privilege API keys or credentials for AI agents to act on a user's financial data.",
    "evidenceIds": [
      "kick-docs-11",
      "kick-supp-security",
      "kick-probe-3",
      "kick-probe-2"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "There is no evidence of an official Kick SDK: the OpenAPI/Swagger probe returned 404 on all candidate paths, and the only MCP endpoint found (kick-probe-3) is GitBook's generic docs-search MCP server, not a Kick-built API/SDK — it serves documentation, not account or ledger data. AI workflows are routed indirectly through Google Sheets exports rather than a programmable SDK.",
    "evidenceIds": [
      "kick-probe-2",
      "kick-probe-3",
      "kick-supp-docs-agent-surface",
      "kick-supp-sheets-ai"
    ]
  },
  {
    "productId": "kick",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence anywhere in the pack of a webhooks feature or event subscription mechanism for Kick account/ledger data; the only outbound integrations mentioned are docs-search MCP (GitBook platform) and Google Sheets sync, neither of which is a webhook subscription API.",
    "evidenceIds": []
  },
  {
    "productId": "kick",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Kick supports AP-adjacent features — viewing and managing bills with real-time sync from Ramp/BILL (kick-docs-13, kick-supp-invoicing-billpay), a real double-entry ledger (kick-supp-journal-entries), and locked periods that keep historical reports stable so numbers can be trusted 'at any point in time' (kick-supp-locks, kick-docs-14). However, there is no explicit documentation of an AP aging report (e.g., 30/60/90-day buckets) or a vendor-balance summary view — only bill list/sync visibility is evidenced. Missing for 10: dedicated AP aging report, vendor balance summary/report, and evidence of historical point-in-time AP snapshots beyond generic locked-period stability.",
    "evidenceIds": [
      "kick-docs-13",
      "kick-supp-invoicing-billpay",
      "kick-supp-journal-entries",
      "kick-supp-locks",
      "kick-docs-14"
    ]
  },
  {
    "productId": "kick",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "There's no evidence of an interactive API reference or runnable code examples; probes explicitly show no OpenAPI/Swagger spec exists (all candidate paths 404), and the only 'API-like' surface is GitBook's generic docs-search MCP endpoint, which serves documentation text, not a runnable API reference.",
    "evidenceIds": [
      "kick-probe-2",
      "kick-supp-docs-agent-surface",
      "kick-probe-3"
    ]
  },
  {
    "productId": "kick",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "A direct probe for an OpenAPI/Swagger spec returned 404 on all candidate paths, and no evidence pack item shows a downloadable machine-readable API spec for Kick's own product API; the only machine-readable surfaces found (llms.txt, GitBook MCP) serve documentation, not an API contract.",
    "evidenceIds": [
      "kick-probe-2",
      "kick-supp-docs-agent-surface",
      "kick-probe-3"
    ]
  },
  {
    "productId": "kick",
    "storyId": "api-sandbox",
    "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": "kick",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of a public, versioned Kick API exists — the openapi/swagger probe returned 404 on all candidate paths, and the only MCP/API-like surface found is GitBook's generic docs-search MCP endpoint, not a Kick-built account/ledger API. There is no mention anywhere in the docs of API versioning schemes or a deprecation policy.",
    "evidenceIds": [
      "kick-probe-2",
      "kick-supp-docs-agent-surface",
      "kick-probe-3"
    ]
  },
  {
    "productId": "kick",
    "storyId": "ar-aging-customer-balances",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Kick supports AR via invoices synced from Stripe/Mercury/BILL and native invoice creation (kick-docs-12, kick-supp-invoicing-billpay), and the Plus plan advertises 'AR & AP' as a feature (kick-supp-pricing), implying some balance tracking exists. However, there is no documented aging report, no explicit per-customer balance/statement view, and AR appears to depend on synced platforms rather than a dedicated native AR module. Missing for 10: documented aging reports (30/60/90-day buckets), per-customer balance ledger or statement view, and any hands-on/independent confirmation of AR reporting depth.",
    "evidenceIds": [
      "kick-docs-12",
      "kick-supp-invoicing-billpay",
      "kick-supp-pricing"
    ]
  },
  {
    "productId": "kick",
    "storyId": "auto-categorization-suggestions",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Kick's docs explicitly state AI auto-categorizes ~97% of transactions on first pass, learns from user corrections, and lets users create Rules that override AI categorization permanently for future matching transactions — directly matching the story's requirement for learning-based categorization suggestions. Confidence gating (low-confidence transactions left uncategorized) further supports a learning/feedback loop. Missing for 10: no independent/hands-on verification of the learning accuracy or how quickly corrections propagate, and no detail on the mechanism (per-vendor vs. global learning).",
    "evidenceIds": [
      "kick-supp-categorization",
      "kick-docs-7"
    ]
  },
  {
    "productId": "kick",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Kick's AI categorizes ~97% of transactions automatically and rules apply logic across every matching transaction going forward, and multi-entity transaction splitting affects many items at once — all forms of bulk-scale automation. However there is no documented bulk-edit UI, batch API, or CLI/MCP action surface for an AI agent to programmatically trigger bulk operations across many items on demand. Missing for 10: explicit bulk-select/bulk-edit feature, a programmatic bulk-action API or CLI, and evidence of agent-triggered bulk operations beyond passive AI categorization.",
    "evidenceIds": [
      "kick-supp-categorization",
      "kick-docs-7",
      "kick-docs-6",
      "kick-docs-4"
    ]
  },
  {
    "productId": "kick",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Kick's documented Rules feature lets users define logic that overrides AI categorization and 'run automatically whenever a matching transaction syncs' — a real event-triggered automation rule engine. However, this is scoped narrowly to transaction categorization events rather than a general-purpose trigger/action framework spanning arbitrary events (e.g., invoicing, bill pay, entity actions). Missing for 10: evidence of rules triggering on non-categorization events, multi-step or cross-feature actions, and any user-facing rule builder UI/API details beyond the single doc description.",
    "evidenceIds": [
      "kick-docs-7",
      "kick-supp-categorization"
    ]
  },
  {
    "productId": "kick",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Kick documents event-driven automation (AI categorization on sync, rules triggered by matching transactions) but no evidence of user-schedulable recurring jobs/workflows (e.g., recurring invoices, scheduled reports, cron-like automation) that an AI-native user could set up and manage.",
    "evidenceIds": []
  },
  {
    "productId": "kick",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Kick documents an audit trail (Activity tab) that logs categorization/rule changes, but there is no evidence of versioning automation Rules or rolling back an automation to a prior state — only a log of what happened, not a way to view/restore prior rule versions.",
    "evidenceIds": [
      "kick-supp-audit-trail",
      "kick-docs-7",
      "kick-supp-locks"
    ]
  },
  {
    "productId": "kick",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Kick's docs confirm bank/credit-card connection via Plaid with automatic transaction sync ('every transaction in Kick comes from a bank feed or an import'), AI categorization triggered 'when transactions sync into Kick', and a PDF/CSV fallback for institutions Plaid doesn't cover. This clearly delivers the core capability, though the exact 'daily' cadence isn't explicitly stated and there's no independent/hands-on corroboration of sync reliability. Missing for 10: explicit statement of daily sync frequency, independent verification of import reliability.",
    "evidenceIds": [
      "kick-supp-security",
      "kick-docs-4",
      "kick-supp-reconciliation",
      "kick-supp-categorization"
    ]
  },
  {
    "productId": "kick",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Kick's docs describe reconciliation as comparing ledger transactions against bank/credit statements to confirm amounts, dates, and flag missing or duplicate transactions, which aligns with the matched/unmatched/duplicate framing in the story. However, there's no detailed evidence of a dedicated UI that explicitly buckets transactions into 'matched,' 'unmatched,' and 'duplicate' categories for accountant review, nor screenshots or workflow steps showing how discrepancies are resolved. Missing for 10: explicit UI/workflow evidence of distinct matched/unmatched/duplicate views, reconciliation report exports, and independent/hands-on confirmation of the review process.",
    "evidenceIds": [
      "kick-docs-8",
      "kick-supp-reconciliation"
    ]
  },
  {
    "productId": "kick",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Kick connects banking via Plaid (with manual PDF/CSV backfill for unsupported institutions), syncs payment/invoicing data from Stripe, Mercury, Ramp, and BILL, and posts payroll runs directly as journal entries into a real double-entry ledger with automated AI categorization. missing for 10: explicit named payroll provider integrations (e.g., Gusto/Rippling) beyond the generic 'payroll run' mention, and independent third-party corroboration beyond Kick's own docs.",
    "evidenceIds": [
      "kick-docs-4",
      "kick-docs-12",
      "kick-docs-13",
      "kick-supp-journal-entries",
      "kick-supp-categorization",
      "kick-supp-invoicing-billpay"
    ]
  },
  {
    "productId": "kick",
    "storyId": "bill-capture-approval-payment",
    "verdict": "partial",
    "quality": 3,
    "confidence": "medium",
    "rationale": "Kick can 'view and manage' bills synced in real time from Ramp or BILL, but the docs explicitly note Kick does not capture bills natively or execute vendor payments itself — it relies on synced data from external AP tools, and there is no documented approval-routing workflow within Kick. Missing for 10: native bill capture/OCR intake, an in-app approval-routing step, and evidence of Kick itself scheduling/executing payments (currently pass-through from Ramp/BILL).",
    "evidenceIds": [
      "kick-docs-13",
      "kick-supp-invoicing-billpay"
    ]
  },
  {
    "productId": "kick",
    "storyId": "chart-of-accounts-management",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Docs confirm a standard Chart of Accounts that accountants can add/rename/restructure, and pricing explicitly lists 'classes' as a Plus-tier dimension feature, supporting class-based tagging. However there is no explicit documentation of sub-account/parent-child hierarchies or generic 'tag' dimensions beyond classes, and account-type customization is only implied by 'restructuring' rather than detailed. Missing for 10: explicit sub-account nesting support, explicit account-type editing controls, and tag (non-class) dimension documentation.",
    "evidenceIds": [
      "kick-supp-coa",
      "kick-supp-pricing"
    ]
  },
  {
    "productId": "kick",
    "storyId": "complete-audit-trail",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Kick documents a full Activity tab audit trail logging every transaction change, categorization update, and sync event with timestamp and actor (including AI agent actions), plus period locks that prevent retroactive changes to closed periods and RBAC to control who can act. This directly covers who-changed-what-when across the ledger, including multi-entity workspaces. Missing for 10: no independent/hands-on corroboration of the audit trail in practice, no detail on exporting/filtering audit logs for compliance review, and no explicit confirmation the trail spans across all entities in a multi-entity workspace simultaneously.",
    "evidenceIds": [
      "kick-supp-audit-trail",
      "kick-docs-10",
      "kick-supp-locks",
      "kick-docs-14",
      "kick-docs-11",
      "kick-docs-5"
    ]
  },
  {
    "productId": "kick",
    "storyId": "create-send-invoices",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Kick lets founders create and send invoices directly and also view invoices synced from Stripe, Mercury, and BILL, giving AR visibility; but the docs describe invoicing as largely a sync/view layer for AR (no native online payment collection is documented, and there's no mention of payment-status tracking like 'viewed' or 'paid' timestamps within Kick itself — that likely happens on the connected platform, not in Kick). missing for 10: documented online payment collection built into Kick-issued invoices, and explicit view/paid status tracking or notifications within Kick's own invoicing UI.",
    "evidenceIds": [
      "kick-docs-12",
      "kick-supp-invoicing-billpay"
    ]
  },
  {
    "productId": "kick",
    "storyId": "custom-reports-dimensions",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence only shows that the Plus plan includes 'classes' as a feature label in pricing (kick-supp-pricing), but there is no documentation of a report builder that lets users filter/group by class, location, or tag dimensions, nor any mention of 'location' or 'tag' dimensions at all. Missing for 10: documented custom report builder UI, filter/group-by controls, evidence of location dimension, evidence of tag dimension.",
    "evidenceIds": [
      "kick-supp-pricing"
    ]
  },
  {
    "productId": "kick",
    "storyId": "financial-statements-generation",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Kick's docs show a real double-entry ledger with live P&L and Balance Sheet organized by Chart of Accounts, updating in real time as transactions are categorized, plus period locking that keeps historical reports accurate for any locked period (kick-supp-coa, kick-supp-categorization, kick-supp-journal-entries, kick-supp-locks). However, no evidence explicitly confirms a cash-flow statement report or an 'any period on demand' report generator UI — missing for 10: explicit cash-flow statement documentation, evidence of arbitrary custom date-range reporting on demand, and independent/hands-on verification of statement accuracy.",
    "evidenceIds": [
      "kick-supp-coa",
      "kick-supp-categorization",
      "kick-supp-journal-entries",
      "kick-supp-locks",
      "kick-docs-9"
    ]
  },
  {
    "productId": "kick",
    "storyId": "full-gl-export-via-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Kick documents a real double-entry ledger, chart of accounts, and journal entries, but there is no evidence of a documented API for exporting the general ledger or trial balance in open formats — the openapi probe returned 404s on all candidate endpoints, and the only 'API'-like surfaces found are a GitBook docs-search MCP server and Google Sheets AI integration, neither of which expose ledger/GL data programmatically.",
    "evidenceIds": [
      "kick-probe-2",
      "kick-supp-journal-entries",
      "kick-supp-coa",
      "kick-supp-docs-agent-surface",
      "kick-probe-3",
      "kick-supp-sheets-ai"
    ]
  },
  {
    "productId": "kick",
    "storyId": "lock-closed-periods",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Kick documents explicit period locking: an accountant locks a period after review, which 'protects the finalized books for that period from being changed - by anyone, including you,' and locked-period reports 'remain accurate and stable,' implying reopening is required for changes. This directly matches the accountant story of preventing prior-period edits without explicit reopening. Missing for 10: explicit documentation of the reopening workflow/permissions and independent/hands-on confirmation beyond vendor docs.",
    "evidenceIds": [
      "kick-supp-locks",
      "kick-docs-14"
    ]
  },
  {
    "productId": "kick",
    "storyId": "manual-journal-entries",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Kick documents a genuine double-entry ledger where every transaction generates a journal entry with debit/credit sides, plus a chart of accounts accountants can adjust, supporting the underlying ledger mechanics. However, the evidence describes journal entries as system-generated from transactions/payroll/bills, not explicit manual entry creation by an accountant with supporting memos. Missing for 10: explicit documentation of manually creating/posting a journal entry, memo/description fields on manual entries, and confirmation entries must balance before posting.",
    "evidenceIds": [
      "kick-supp-journal-entries",
      "kick-supp-coa",
      "kick-supp-locks"
    ]
  },
  {
    "productId": "kick",
    "storyId": "migrate-historical-books",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Kick documents CSV/PDF backfill for historical data and offers a paid 'Advanced' tier with dedicated 'migration support,' plus a customer testimonial about switching off QBO — suggesting migration is a supported workflow. However, there's no documentation of how transaction-level detail, historical journal entries, or opening balances are preserved during a full accounting-system migration. Missing for 10: detailed migration/import methodology, evidence of transaction-level fidelity (e.g., historical journal entries, categorization history) surviving migration, and independent corroboration beyond one testimonial.",
    "evidenceIds": [
      "kick-docs-4",
      "kick-docs-3",
      "kick-supp-pricing"
    ]
  },
  {
    "productId": "kick",
    "storyId": "month-end-close-checklist",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Kick documents core close primitives — reconciliation against bank statements, period locks that finalize books, an audit trail of activity/AI actions, and rules/categorization workflows — which together support month-end close discipline. However, there is no evidence of a dedicated checklist feature tracking accruals as discrete tasks, formal review sign-off workflows, or a consolidated close-status dashboard for accountants. Missing for 10: a documented month-end checklist UI, explicit accrual task tracking, and formal sign-off/approval steps beyond simple period locking.",
    "evidenceIds": [
      "kick-supp-reconciliation",
      "kick-supp-locks",
      "kick-supp-audit-trail",
      "kick-docs-7",
      "kick-supp-coa"
    ]
  },
  {
    "productId": "kick",
    "storyId": "multi-entity-consolidation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Kick documents multi-entity management from a single workspace, including cross-entity expense splitting (kick-docs-5, kick-docs-6), and pricing tiers explicitly support 'unlimited entities' (kick-supp-pricing). However, there is no explicit documentation of consolidated financial statements or roll-up reporting across entities—only per-entity management and transaction splitting are described. Missing for 10: explicit consolidated P&L/Balance Sheet reporting across entities, evidence of a consolidation feature or combined financial statement output.",
    "evidenceIds": [
      "kick-docs-5",
      "kick-docs-6",
      "kick-supp-pricing"
    ]
  },
  {
    "productId": "kick",
    "storyId": "openness-api-parity",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence shows no general Kick API: OpenAPI/swagger probes all 404'd, the only MCP endpoint found is a GitBook docs-search server explicitly noted to serve documentation, not Kick account data or ledger actions, and the AI workflow route is one-directional Google Sheets report export (with limited spreadsheet write-back, not writing into Kick). There is no evidence of programmatic access to core UI actions like categorization, reconciliation, invoicing, or entity management.",
    "evidenceIds": [
      "kick-probe-2",
      "kick-probe-3",
      "kick-supp-docs-agent-surface",
      "kick-supp-sheets-ai",
      "kick-supp-invoicing-billpay"
    ]
  },
  {
    "productId": "kick",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Kick offers some export surfaces — a Tax Package that bundles reports into a single Excel file and live Google Sheets sync of reports for AI tools to read — but there is no documented capability to export the full ledger/transactions/journal entries in bulk open formats (CSV/JSON) or a documented account-closure/migration export process; 'migration support' is only mentioned as a paid Advanced-tier perk with no detail. missing for 10: full-data export (transactions, journal entries, chart of accounts) in open formats, documented account closure/migration workflow, evidence of independent/hands-on export testing.",
    "evidenceIds": [
      "kick-docs-9",
      "kick-supp-sheets-ai",
      "kick-supp-pricing",
      "kick-docs-4"
    ]
  },
  {
    "productId": "kick",
    "storyId": "openness-open-license",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Kick is a closed-source SaaS accounting product; nothing in the evidence relates to publishing its source code under an open license. The 'open source' axis is a category error for a proprietary financial SaaS product — the closest topics (docs accessibility, MCP endpoints) concern documentation, not source code licensing.",
    "evidenceIds": []
  },
  {
    "productId": "kick",
    "storyId": "openness-self-host",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Kick is presented purely as a hosted SaaS accounting platform with tiered cloud pricing plans; nothing in the evidence pack mentions an on-premise, open-source, or self-hosted deployment option.",
    "evidenceIds": [
      "kick-supp-pricing"
    ]
  },
  {
    "productId": "kick",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Kick's evidence pack (security, pricing, integrations, multi-entity docs) never mentions data residency options, regional storage selection, or geographic data controls; only generic encryption-in-transit/at-rest claims are documented.",
    "evidenceIds": [
      "kick-supp-security"
    ]
  },
  {
    "productId": "kick",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Kick's evidence covers security (encryption, RBAC, audit trail) and AI-based categorization, but there is no documentation of an opt-out for AI/model training on user data, no privacy policy excerpt, and no data-usage/training statement of any kind.",
    "evidenceIds": []
  },
  {
    "productId": "kick",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence covers encryption, RBAC, and audit trails but contains no mention of data retention policies, data export, or account/data deletion controls that a user could invoke. Nothing addresses this axis at all, so it applies but is unaddressed.",
    "evidenceIds": []
  },
  {
    "productId": "kick",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Kick is an accounting/bookkeeping SaaS product, and no evidence pack item addresses telemetry/usage-tracking opt-out settings, a privacy control panel, or any documented data-collection preferences for the product itself. The security doc only covers encryption and Plaid credential handling, not telemetry opt-out.",
    "evidenceIds": []
  },
  {
    "productId": "kick",
    "storyId": "recurring-invoices-reminders",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Kick's docs confirm basic invoicing (viewing synced invoices from Stripe/Mercury/BILL, and creating/sending invoices directly from Kick) but there is no mention anywhere in the evidence of recurring/repeating invoice schedules or automated overdue-payment reminders. missing for 10: recurring invoice scheduling, automatic overdue payment reminder/dunning workflow.",
    "evidenceIds": [
      "kick-docs-12",
      "kick-supp-invoicing-billpay"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "accountant-collaboration-access",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Mercury Books explicitly supports inviting bookkeepers/accountants in-product with role-tailored permissions and no seat caps, allowing them to view transactions, categorizations, and comment/tag on entries. Missing for 10: no independent/hands-on corroboration of the granularity of role-scoping (e.g., specific permission levels) and no detail on whether accountants can directly adjust vs. only comment.",
    "evidenceIds": [
      "mercury-books-docs-6",
      "mercury-books-supp-accountant",
      "mercury-books-supp-accounting-page"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agent-answers-affordability",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Mercury's own docs frame the accounting API and MCP layer for external agents as a future ('Soon') capability, not something shipped today, and direct probes for an OpenAPI spec or llms.txt on Mercury's docs return 404s, indicating no live API for third-party agents yet. The only grounded Q&A shown (Command) is an in-product assistant, not an externally callable API an outside agent could query.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2",
      "mercury-books-supp-command"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Command can answer questions and bulk-categorize/reconcile transactions, and an MCP layer for agents is only promised as 'soon,' but nothing describes proactive anomaly detection, duplicate-transaction flagging, or pre-close audit alerts.",
    "evidenceIds": [
      "mercury-books-supp-command",
      "mercury-books-supp-auto-rec",
      "mercury-books-docs-1",
      "mercury-books-supp-honest-scope"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agent-posts-journal-entries",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The only mention of a programmatic API and MCP layer for agents is explicitly framed as a future roadmap item ('Soon, a full accounting API... will let AI agents handle bookkeeping tasks end-to-end'), not a shipped capability, and probes confirm no live OpenAPI/MCP endpoints exist today (404s on all candidate paths). While Command can draft journal entries via chat and accountants can be invited to collaborate, there is no evidence of an API-driven posting workflow or a formal 'review queue' gating agent-drafted entries for accountant approval.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2",
      "mercury-books-supp-command",
      "mercury-books-supp-accountant"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agent-reconciles-month-end",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Mercury Books has continuous automatic reconciliation/categorization and Command can answer questions and offload bookkeeping tasks like journal entries and bulk categorization, but Mercury explicitly states automation is not 'autopilot' and requires human decision-making, and there's no evidence of an agent autonomously running a full month-end close with exception flagging and review prep end-to-end — the MCP/agent layer is only announced as 'soon'. missing for 10: evidence of an actual agent (not just Command chat) performing a full month-end close, explicit exception-flagging workflow, and a shipped MCP/API layer rather than a 'soon' roadmap item.",
    "evidenceIds": [
      "mercury-books-supp-auto-rec",
      "mercury-books-supp-command",
      "mercury-books-supp-honest-scope",
      "mercury-books-docs-1",
      "mercury-books-supp-launch"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-agent-docs",
    "verdict": "disputed",
    "quality": 2,
    "confidence": "high",
    "rationale": "Mercury's blog promises a future MCP layer for agents, but direct probes show no llms.txt file (404) and no discoverable OpenAPI/agent-oriented docs at any candidate path, meaning there is currently nothing an agent could be pointed at. Missing for 10: a live llms.txt or agent-readable docs file, a shipped API/MCP endpoint, any evidence of the promised MCP layer actually existing.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Mercury Command lets users ask natural-language questions about their financial data and get AI-grounded answers, plus AI-driven GL code suggestions and categorization, directly inside Books. missing for 10: independent/hands-on verification of insight quality, no detail on proactive suggestion generation beyond categorization/GL coding, and Mercury's own caveat that automation is not full autopilot.",
    "evidenceIds": [
      "mercury-books-supp-command",
      "mercury-books-supp-accounting-page",
      "mercury-books-docs-5",
      "mercury-books-supp-honest-scope"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Mercury Books documents continuous, automatic categorization/reconciliation and a Command assistant that can be handed bookkeeping tasks in plain language (bulk GL coding, categorization rules), which is real background automation. However, the vendor itself explicitly cautions that 'a connected system isn't the same as fully automated' and that it should not be treated as 'putting your books on autopilot,' and the promised MCP/agent layer for end-to-end autonomous handling is described as 'soon,' not shipped. Missing for 10: a live, user-configurable autonomous automation/agent layer (MCP) with independent confirmation it runs unattended in production.",
    "evidenceIds": [
      "mercury-books-supp-auto-rec",
      "mercury-books-supp-command",
      "mercury-books-docs-4",
      "mercury-books-supp-honest-scope",
      "mercury-books-docs-1"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-builtin-assistant",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Mercury Books ships a built-in AI assistant called Command that users can query in plain language and delegate bookkeeping tasks to (journal entries, chart of accounts organization, bulk categorization), described as 'AI built-in, not bolted on.' Missing for 10: independent/hands-on verification of Command's task-delegation reliability, and the vendor's own caveat that automation isn't 'autopilot' tempers full agentic delegation claims.",
    "evidenceIds": [
      "mercury-books-supp-command",
      "mercury-books-docs-5",
      "mercury-books-supp-launch",
      "mercury-books-supp-honest-scope"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-headless",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Mercury explicitly frames a full API and MCP layer as a future roadmap item ('Soon...'), and direct probes for API/OpenAPI/llms.txt endpoints all returned 404s, confirming no headless/CI-usable interface exists today. Command is a plain-language, in-app assistant, not a scriptable or automatable interface.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The only MCP-related evidence is a forward-looking statement that an MCP layer is coming 'soon' to let external agents call Mercury Books' own actions — this describes Mercury exposing an MCP server, not the product consuming external MCP servers' tools, and it is explicitly not yet shipped (confirmed by 404 probes for API/openapi endpoints). There is no evidence users can plug third-party MCP servers into Mercury Books today.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-mcp-server",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Mercury only states that an MCP layer is coming 'soon' for AI agents, with no evidence it currently exists; probes for API/OpenAPI/llms.txt endpoints all return 404s, confirming no official MCP server is live today.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-nl-commands",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Mercury Command lets users ask questions and hand off bookkeeping tasks 'in plain language,' directly matching the natural-language command story, and this is documented across multiple first-party sources describing bulk actions, categorization, and Q&A. Missing for 10: independent/hands-on verification of Command's NL capabilities and confirmation that the broader agent-facing API/MCP layer (still described as 'soon') doesn't gate deeper command coverage.",
    "evidenceIds": [
      "mercury-books-docs-5",
      "mercury-books-supp-command",
      "mercury-books-docs-4"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of a CLI; only future-planned API/MCP layer is mentioned, and probes for llms.txt/openapi endpoints returned 404s, indicating no current programmatic or CLI tooling exists.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-public-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Mercury explicitly says a full accounting API and MCP layer are coming 'soon,' not currently available, and direct probes for llms.txt and OpenAPI docs both returned 404s, confirming no public API exists today.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence only mentions a future accounting API and MCP layer as 'soon' (not yet shipped), with no mention of API keys, OAuth scopes, or least-privilege credential issuance; probes confirm no OpenAPI/spec or docs endpoints currently exist. There is no evidence Mercury Books lets a user issue scoped credentials for an agent today.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Mercury explicitly frames the accounting API and MCP layer as future ('Soon'), and probes confirm no live OpenAPI/llms.txt endpoints exist yet — there is no official SDK currently available to build against.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence pack item mentions webhooks or event subscriptions; the only programmatic-access claim is a forward-looking 'soon' API/MCP mention, and probes confirm no public API/openapi spec exists yet. Missing for 10: any webhook documentation, event types, or subscription mechanism.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence confirms Mercury Books generates P&L, cash flow, and balance sheet reports and mentions 'bill pay' as a data source, but there is no mention of an accounts payable aging report or vendor-balance tracking feature anywhere in the evidence pack. missing for 10: AP aging report, vendor balance report/ledger, point-in-time vendor balance lookups.",
    "evidenceIds": [
      "mercury-books-docs-7",
      "mercury-books-supp-launch",
      "mercury-books-supp-double-entry"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "There is no evidence of any interactive API reference or runnable examples; the API is described only as 'soon' coming, and probes for openapi/llms.txt specs both returned 404s, indicating no public API docs exist yet.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Direct probes for llms.txt and OpenAPI/Swagger spec files all return 404, and docs only mention a future accounting API/MCP layer as an upcoming feature, not something currently downloadable. No machine-readable API spec exists today.",
    "evidenceIds": [
      "mercury-books-probe-1",
      "mercury-books-probe-2",
      "mercury-books-docs-1"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any sandbox, staging, or test environment for Mercury Books; the API/MCP layer is described only as forthcoming with no mention of a non-production mode, and probes for docs/OpenAPI endpoints returned 404s.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The API is described as forthcoming ('Soon, a full accounting API will make every core Books action available programmatically'), and direct probes for openapi/llms.txt specs return 404s, showing no versioned API or deprecation policy currently exists.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "ar-aging-customer-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Mercury Books documents P&L, cash flow, and balance sheet reports and mentions invoicing as one of the pulled-in transaction types, but no evidence describes accounts-receivable aging reports or per-customer balance tracking specifically. missing for 10: AR aging report feature, per-customer balance view, any invoicing/AR-specific reporting documentation.",
    "evidenceIds": [
      "mercury-books-docs-7",
      "mercury-books-supp-launch",
      "mercury-books-supp-double-entry"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "auto-categorization-suggestions",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Mercury explicitly states that transactions are 'automatically assigned GL codes based on your categorization history and AI-driven suggestions,' directly supporting the idea of categorization suggestions that improve from past corrections, and Command lets users bulk-adjust GL codes and create rules that presumably feed this history. Mercury's own blog post also candidly notes automation has limits and isn't 'autopilot,' which sets realistic expectations rather than contradicting the feature. Missing for 10: independent/hands-on verification that suggestions specifically adapt after user corrections, and a public API/schema showing the correction-learning mechanism.",
    "evidenceIds": [
      "mercury-books-supp-accounting-page",
      "mercury-books-supp-auto-rec",
      "mercury-books-docs-4",
      "mercury-books-supp-honest-scope"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Mercury Command explicitly supports bulk actions like bulk GL code assignment, categorization rules, and clearing categorization backlogs in bulk, which directly addresses bulk operations for an AI-native user. However, this is limited to bookkeeping/categorization tasks rather than a general-purpose bulk API, and the promised full accounting API/MCP layer for broader programmatic bulk actions is only 'coming soon,' with probes confirming no public API/OpenAPI spec exists yet. missing for 10: a live public API or MCP layer enabling arbitrary bulk operations, independent/hands-on verification of bulk actions working at scale, and documentation of bulk operation limits or scope beyond categorization/GL codes.",
    "evidenceIds": [
      "mercury-books-docs-4",
      "mercury-books-supp-command",
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Mercury Command explicitly supports creating 'categorization rules' and bulk GL code assignment, which is a form of user-defined rule-based automation triggered by transaction events, and automatic categorization/reconciliation is built-in. However, there's no evidence of a general-purpose rule/trigger-action framework beyond categorization (e.g., rules for invoicing, alerts, or other business events), and Mercury's own docs caution that automation isn't full autopilot. Missing for 10: broader event types beyond categorization, explicit rule configuration UI/API details, and independent confirmation of rule reliability.",
    "evidenceIds": [
      "mercury-books-docs-4",
      "mercury-books-supp-command",
      "mercury-books-supp-honest-scope"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows automatic categorization/reconciliation and an AI assistant (Command) that can be asked to do tasks, but there is no mention of user-defined recurring/scheduled jobs or workflows; the API/MCP layer that might enable this is explicitly described as 'soon' (not yet shipped), and probes for API endpoints 404. Missing for 10: any documented scheduling/recurring-workflow feature, evidence of a live automation API or MCP layer, and independent confirmation of scheduled task execution.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-supp-command",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence shows Mercury Books has automation features (Command AI assistant, categorization rules, bulk GL code assignment) but nothing about versioning automation rules, reviewing changes, or rolling back automated actions/decisions. No audit trail, undo, or history/version-control feature is mentioned anywhere in the pack.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Mercury Books explicitly supports linking external bank accounts, cards, and payroll platforms with transactions pulled in automatically and reconciled/categorized continuously in real time, directly matching the founder story. Multiple first-party docs corroborate this (linking, auto-categorization, continuous reconciliation) and Mercury even publishes an honest caveat that 'connected' isn't 'fully automated,' showing transparency rather than contradiction. missing for 10: independent/hands-on verification beyond Mercury's own docs, and detail on daily import cadence/reliability guarantees.",
    "evidenceIds": [
      "mercury-books-docs-3",
      "mercury-books-supp-auto-rec",
      "mercury-books-supp-launch",
      "mercury-books-supp-external-integrations",
      "mercury-books-supp-honest-scope"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Mercury Books claims accounts 'reconcile in real time' automatically with categorization pulled directly from linked banking data (mercury-books-supp-auto-rec, mercury-books-supp-launch), and Mercury's own honest-scope post acknowledges that full automation still requires human review of ambiguous decisions (mercury-books-supp-honest-scope), implying some reconciliation review workflow exists. However, none of the evidence specifically describes a UI or workflow that surfaces matched, unmatched, and duplicate transactions as distinct categories for accountant review — the emphasis is on automation eliminating manual reconciliation work entirely rather than a structured review interface. Missing for 10: explicit documentation of matched/unmatched/duplicate transaction states, a dedicated reconciliation review screen, and independent/hands-on confirmation of this workflow.",
    "evidenceIds": [
      "mercury-books-supp-auto-rec",
      "mercury-books-supp-launch",
      "mercury-books-supp-honest-scope"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Mercury Books explicitly supports linking external bank accounts, cards, and payroll platforms, plus named integrations with Stripe, PayPal, and Gusto, with activity flowing automatically into the ledger via continuous categorization and reconciliation. Mercury itself is candid that this is a strong starting point rather than full autopilot, which tempers but doesn't contradict the core claim. Missing for 10: independent/hands-on verification of these integrations working in practice, and a public API/OpenAPI spec was found to 404, indicating limited programmatic verification.",
    "evidenceIds": [
      "mercury-books-docs-3",
      "mercury-books-supp-external-integrations",
      "mercury-books-supp-auto-rec",
      "mercury-books-supp-launch",
      "mercury-books-supp-honest-scope",
      "mercury-books-docs-8"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "bill-capture-approval-payment",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Evidence only shows that 'bill pay' transactions are pulled into Mercury Books automatically alongside banking and invoicing data, implying some underlying bill-pay capability exists, but there is no description of a capture-to-approval-to-payment-scheduling workflow, approval routing, or scheduled payments within Books itself. missing for 10: vendor bill capture/OCR, approval routing rules, payment scheduling UI, evidence tying bill pay into an AP-specific workflow rather than just a transaction category.",
    "evidenceIds": [
      "mercury-books-supp-launch"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "chart-of-accounts-management",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Evidence shows GL code assignment, bulk categorization rules, and Class/tag attachment to transactions (via enriched QuickBooks/NetSuite integrations), plus Command's ability to help 'organize your chart of accounts' — indicating some COA customization exists. However there's no explicit documentation of defining account types or creating sub-accounts within the ledger structure itself. missing for 10: explicit account-type configuration, sub-account creation/hierarchy, and native (non-integration) class/tag dimension setup.",
    "evidenceIds": [
      "mercury-books-docs-4",
      "mercury-books-docs-8",
      "mercury-books-supp-command",
      "mercury-books-supp-accounting-page"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "complete-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence describes an audit trail, change log, user attribution, or history of edits across the ledger; the pack focuses on automation, categorization, reporting, and accountant seat invites, none of which document who-changed-what-when tracking. This is a plausible and expected feature for a full accounting system, so absence of evidence yields 'none' rather than 'na'.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "create-send-invoices",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence only mentions 'invoicing' as one of many transaction types Mercury Books pulls in automatically (alongside banking, bill pay); there is no evidence of invoice creation/sending, online payment collection, or view/paid status tracking within Mercury Books itself.",
    "evidenceIds": [
      "mercury-books-supp-launch",
      "mercury-books-supp-external-integrations"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "custom-reports-dimensions",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Mercury Books generates standard P&L, cash flow, and balance sheet reports, and mentions attaching 'Classes' to transactions only for customers with enriched QuickBooks/NetSuite integrations — not a native custom report builder. No evidence of location or tag dimensions, or of building custom reports filtered/grouped by these dimensions within Books itself.",
    "evidenceIds": [
      "mercury-books-docs-7",
      "mercury-books-docs-8"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "financial-statements-generation",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Mercury Books explicitly generates P&L, cash-flow, and balance-sheet reports on demand from real-time reconciled data, with cash/accrual choice, positioned as a full double-entry replacement for QuickBooks. This is a core advertised feature with detailed first-party docs, though there's no independent/hands-on corroboration of report accuracy and Mercury itself cautions that automation isn't fully hands-off. Missing for 10: independent verification of statement accuracy, and confirmation that reports are audit-grade/error-free in practice.",
    "evidenceIds": [
      "mercury-books-docs-7",
      "mercury-books-supp-double-entry",
      "mercury-books-supp-launch",
      "mercury-books-supp-auto-rec",
      "mercury-books-supp-honest-scope"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "full-gl-export-via-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence explicitly states a full accounting API is only planned ('Soon, a full accounting API will make every core Books action available programmatically'), and direct probes for OpenAPI/llms.txt docs returned 404s, confirming no current documented API for pulling GL/trial balance data in open formats.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack mentions period locking, closing periods, or preventing edits to prior-period transactions without explicit reopening; the evidence covers categorization, reconciliation, reports, and accountant invites but not period lock controls.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "manual-journal-entries",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Books is confirmed as a double-entry accounting system with journal entries as a core capability (\"writing journal entries\" is explicitly listed as a task Command can help with), implying balanced debit/credit posting, but there's no direct documentation of a manual journal-entry UI, memo/note fields, or debit=credit validation for accountant-initiated entries — most journal entry evidence frames it as an AI-assisted/automated task rather than manual accountant entry. Missing for 10: explicit manual entry screen documentation, memo/attachment support on journal entries, and confirmation of balance validation.",
    "evidenceIds": [
      "mercury-books-supp-command",
      "mercury-books-supp-double-entry",
      "mercury-books-supp-launch"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "migrate-historical-books",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence describes an import/migration tool for bringing historical transaction-level data in from QuickBooks/NetSuite or other systems; in fact Mercury explicitly frames Books as a replacement rather than an integration/sync layer for prior accounting systems, and the cited third-party integrations (Stripe, PayPal, Gusto, bank feeds) are for ongoing data flow, not one-time historical migration.",
    "evidenceIds": [
      "mercury-books-docs-2",
      "mercury-books-supp-double-entry",
      "mercury-books-supp-external-integrations"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "month-end-close-checklist",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows continuous automated reconciliation, accrual/cash accounting choice, and accountant collaboration via comments/tagging, but there is no mention of an actual month-end close checklist artifact, accrual entry tracking, or formal review sign-off workflow that an accountant could run through and mark complete. missing for 10: a defined close checklist feature, accrual scheduling/tracking, sign-off/approval workflow tied to close tasks.",
    "evidenceIds": [
      "mercury-books-supp-auto-rec",
      "mercury-books-supp-accountant",
      "mercury-books-supp-double-entry",
      "mercury-books-supp-accounting-page"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "multi-entity-consolidation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence anywhere in the pack mentions multiple legal entities, inter-company eliminations, or consolidated financial statements across entities; all documentation describes a single-business books setup with one set of P&L/balance sheet/cash flow reports.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "openness-api-parity",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Mercury's own docs say a full accounting API is coming 'soon' — it does not exist yet — and probes for llms.txt/openapi specs both return 404, confirming no current API parity with the UI.",
    "evidenceIds": [
      "mercury-books-docs-1",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "openness-full-export",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence pack item mentions any data export feature, open format (CSV/OFX/JSON) download, or account-closure data portability path; the only related probes (llms.txt, openapi.json) return 404s, and Mercury explicitly positions Books as a replacement system rather than an interoperable one ('not an add-on or integration layer for another platform').",
    "evidenceIds": [
      "mercury-books-docs-2",
      "mercury-books-probe-1",
      "mercury-books-probe-2"
    ]
  },
  {
    "productId": "mercury-books",
    "storyId": "openness-open-license",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Mercury Books is a closed-source commercial SaaS accounting product; open-sourcing its codebase is not a plausible axis for this type of product, and no evidence suggests otherwise.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Mercury Books is a cloud SaaS banking/accounting product with no self-hosting option; self-hosting the core product is a category error for a hosted financial platform tied to Mercury's own bank accounts and infrastructure.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence anywhere in the pack discusses data residency, region selection, or storage location controls for Mercury Books; the material covers accounting features, AI assistant capabilities, and integrations only.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack contains no mention of data-training opt-outs, AI model training policies, or privacy controls specific to preventing customer data from being used to train AI models; Mercury Books' AI features (Command) are described functionally but with no privacy-posture documentation on this axis. Missing for 10: any privacy policy language, opt-out mechanism, or documentation addressing whether user financial data is used to train AI models.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack contains no mention of data retention policies, deletion controls, export/purge mechanisms, or any privacy-posture settings a user could control; it focuses entirely on accounting features, AI assistant capabilities, and pricing. This is a fair axis for a financial SaaS product handling sensitive business data, but no supporting evidence exists.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence anywhere in the pack mentions telemetry, usage tracking, data collection settings, or opt-out controls; the material focuses entirely on accounting features, AI assistant capabilities, and pricing. This is a fair privacy-posture question for any SaaS product, so absence of evidence yields 'none' rather than 'na'.",
    "evidenceIds": []
  },
  {
    "productId": "mercury-books",
    "storyId": "recurring-invoices-reminders",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack mentions invoicing only as one data stream feeding into books (transactions across 'banking, invoicing, bill pay'), but there is no mention of recurring invoice scheduling or automated overdue payment reminders anywhere in the docs. This is a fair capability for a full accounting system to offer, so absence of evidence is 'none' rather than 'na'.",
    "evidenceIds": [
      "mercury-books-supp-launch",
      "mercury-books-docs-3"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "accountant-collaboration-access",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Pilot's evidence describes its own bookkeeping team communicating with the founder via a portal (docs-18, docs-26) and lets customers keep QuickBooks data so any tax preparer can access it (docs-24), but there is no evidence of a feature to invite an external accountant/bookkeeper into Pilot's own system with role-scoped permissions to review or adjust books. missing for 10: any documentation of user/role invitation, permission scoping, or external collaborator access controls within Pilot's platform.",
    "evidenceIds": [
      "pilot-docs-18",
      "pilot-docs-24",
      "pilot-docs-26"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agent-answers-affordability",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Pilot advertises an in-app AI feature offering 'Instant AI answers about past transactions and current cash flow, plus run scenarios to plan ahead,' which aligns with the 'can we afford X' query use case, but there is no evidence this is exposed via an API for external agents to query — the openapi probe returned 404s and no API/agent-integration docs exist. missing for 10: evidence of a public API/endpoint an external AI agent could call, documentation of grounding in live ledger data via API, and any independent confirmation the AI answer feature works as described.",
    "evidenceIds": [
      "pilot-docs-7",
      "pilot-docs-8",
      "pilot-docs-21",
      "pilot-probe-3"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot's evidence covers bookkeeping, tax, CFO services, and AI Q&A on transactions, but there is no mention of an autonomous agent that monitors the ledger, flags spend anomalies, or detects duplicate transactions before close. missing for 10: anomaly-detection feature, duplicate-transaction flagging, any agentic monitoring capability, pre-close audit workflow evidence.",
    "evidenceIds": [
      "pilot-docs-7",
      "pilot-docs-13",
      "pilot-docs-18"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agent-posts-journal-entries",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any API, agent integration, or journal entry review queue functionality; Pilot is a human-service bookkeeping/accounting company with no documented API (openapi probes 404). Missing for 10: any API existence, journal entry draft/post capability, review queue workflow, agent-facing endpoints.",
    "evidenceIds": [
      "pilot-probe-3",
      "pilot-probe-2",
      "pilot-probe-1"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agent-reconciles-month-end",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Pilot's evidence shows human bookkeepers finalize monthly books with integration-driven transaction classification (pilot-comm-1, pilot-docs-18, pilot-docs-26), which is directionally toward automated reconciliation, but there is no evidence of an autonomous agent matching transactions, flagging exceptions, and preparing a close package end-to-end without human bookkeeper involvement. Missing for 10: explicit agentic exception-flagging workflow, evidence of AI (not human staff) doing the matching/reconciliation, and documentation of an automated close-prep output for review.",
    "evidenceIds": [
      "pilot-comm-1",
      "pilot-docs-18",
      "pilot-docs-26",
      "pilot-docs-16"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agentic-agent-docs",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "A probe confirms Pilot serves an llms.txt file at HTTP 200, so an agent can indeed be pointed at it — but the content shown is minimal (just entity/category metadata, no structured docs or API references), and other agent-doc formats (docs-md, openapi) return 404. Missing for 10: substantive llms.txt content beyond basic metadata, markdown docs mirror, and any first-party statement about agent-oriented documentation strategy.",
    "evidenceIds": [
      "pilot-probe-1",
      "pilot-probe-2",
      "pilot-probe-3"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agentic-ai-insights",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Pilot's marketing mentions 'Instant AI answers about past transactions and current cash flow, plus run scenarios to plan ahead' (pilot-docs-7), which points to some AI-generated insight capability inside the product, and scenario/cash-flow modeling features (pilot-docs-8, pilot-docs-21) suggest similar analytical output, though these are framed as human CFO-delivered rather than explicitly AI-driven. There is no independent/hands-on corroboration of the AI feature actually working, and community reviews focus on bookkeeping accuracy/time savings rather than AI insights. Missing for 10: detailed documentation of the AI feature's scope/accuracy, independent user testimony specifically about the AI insights, and clarity on whether insights are AI-generated vs. human-analyst-generated.",
    "evidenceIds": [
      "pilot-docs-7",
      "pilot-docs-8",
      "pilot-docs-21",
      "pilot-docs-13",
      "pilot-docs-20"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agentic-autonomous-automation",
    "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": "pilot",
    "storyId": "agentic-builtin-assistant",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Pilot's pricing page mentions an AI feature offering 'Instant AI answers about past transactions and current cash flow, plus run scenarios to plan ahead,' which is a thin, single-mention hint of an in-product AI assistant capable of some task-like actions (scenario modeling). There's no further documentation on scope, autonomy, or how tasks are delegated to it, and community evidence focuses on human bookkeepers/CFOs rather than the AI assistant. Missing for 10: detailed documentation of the AI assistant's task-delegation capabilities, independent/hands-on corroboration of it actually performing delegated tasks, and clarity on its scope beyond Q&A.",
    "evidenceIds": [
      "pilot-docs-7"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agentic-headless",
    "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": "pilot",
    "storyId": "agentic-mcp-client",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is an accounting/bookkeeping service, not an AI agent or platform with an MCP client/server capability; no evidence relates to MCP integration at all.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "agentic-mcp-server",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is a bookkeeping/accounting service with no evidence of any MCP server offering; docs mention integrations (Bill.com, Stripe, Gusto) but nothing about AI agent connectivity via MCP, and API/openapi probes returned 404s.",
    "evidenceIds": [
      "pilot-probe-3",
      "pilot-probe-2",
      "pilot-docs-17"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agentic-nl-commands",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Pilot's marketing mentions 'Instant AI answers about past transactions and current cash flow, plus run scenarios to plan ahead,' implying some natural-language Q&A interface, but there's no evidence of broader natural-language command execution (e.g., initiating actions, workflows) or any API/CLI to support it. missing for 10: evidence of NL commands beyond Q&A, independent/hands-on corroboration, technical documentation of the AI interface, API or programmatic access.",
    "evidenceIds": [
      "pilot-docs-7"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agentic-official-cli",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is an accounting/bookkeeping service, not a developer tool or platform where a CLI would be a fair expectation; the evidence pack shows no CLI-related capabilities and the product's category (Professional Services - Accounting) makes this axis a category error.",
    "evidenceIds": [
      "pilot-probe-1"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agentic-public-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of a public API for Pilot; OpenAPI/swagger probes all returned 404 and no docs mention an API for driving the product programmatically. Pilot is a human-service accounting/bookkeeping product with integrations, not an API-driven platform.",
    "evidenceIds": [
      "pilot-probe-3",
      "pilot-probe-2"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agentic-scoped-keys",
    "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": "pilot",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is a bookkeeping/accounting service with no evidence of any official SDKs; probes for API/OpenAPI specs returned 404s, and no docs mention developer SDKs.",
    "evidenceIds": [
      "pilot-probe-3",
      "pilot-probe-2"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any webhook subscription capability or event API; Pilot is an accounting/bookkeeping service and probes show no OpenAPI or developer API surface exists.",
    "evidenceIds": [
      "pilot-probe-3",
      "pilot-probe-2"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Pilot advertises 'Full accounts payable' as a service feature and real-time account data access via its portal, implying some visibility into AP status, but there is no specific mention of AP aging reports or vendor balance tracking at a point in time. missing for 10: explicit AP aging report feature, vendor balance detail/history, point-in-time reporting capability, screenshots or hands-on evidence of AP aging views.",
    "evidenceIds": [
      "pilot-docs-5",
      "pilot-docs-11",
      "pilot-docs-16",
      "pilot-docs-26"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is an accounting/bookkeeping service with no evidence of any developer API reference or runnable examples; probes for OpenAPI/docs-md all returned 404, and no evidence pack items mention an API reference.",
    "evidenceIds": [
      "pilot-probe-2",
      "pilot-probe-3"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Probe explicitly checked common OpenAPI/swagger endpoints and all returned 404, and no documentation mentions a machine-readable API spec. Missing for 10: any published OpenAPI/Swagger spec, API documentation, or developer portal.",
    "evidenceIds": [
      "pilot-probe-3"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "api-sandbox",
    "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": "pilot",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is a bookkeeping/accounting service with no evidence of any public API, versioning scheme, or deprecation policy; probes for OpenAPI specs all returned 404s. missing for 10: any public API documentation, versioning scheme, deprecation policy, or developer-facing API references.",
    "evidenceIds": [
      "pilot-probe-3",
      "pilot-probe-2"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "ar-aging-customer-balances",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Pilot's pricing page lists 'Full accounts receivable' as a service offering, confirming AR management is part of the product, but there is no evidence of specific features like aging reports or per-customer balance tracking/reporting in the evidence pack. missing for 10: documentation of aging reports, per-customer balance views, AR-specific dashboards or reports, and independent/hands-on confirmation of these features.",
    "evidenceIds": [
      "pilot-docs-5",
      "pilot-docs-11"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "auto-categorization-suggestions",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Pilot's transaction classification is handled by integrations plus human bookkeepers/accountants (pilot-comm-1, pilot-docs-17), not by an AI categorization engine that learns from founder corrections. No documentation describes a self-serve ML suggestion-and-correction loop. Missing for 10: any mention of an AI/ML categorization suggestion feature, evidence of a correction/feedback loop, or founder-facing UI for adjusting categorizations.",
    "evidenceIds": [
      "pilot-comm-1",
      "pilot-docs-17",
      "pilot-docs-16"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "automation-bulk-operations",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is a bookkeeping/accounting service; no evidence describes any bulk-operation or batch-processing capability across items (transactions, invoices, etc.) for AI-native automation. Missing for 10: any mention of bulk edit/import/export tools, batch API operations, or automation-scale item processing.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "automation-rules-engine",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is a bookkeeping/accounting service with dedicated human experts and integrations, but there is no evidence of a rules engine or automation-trigger system letting users define event-based automated actions; features described are AI Q&A and integrations, not user-defined trigger/action rules.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "automation-scheduled-jobs",
    "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": "pilot",
    "storyId": "automation-versioned-workflows",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is a bookkeeping/accounting service, not an automation-building or workflow platform; versioning, reviewing, and rolling back automations is not an applicable axis for this product category.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Pilot's docs and a first-hand customer testimonial confirm bank/credit-card/expense integrations automatically feed transaction data for classification, with real-time account data in the portal, eliminating manual founder bookkeeping work. missing for 10: no explicit list of supported banks, no detail on daily-sync frequency or setup flow, and no independent technical documentation beyond marketing/community claims.",
    "evidenceIds": [
      "pilot-comm-1",
      "pilot-docs-17",
      "pilot-docs-16",
      "pilot-docs-26"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Pilot's evidence describes bank/tool integrations and automated transaction classification (pilot-comm-1, pilot-docs-17) but never describes a reconciliation workflow that surfaces matched, unmatched, and duplicate transactions for accountant review. Missing for 10: any documentation or user report of a reconciliation screen or matched/unmatched/duplicate transaction handling.",
    "evidenceIds": [
      "pilot-comm-1",
      "pilot-docs-17",
      "pilot-docs-16"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Pilot explicitly integrates with banking, payments, and payroll systems (e.g. Bill.com, Stripe, Gusto, 10k+ integrations) to feed real-time transaction data into the ledger, and community testimonials confirm bank/card/payment integrations auto-handle transaction classification with minimal founder effort. missing for 10: no explicit first-party detail on the breadth/setup process of bank feed connections beyond named partners, no independent audit of integration reliability at scale.",
    "evidenceIds": [
      "pilot-docs-17",
      "pilot-docs-22",
      "pilot-docs-25",
      "pilot-comm-1",
      "pilot-docs-16"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "bill-capture-approval-payment",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Pilot's pricing page lists 'Full accounts payable' as a service line item and mentions integration with Bill.com, implying vendor bill handling, but there is no documented detail on bill capture, approval routing, or payment scheduling mechanics within a single workflow — AP appears to be a done-for-you service rather than a described self-serve workflow. Missing for 10: bill capture/OCR details, approval routing configuration, payment scheduling functionality, and any hands-on/independent confirmation of the AP workflow.",
    "evidenceIds": [
      "pilot-docs-5",
      "pilot-docs-11",
      "pilot-docs-17"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "chart-of-accounts-management",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Pilot is a done-for-you bookkeeping/accounting service, so ledger customization is a fair question, but the evidence pack only mentions generic 'custom workflows and reporting' with no mention of chart of accounts structure, account types, sub-accounts, or class/tag dimensions. Missing for 10: any documentation of COA setup, account type hierarchy, sub-account creation, or class/tag dimension tagging controlled by the accountant.",
    "evidenceIds": [
      "pilot-docs-10"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "complete-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack describes any audit trail, change history, or user-activity logging feature within Pilot's platform; the material focuses on bookkeeping services, integrations, CFO advisory, and tax credits. Missing for 10: any mention of audit logs, change tracking, user attribution, or timestamped edit history across the ledger.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "create-send-invoices",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence only shows Pilot offers 'full accounts receivable' as a bookkeeping service item, but there is no mention of self-serve invoice creation, online payment collection, or view/paid tracking features for founders—Pilot is a done-for-you bookkeeping service, not an invoicing tool. Missing for 10: invoice creation UI, online payment processing, read-receipt/paid-status tracking evidence.",
    "evidenceIds": [
      "pilot-docs-5",
      "pilot-docs-11"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "custom-reports-dimensions",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence only mentions generic 'custom workflows and reporting' (pilot-docs-10) with no mention of class, location, or tag dimension filtering/grouping capabilities typical of QuickBooks-style reports; missing for 10: any documentation of dimension-based (class/location/tag) filtering or grouping in reports.",
    "evidenceIds": [
      "pilot-docs-10"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "financial-statements-generation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Pilot's bookkeeping and CFO service pages reference real-time account data, custom workflows/reporting, and budget-vs-actuals/scenario planning, implying standard financial statements are produced as part of monthly bookkeeping, and community reviews confirm books are kept accurate and up to date. However, no evidence explicitly confirms generation of a P&L, balance sheet, and cash-flow statement for any arbitrary period on demand. Missing for 10: explicit documentation of the three core statements, confirmation of on-demand/any-period generation (vs. standard monthly close), and independent verification of statement accuracy/timeliness.",
    "evidenceIds": [
      "pilot-docs-10",
      "pilot-docs-16",
      "pilot-docs-23",
      "pilot-docs-26",
      "pilot-comm-1",
      "pilot-comm-4"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "full-gl-export-via-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of a documented API for pulling general ledger or trial balance data; probes for OpenAPI/docs endpoints returned 404s and no API documentation is mentioned anywhere in the evidence pack.",
    "evidenceIds": [
      "pilot-probe-2",
      "pilot-probe-3"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack mentions period locking, closing periods, or preventing retroactive changes to prior-period financials; the evidence only covers bookkeeping, tax, CFO, and integration features. Missing for 10: any mention of period-lock/close controls, reopening workflow, or audit trail preventing prior-period edits.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "manual-journal-entries",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Pilot's evidence describes a done-for-you bookkeeping/CFO service built on QuickBooks with dedicated experts handling books, but there is no mention of any interface for accountants to post manual journal entries with debits/credits and memos. Missing for 10: any UI or workflow for manual JE creation, debit/credit balancing, or memo attachment.",
    "evidenceIds": [
      "pilot-docs-2",
      "pilot-docs-24",
      "pilot-docs-18"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "migrate-historical-books",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Pilot markets that switching providers is supported and mentions keeping existing QuickBooks account and historical data, implying migration support, but there's no detail on how historical transaction-level detail is preserved or migrated from other systems (e.g., Xero, Wave, spreadsheets) beyond QuickBooks. missing for 10: documented migration process, evidence of no data/detail loss, support for non-QuickBooks source systems, independent confirmation of successful migrations.",
    "evidenceIds": [
      "pilot-docs-1",
      "pilot-docs-2",
      "pilot-docs-9",
      "pilot-docs-19"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "month-end-close-checklist",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Pilot's monthly bookkeeping service closes books and lets customers communicate on 'outstanding items needed to finalize your books every month' via a portal, implying some close-tracking process, but there is no evidence of an actual checklist artifact tracking reconciliations, accruals, and review sign-offs as distinct trackable steps. missing for 10: explicit reconciliation checklist UI, accrual tracking, and sign-off/approval workflow evidence.",
    "evidenceIds": [
      "pilot-docs-18",
      "pilot-docs-16",
      "pilot-docs-26"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "multi-entity-consolidation",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Pilot's FAQ mentions it can provide consolidated reporting for US entities with foreign subsidiaries, but there is no evidence of multi-entity management for domestic entities, no detail on consolidation methodology, and no independent/hands-on corroboration of this feature. missing for 10: multi-entity dashboard/management capability, domestic multi-entity consolidation support, detailed consolidation workflow, independent verification.",
    "evidenceIds": [
      "pilot-docs-3"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "openness-api-parity",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any public API for Pilot; probes for OpenAPI/swagger endpoints all returned 404, and all documentation describes only the human portal/UI and service offerings. missing for 10: any documented API, API parity claims, or developer endpoints.",
    "evidenceIds": [
      "pilot-probe-3",
      "pilot-probe-2"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "openness-full-export",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "While Pilot mentions QuickBooks compatibility and tax-preparer portability, there is no evidence of a dedicated data export feature, open-format export (CSV/JSON/API), or a documented process to fully extract and leave with all financial data; probes even show no public API/OpenAPI spec.",
    "evidenceIds": [
      "pilot-docs-2",
      "pilot-docs-24",
      "pilot-probe-2",
      "pilot-probe-3"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "openness-open-license",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is a closed accounting/bookkeeping SaaS service, not open-source software; source code availability is not applicable to this product category.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is a managed accounting/bookkeeping SaaS service delivered by human experts plus software; self-hosting the core product is a category error for this type of outsourced professional service, not a plausible axis.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack addresses data residency, region selection, or storage location controls; Pilot is an accounting/bookkeeping service with no mention of infrastructure or data-residency options. Missing for 10: any documentation of data storage regions, residency guarantees, or configurable data location.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is an accounting/bookkeeping service; the evidence pack contains no privacy policy statements, opt-out controls, or AI-training data usage terms addressing whether customer financial data is used to train AI models. This is a fair question given Pilot advertises 'AI answers' features, but no evidence confirms any data-training opt-out or exclusion mechanism. Missing for 10: privacy policy/ToS language on AI training data usage, an opt-out mechanism, or any statement on data handling for AI features.",
    "evidenceIds": [
      "pilot-docs-7"
    ]
  },
  {
    "productId": "pilot",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack addresses data retention policies, deletion controls, or privacy settings for Pilot's AI features or data; the pack only covers accounting, bookkeeping, and tax service offerings. Missing for 10: any documentation of data retention/deletion controls, privacy settings, or data handling policies for AI or customer data.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "privacy-telemetry-optout",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Pilot is an accounting/bookkeeping service, not an AI tool or developer product with telemetry/usage-tracking opt-out settings; this privacy-posture axis about AI telemetry does not apply to this category.",
    "evidenceIds": []
  },
  {
    "productId": "pilot",
    "storyId": "recurring-invoices-reminders",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence mentions 'Full accounts receivable' as a service but nothing about recurring invoicing or automated overdue payment reminders specifically. Pilot is positioned as a bookkeeping/accounting service, not an invoicing tool with these automation features documented anywhere in the pack.",
    "evidenceIds": [
      "pilot-docs-5",
      "pilot-docs-11"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "accountant-collaboration-access",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Puzzle markets an accountant-facing page (migration, real-time reports, startup metrics) but no evidence describes actual user invitation, permission levels, or role-scoped access controls for external collaborators. Missing for 10: explicit invite flow, role/permission settings, and any documentation of accountant-specific access restrictions.",
    "evidenceIds": [
      "puzzle-docs-3",
      "puzzle-docs-12",
      "puzzle-docs-16"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agent-answers-affordability",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Puzzle's MCP integration explicitly connects an AI agent (Claude) to live financial data 'through natural conversation—no exports, no copy-pasting,' and Puzzle's broader API/AI messaging promotes asking plain-English questions like 'Am I ready to raise?' or 'Which months am I actually profitable?' grounded in the ledger. This directly matches the ai-native 'can we afford X' use case backed by live API data. Missing for 10: independent/hands-on verification of accuracy for financial affordability queries, and no explicit example matching the exact 'can we afford X' phrasing.",
    "evidenceIds": [
      "puzzle-docs-22",
      "puzzle-docs-33",
      "puzzle-docs-9",
      "puzzle-docs-1",
      "puzzle-docs-42"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Puzzle's AI Close feature explicitly uses AI agents to 'reconcile accounts, review transactions, and surface discrepancies' as part of the month-end close workflow, directly matching the anomaly-flagging story, and reconciliation docs confirm matching transactions against bank statements to catch mismatches. Missing for 10: explicit mention of duplicate-transaction detection specifically, and independent/hands-on corroboration beyond vendor docs.",
    "evidenceIds": [
      "puzzle-docs-24",
      "puzzle-docs-39",
      "puzzle-docs-5",
      "puzzle-docs-29"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agent-posts-journal-entries",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Puzzle's API supports platform-to-platform integration and journal entries can be created/edited/imported (docs-42, docs-43, docs-31/35), and AI Close uses agents to reconcile and 'review transactions' (docs-24/39), suggesting some agent-assisted, human-reviewed workflow exists. However, there is no documented API endpoint or feature specifically for an agent to draft a journal entry and place it into a distinct 'review queue' state pending accountant approval — the evidence only shows batch/manual entry creation and general AI-close reconciliation, not a draft-and-queue mechanism. Missing for 10: explicit API support for draft/pending journal entry status, a documented review-queue or approval workflow accessible to accountants, and confirmation that AI-drafted entries route through this queue rather than posting directly.",
    "evidenceIds": [
      "puzzle-docs-42",
      "puzzle-docs-43",
      "puzzle-docs-24",
      "puzzle-docs-39",
      "puzzle-docs-31",
      "puzzle-docs-35"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agent-reconciles-month-end",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Puzzle's AI Close feature explicitly uses AI agents to reconcile accounts, review transactions, and surface discrepancies for month-end close, directly matching the story's core ask (puzzle-docs-24, puzzle-docs-39, puzzle-docs-5). However, evidence doesn't confirm full end-to-end autonomy or explicit 'preparation for human review' handoff workflow beyond general review-before-final claims, and there's no independent/hands-on validation of the AI Close agent's reconciliation accuracy or exception-flagging in practice. missing for 10: independent/hands-on verification of AI Close performance, detailed documentation of exception-flagging logic, explicit human-review handoff/approval workflow, and evidence of full end-to-end (not just partial/batch) reconciliation coverage.",
    "evidenceIds": [
      "puzzle-docs-24",
      "puzzle-docs-39",
      "puzzle-docs-5",
      "puzzle-docs-17",
      "puzzle-docs-29"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "A live probe confirms Puzzle's help center serves a valid llms.txt file at help.puzzle.io/llms.txt (HTTP 200) with structured markdown links to docs, directly satisfying the ability to point an agent at agent-oriented docs. Missing for 10: independent/community confirmation of agents successfully consuming this file, and broader agent-doc formats (e.g., per-page .md mirrors, which probes show 404).",
    "evidenceIds": [
      "puzzle-probe-1",
      "puzzle-probe-2"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Puzzle offers a conversational 'ask anything' insights feature (cash trending, profitability, fundraising readiness) plus AI Close agents that surface discrepancies, AI-driven categorization suggestions, and MCP integration for natural-language querying of financial data via Claude — all directly delivering AI-generated insights/suggestions from the user's own data. Missing for 10: independent hands-on verification of insight accuracy/quality beyond marketing copy and only one general community mention unrelated to this specific feature.",
    "evidenceIds": [
      "puzzle-docs-9",
      "puzzle-docs-24",
      "puzzle-docs-25",
      "puzzle-docs-22",
      "puzzle-docs-39",
      "puzzle-docs-17"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Puzzle documents concrete background automations — 'AI Close' agents that autonomously reconcile accounts, review transactions and surface discrepancies during month-end, plus custom categorization rules and batch auto-categorization (up to 98%) that run without manual triggering. However these are fixed, accounting-specific automations rather than a general-purpose 'set up your own automation' framework, and there's no independent/hands-on evidence confirming reliability of unattended runs. Missing for 10: user-configurable triggers/schedules for arbitrary automations, evidence of true autonomy without review gates, and independent verification of background execution.",
    "evidenceIds": [
      "puzzle-docs-24",
      "puzzle-docs-39",
      "puzzle-docs-6",
      "puzzle-docs-7",
      "puzzle-docs-18"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-builtin-assistant",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Puzzle ships built-in AI features (AI Close, Accounting AI) described as using 'AI agents to reconcile accounts, review transactions, and surface discrepancies,' plus an 'Ask AI' button for categorization help and natural-language financial queries — all within the product itself, not an external agent. Missing for 10: independent/hands-on verification of these AI features actually completing delegated tasks, and clearer detail on autonomy vs human-review boundaries.",
    "evidenceIds": [
      "puzzle-docs-24",
      "puzzle-docs-39",
      "puzzle-docs-25",
      "puzzle-docs-30",
      "puzzle-docs-11",
      "puzzle-docs-9",
      "puzzle-docs-17"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-headless",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Puzzle's evidence only shows marketing language about an 'API' for embedding accounting into platforms and an MCP integration for Claude chat — neither documents headless CLI operation, CI pipeline usage, or automation-oriented tooling. No SDK, auth flow, or CI examples are present, so there's no evidence of headless/CI automation support.",
    "evidenceIds": [
      "puzzle-docs-1",
      "puzzle-docs-21",
      "puzzle-docs-32",
      "puzzle-probe-3"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Puzzle exposes its own MCP server so external AI clients (e.g., Claude) can pull Puzzle's financial data — the reverse of the story's ask. There is no evidence that Puzzle itself can consume or plug in external MCP servers to gain their tools.",
    "evidenceIds": [
      "puzzle-docs-22",
      "puzzle-docs-33",
      "puzzle-docs-2"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Puzzle documents an official MCP server integration that connects Puzzle accounts to Claude for natural-language access to financial data, with a dedicated setup guide (puzzle-docs-2, puzzle-docs-22, puzzle-docs-33). This is a first-party, product-level MCP server offering, fitting the axis for a non-agent SaaS product. Missing for 10: independent/hands-on confirmation that the MCP server works as documented, and technical details on supported tool calls/scopes.",
    "evidenceIds": [
      "puzzle-docs-2",
      "puzzle-docs-22",
      "puzzle-docs-33"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-nl-commands",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Puzzle documents natural-language interaction via its MCP integration with Claude ('instant access to your financial data through natural conversation') and multiple AI features letting users 'ask anything about your business in plain English' or 'ask AI' to categorize transactions, plus AI Close agents automating close tasks from natural prompts. Missing for 10: independent/hands-on verification that NL commands can trigger broader actions (not just queries) and third-party corroboration of the MCP/Claude workflow in practice.",
    "evidenceIds": [
      "puzzle-docs-22",
      "puzzle-docs-33",
      "puzzle-docs-9",
      "puzzle-docs-25",
      "puzzle-docs-30",
      "puzzle-docs-24",
      "puzzle-docs-39"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Puzzle's evidence pack documents an API, an MCP integration, and various in-app AI features, but there is no mention of an official CLI tool anywhere in the docs or probes. Missing for 10: any CLI documentation, CLI installation instructions, or CLI command reference.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-public-api",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Puzzle markets an 'Embedded Accounting' API and has a help article on 'API Access in Puzzle' describing platform-to-platform integration intent, suggesting a documented public API exists. However, probes for actual API reference material (OpenAPI/swagger specs, docs-md) returned 404s, and no evidence pack item shows endpoint-level documentation, auth flow, or SDKs. Missing for 10: a public API reference/spec, authentication and endpoint documentation, and independent confirmation that AI-native users can programmatically drive the product via this API.",
    "evidenceIds": [
      "puzzle-docs-1",
      "puzzle-docs-21",
      "puzzle-docs-42",
      "puzzle-probe-3"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Puzzle has an API and MCP integration for connecting agents (e.g., Claude) to account data, but there is no mention of issuing scoped, least-privilege API credentials, permission scopes, or granular token controls for agents. missing for 10: scoped API key/token generation, permission/role-based credential scoping, documentation of least-privilege access controls for agent integrations.",
    "evidenceIds": [
      "puzzle-docs-22",
      "puzzle-docs-42",
      "puzzle-docs-33"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-sdks",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Puzzle offers a documented API for embedded accounting and an MCP integration for Claude, showing some official developer surfaces, but there's no evidence of a formal SDK (client libraries, language bindings) or OpenAPI spec — probes for openapi.json all returned 404. missing for 10: official SDK/client libraries in specific languages, published OpenAPI/API reference spec, independent developer corroboration of building against the API.",
    "evidenceIds": [
      "puzzle-docs-1",
      "puzzle-docs-21",
      "puzzle-docs-42",
      "puzzle-docs-22",
      "puzzle-docs-33",
      "puzzle-probe-3"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of webhook subscription capability anywhere in the pack; Puzzle offers an API and MCP integration for querying data, but nothing about event-driven webhooks.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers bookkeeping, categorization, month-end close, invoicing (AR), reconciliation, and reporting exports, but contains no mention of accounts payable, vendor bills, bill tracking, or AP aging reports. Missing for 10: any documentation of a bills/AP module, vendor balance tracking, or an AP aging report feature.",
    "evidenceIds": [
      "puzzle-docs-26",
      "puzzle-docs-45",
      "puzzle-docs-40"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Puzzle documents an API (puzzle.io/api) and an MCP integration, but there is no evidence of an interactive API reference or runnable examples; probes for OpenAPI/Swagger specs at expected paths all returned 404, suggesting no such interactive reference exists.",
    "evidenceIds": [
      "puzzle-docs-1",
      "puzzle-docs-42",
      "puzzle-probe-3",
      "puzzle-probe-2"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Puzzle has an API and mentions API access docs, but the probe explicitly found no OpenAPI/swagger spec at any candidate path, and no evidence pack item references a downloadable machine-readable spec.",
    "evidenceIds": [
      "puzzle-probe-3",
      "puzzle-docs-42"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence in the pack mentions a sandbox, test, or staging environment for Puzzle's API or product that would let a user test without touching production financial data; only production-focused API and bookkeeping features are documented.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack shows Puzzle has an API and MCP integration (puzzle-docs-42, puzzle-docs-21) but contains no mention of API versioning scheme or a documented deprecation policy; probes for OpenAPI specs all returned 404. Missing for 10: any versioning scheme documentation, changelog, or deprecation/sunset policy.",
    "evidenceIds": [
      "puzzle-docs-42",
      "puzzle-docs-21",
      "puzzle-probe-3"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "ar-aging-customer-balances",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Puzzle documents invoice creation/customization (docs-28, docs-40, docs-47) and general ledger/financial statement exports (docs-26, docs-37, docs-45), which are adjacent to AR tracking, but no evidence explicitly describes an aging report or per-customer balance view. missing for 10: explicit AR aging report feature, per-customer balance/statement view, documentation tying invoicing to AR tracking workflows.",
    "evidenceIds": [
      "puzzle-docs-28",
      "puzzle-docs-40",
      "puzzle-docs-47",
      "puzzle-docs-26",
      "puzzle-docs-37"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "auto-categorization-suggestions",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Puzzle clearly ships automatic transaction categorization with high accuracy claims (up to 98%), custom rules, batch categorization, and an 'ask AI' assist button, showing an active categorization engine tied to user-configurable rules. However, there is no explicit documentation describing a feedback loop where the AI model learns from user corrections over time (as opposed to static rules the user manually creates). missing for 10: explicit description of ML/AI learning from user corrections, evidence of improved suggestion accuracy after corrections, independent confirmation of this adaptive behavior.",
    "evidenceIds": [
      "puzzle-docs-6",
      "puzzle-docs-7",
      "puzzle-docs-18",
      "puzzle-docs-25",
      "puzzle-docs-15"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Puzzle documents concrete bulk-operation features—batch categorizing transactions, bulk CSV import of manual journal entries, and bulk CSV upload of the Chart of Accounts—plus rule-based automation for categorization, all first-party docs. However, these bulk mechanisms are CSV/rule-based rather than explicitly exposed through the AI/API/MCP layer for an 'AI-native' agent to invoke programmatically at scale. Missing for 10: explicit evidence that the API or MCP integration itself supports issuing bulk operations (not just UI/CSV uploads), and independent/hands-on confirmation of bulk-op reliability at scale.",
    "evidenceIds": [
      "puzzle-docs-7",
      "puzzle-docs-43",
      "puzzle-docs-46",
      "puzzle-docs-6",
      "puzzle-docs-22"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Puzzle documents 'Creating custom rules' for transaction categorization, letting users define rules that automatically trigger categorization when transactions occur, and AI Close agents that automate reconciliation on close events — concrete evidence of rule-based automation tied to events. However, this is scoped narrowly to bookkeeping categorization/close workflows rather than a general-purpose rules engine spanning arbitrary triggers and actions. Missing for 10: evidence of a broader, user-configurable trigger-action framework beyond categorization/close (e.g., custom webhooks, conditional workflows across modules), and independent confirmation of rule behavior in practice.",
    "evidenceIds": [
      "puzzle-docs-6",
      "puzzle-docs-7",
      "puzzle-docs-24",
      "puzzle-docs-39"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Puzzle documents AI-driven automation for close, categorization, and reconciliation, but there is no evidence of any capability to schedule recurring jobs or workflows (e.g., recurring invoices, scheduled reports, or timed automation triggers).",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Puzzle documents automation features (custom categorization rules, AI Close, batch categorization) but no evidence describes versioning, reviewing, or rolling back these automations themselves — the only 'rollback' mentioned is voiding a manual journal entry, not an automation rule change. Missing for 10: version history for rules/automations, review/approval workflow for automation changes, and a documented rollback mechanism for automations.",
    "evidenceIds": [
      "puzzle-docs-6",
      "puzzle-docs-24",
      "puzzle-docs-35"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Puzzle's docs describe connecting bank/credit-card accounts and third-party sources (Brex, Ramp, Stripe) with automated categorization (98% categorized) and reconciliation workflows, which directly supports the daily-import banking-reconciliation story (puzzle-docs-29, -15, -14, -13, -18, -19). However, there's no explicit statement about daily import cadence or independent verification of reliability. Missing for 10: explicit 'daily auto-sync' language, third-party/hands-on confirmation of import frequency and accuracy.",
    "evidenceIds": [
      "puzzle-docs-29",
      "puzzle-docs-15",
      "puzzle-docs-14",
      "puzzle-docs-13",
      "puzzle-docs-18",
      "puzzle-docs-19"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Puzzle has a dedicated reconciliation feature for bank/credit card accounts explicitly designed to ensure every transaction is accounted for and matches the bank statement (puzzle-docs-29), plus AI Close automates reconciling accounts, reviewing transactions, and surfacing discrepancies (puzzle-docs-24, puzzle-docs-39). This covers the core reconcile-and-surface-for-review workflow an accountant needs. Missing for 10: explicit documentation of distinct 'matched/unmatched/duplicate' transaction states or UI surfacing terminology, and independent/hands-on validation beyond vendor docs.",
    "evidenceIds": [
      "puzzle-docs-29",
      "puzzle-docs-24",
      "puzzle-docs-39"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Puzzle documents direct connections to banking/payment platforms like Stripe, Ramp, and Brex with concrete automation stats (transaction categorization, faster close, revenue reconciliation) and general bank/credit card reconciliation flows, showing banking and payments activity flows into the ledger automatically. However, no evidence names a payroll system integration (e.g., Gusto, Rippling) or shows payroll data flowing into the ledger. Missing for 10: explicit payroll system integrations, independent/hands-on confirmation of banking+payroll auto-sync working end-to-end.",
    "evidenceIds": [
      "puzzle-docs-13",
      "puzzle-docs-14",
      "puzzle-docs-15",
      "puzzle-docs-8",
      "puzzle-docs-29",
      "puzzle-docs-42"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "bill-capture-approval-payment",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack covers bookkeeping, categorization, close automation, invoicing (AR), and reporting, but contains no mention of vendor bill capture, approval routing, or payment scheduling (AP workflow) anywhere in the docs or help center listings.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "chart-of-accounts-management",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Puzzle docs confirm chart-of-accounts customization via bulk CSV upload/edit and a flexible Classes dimension with unlimited groups, supporting tag/class-based segmentation. However there's no explicit evidence of configuring account types or creating sub-accounts within the CoA structure. Missing for 10: explicit sub-account hierarchy support, account-type customization details, independent/hands-on corroboration.",
    "evidenceIds": [
      "puzzle-docs-46",
      "puzzle-docs-36"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "complete-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence describes an audit trail, change log, or user-attributed history of edits across the ledger. The closest related item (docs-31/35) only shows that editing a journal entry creates a reversing entry rather than in-place edits, which is not the same as a queryable audit trail of who changed what and when.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "create-send-invoices",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Puzzle has a documented invoice creation/customization feature with live preview and branded PDFs/emails (puzzle-docs-28, 40, 47), but there is no evidence of built-in online payment collection or of invoice view/paid status tracking, which are core parts of this story. Missing for 10: online payment processing integration for invoices, and view/paid status notifications or dashboards.",
    "evidenceIds": [
      "puzzle-docs-28",
      "puzzle-docs-40",
      "puzzle-docs-47"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "custom-reports-dimensions",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Puzzle supports Classes with Groups (puzzle-docs-36) and general ledger/financial statement export in cash or accrual basis (puzzle-docs-26/37/45), plus multi-entity management (puzzle-docs-38/44), but there is no direct evidence of a custom report builder that lets accountants filter/group specifically by class, location, or tag dimensions together. missing for 10: explicit custom report builder UI, evidence of 'location' and 'tag' dimensions (only 'class' is documented), and confirmation that reports can be filtered/grouped by these dimensions simultaneously.",
    "evidenceIds": [
      "puzzle-docs-36",
      "puzzle-docs-26",
      "puzzle-docs-37",
      "puzzle-docs-45",
      "puzzle-docs-38"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "financial-statements-generation",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Puzzle explicitly supports generating and exporting full general ledger and financial statements (cash or accrual basis) in Excel/CSV/PDF on demand, plus real-time reporting and startup metrics like ARR/burn/runway, which directly serves the founder's need for on-demand P&L/balance sheet/cash-flow reporting. Missing for 10: explicit naming of 'balance sheet' and 'cash-flow statement' as distinct statement types, and independent/hands-on verification of statement accuracy beyond vendor docs.",
    "evidenceIds": [
      "puzzle-docs-16",
      "puzzle-docs-26",
      "puzzle-docs-37",
      "puzzle-docs-45",
      "puzzle-docs-20",
      "puzzle-docs-12"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "full-gl-export-via-api",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Puzzle documents that users can export a full general ledger and financial statements (cash or accrual) in Excel, CSV, and PDF (open formats), and separately references an API 'architected for deep platform-to-platform integrations,' but no evidence ties GL/trial-balance export specifically to the documented API — exports appear to be a UI feature, and probes for OpenAPI/API docs (openapi.json, swagger.json) all returned 404, suggesting no publicly discoverable API reference. Missing for 10: explicit API endpoint/documentation for pulling GL and trial balance, confirmation of trial balance as a report type, and a working/discoverable OpenAPI spec.",
    "evidenceIds": [
      "puzzle-docs-26",
      "puzzle-docs-37",
      "puzzle-docs-45",
      "puzzle-docs-42",
      "puzzle-probe-3"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence covers AI-assisted month-end close, reconciliation, and journal entry reversals, but nowhere mentions locking closed periods or requiring an explicit reopening step to prevent prior-period changes. This is a standard, applicable accounting-software axis, but no documentation or community evidence confirms it exists in Puzzle.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "manual-journal-entries",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Puzzle explicitly supports posting manual journal entries, including bulk CSV import for multiple entries and automatic reversing entries when editing an existing entry, indicating standard double-entry JE functionality with edit history. However, there is no explicit documentation confirming enforced debit/credit balancing validation or a dedicated memo/notes field on entries. missing for 10: explicit debit=credit validation, documented memo/description field support.",
    "evidenceIds": [
      "puzzle-docs-31",
      "puzzle-docs-35",
      "puzzle-docs-43",
      "puzzle-docs-46"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "migrate-historical-books",
    "verdict": "full",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Puzzle explicitly markets QuickBooks migration ('Migrate from QuickBooks without lifting a finger or losing your client's data', 'Switch in minutes. Free migration.'), directly addressing historical books migration without data loss for founders switching accounting systems. Missing for 10: independent/hands-on verification of transaction-level fidelity during migration, detail on which source systems beyond QuickBooks are supported, and documented handling of complex historical data edge cases (multi-entity, custom categories).",
    "evidenceIds": [
      "puzzle-docs-3",
      "puzzle-docs-4"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "month-end-close-checklist",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Puzzle's 'AI Close' explicitly automates month-end close by reconciling accounts, reviewing transactions, and surfacing discrepancies (puzzle-docs-24/39), and separate reconciliation docs describe matching bank/credit card transactions (puzzle-docs-29). Cash and accrual accounting are supported (puzzle-docs-20), but there's no evidence of a structured checklist UI, accrual-specific tasks, or multi-person review/sign-off workflow tracking. Missing for 10: explicit checklist/task-list feature, accrual entry tracking, and reviewer sign-off/approval workflow evidence.",
    "evidenceIds": [
      "puzzle-docs-24",
      "puzzle-docs-39",
      "puzzle-docs-29",
      "puzzle-docs-20",
      "puzzle-docs-5"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "multi-entity-consolidation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Puzzle explicitly supports managing multiple companies/entities under one login, and documents a Joiin integration specifically for 'Multi-Entity Reporting', showing entity management and a path to consolidated reporting exist. However, true consolidated financials appear to require a third-party integration (Joiin) rather than a native consolidation engine, and there's no evidence of native cross-entity elimination, intercompany accounting, or a built-in consolidated financial statement generator. Missing for 10: native consolidation/elimination features, evidence of intercompany transaction handling, and independent confirmation the Joiin integration fully satisfies audit-grade consolidated reporting.",
    "evidenceIds": [
      "puzzle-docs-38",
      "puzzle-docs-44",
      "puzzle-docs-10"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Puzzle exposes an API for embedded accounting and bookkeeping data (puzzle-docs-1, puzzle-docs-42) plus CSV/journal bulk import tools, but there is no documentation claiming or demonstrating that every UI action (invoicing, reconciliation, categorization rules, AI Close workflows) is exposed via the API, and a probe for an OpenAPI/swagger spec returned 404s, suggesting the API surface is not fully public or documented. missing for 10: explicit API-UI parity documentation, public OpenAPI spec, evidence of invoice creation/reconciliation/AI Close being API-accessible.",
    "evidenceIds": [
      "puzzle-docs-1",
      "puzzle-docs-42",
      "puzzle-docs-43",
      "puzzle-docs-46",
      "puzzle-probe-3"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Puzzle documents exporting a full general ledger and financial statements in open formats (Excel, CSV, PDF) for both cash and accrual basis, which supports the core 'export and leave' requirement for financial data. missing for 10: evidence of exporting full account configuration/rules/invoice templates/all metadata, independent user corroboration of the export process, and no explicit data-portability/deletion guarantee.",
    "evidenceIds": [
      "puzzle-docs-26",
      "puzzle-docs-37",
      "puzzle-docs-45"
    ]
  },
  {
    "productId": "puzzle",
    "storyId": "openness-open-license",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Puzzle is a closed-source SaaS accounting product; there is no evidence of any open-source licensing of its codebase, and this is not a category where source availability would be expected — it's a proprietary commercial platform, not a framework/library/tool product.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "openness-self-host",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Puzzle is presented entirely as a cloud-hosted SaaS accounting platform with an API and MCP integration; there is no mention anywhere in the evidence of an on-premise or self-hosted deployment option, open-source release, or self-hosting documentation.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence pack item mentions data residency, regional storage options, or any control over where customer data is hosted; Puzzle is an accounting SaaS and this is a fair question for a data platform, but nothing documents such a capability.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses data-training opt-out, privacy policy commitments, or AI model training exclusions for Puzzle's data; the evidence only covers accounting/AI-bookkeeping features.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence pack items address data retention policies, deletion controls, or data lifecycle management for user/financial data; the evidence covers accounting features, AI Close, exports, and MCP integration but nothing on retention/deletion controls.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack mentions telemetry, usage tracking, opt-out settings, or privacy controls of any kind — the pack is entirely about accounting features, AI bookkeeping, integrations, and pricing. This is a fair axis for any AI-native SaaS product, but there is no documentation to support it.",
    "evidenceIds": []
  },
  {
    "productId": "puzzle",
    "storyId": "recurring-invoices-reminders",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence confirms Puzzle has an invoice creation/customization editor (branding, live preview) but no documentation mentions recurring/scheduled invoices or automatic overdue payment reminders. Missing for 10: any mention of recurring invoice scheduling, dunning/reminder automation, or overdue-tracking workflows.",
    "evidenceIds": [
      "puzzle-docs-28",
      "puzzle-docs-40",
      "puzzle-docs-47"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "accountant-collaboration-access",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "QuickBooks explicitly markets giving accountants direct access to books and custom role-based access controls (up to 25 users on Advanced), which directly supports inviting an external accountant with scoped permissions. However, evidence lacks specifics on how granular the role-scoping is for an accountant-specific invite (e.g., accountant-only view vs. full custom roles) or independent confirmation of this workflow in practice. Missing for 10: detailed documentation of accountant-specific invite flow and role granularity, and independent/hands-on corroboration of the accountant access experience.",
    "evidenceIds": [
      "quickbooks-docs-10",
      "quickbooks-docs-4",
      "quickbooks-docs-25",
      "quickbooks-docs-27"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agent-answers-affordability",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "QuickBooks has an official MCP server exposing 145 tools with full CRUD across 29 entities and 11 financial reports (Balance Sheet, P&L, Cash Flow), which could ground an agent's answer to affordability questions in live ledger data, and Intuit Intelligence chat markets natural-language Q&A like 'What's driving my profit?'. However, there's no first-party documentation showing an agent actually reasoning through a cash-flow/affordability question end-to-end, and probes show no public OpenAPI/llms.txt discoverability layer, and no independent/hands-on evidence confirms real-time accuracy of agent-grounded answers. missing for 10: a documented example of an agent answering an affordability-style question using live API data, public OpenAPI/llms.txt for easy agent discovery, and independent verification that answers are accurately grounded rather than hallucinated.",
    "evidenceIds": [
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-5",
      "quickbooks-gh-6",
      "quickbooks-docs-29",
      "quickbooks-docs-19",
      "quickbooks-probe-1",
      "quickbooks-probe-2",
      "quickbooks-probe-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "QuickBooks documents an 'Intuit Intelligence' chat AI that can 'help resolve anomalies' and generate reports, plus a Reconciliation Discrepancy Report for spotting book discrepancies, and ships an official MCP server exposing 145 tools/CRUD and 11 financial reports that an external agent could use to monitor the ledger. However, none of this evidence specifically describes automated, proactive flagging of spend anomalies or duplicate transactions ahead of month-end close, and there's no independent or hands-on confirmation of this working as an agentic monitoring workflow. Missing for 10: dedicated duplicate-transaction/anomaly detection feature documentation, evidence of pre-close automated alerting, and third-party validation of anomaly detection accuracy.",
    "evidenceIds": [
      "quickbooks-docs-19",
      "quickbooks-docs-9",
      "quickbooks-docs-30",
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-5"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agent-posts-journal-entries",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "QuickBooks does expose journal-entry CRUD via its official API/MCP server (29 entity types with full CRUD and write-safety toggles like QUICKBOOKS_DISABLE_WRITE), so an agent could draft and post entries programmatically, and accountants can be given direct book access. However, there is no evidence of a dedicated 'review queue' or draft/pending-approval state for journal entries awaiting accountant sign-off before posting. Missing for 10: documented draft/pending status for journal entries, an approval workflow tying agent-created entries to accountant review, and any UI/API concept of a review queue.",
    "evidenceIds": [
      "quickbooks-gh-4",
      "quickbooks-gh-6",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-docs-10"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agent-reconciles-month-end",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "QuickBooks ships real building blocks an agent could use—bank-feed transaction matching and reconciliation reports (quickbooks-docs-6/7/8/9), an official MCP server exposing 29 entity types, 11 financial reports, and full CRUD for agent integrations (quickbooks-gh-3/4/5/6/7), plus an 'Intuit Intelligence' chat that claims to 'help resolve anomalies' (quickbooks-docs-19). However, there is no documented tool or workflow that performs the reconciliation itself autonomously, flags exceptions, and packages a close for human review as one orchestrated task; reconciliation is presented as a human-driven feature ('Reconcile bank statements in minutes') and the MCP server's docs list generic CRUD/report access rather than a reconcile-specific or exception-flagging capability. Missing for 10: an explicit agent-driven reconciliation/close workflow tool, documented exception-flagging logic, and evidence of an agent actually completing an end-to-end month-end close.",
    "evidenceIds": [
      "quickbooks-docs-6",
      "quickbooks-docs-7",
      "quickbooks-docs-8",
      "quickbooks-docs-9",
      "quickbooks-docs-19",
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-5",
      "quickbooks-gh-6",
      "quickbooks-gh-7"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-agent-docs",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "llms.txt explicitly returns 404 (no dedicated agent-readable docs file), and no OpenAPI spec was found at standard locations either. However, Intuit does document an official MCP server for QuickBooks Online (developer.intuit.com/.../mcp and a GitHub repo with 145 tools/29 entities), which constitutes agent-oriented documentation an AI agent could be pointed at instead of llms.txt. Missing for 10: an actual llms.txt or equivalent single agent-readable manifest, and independent confirmation the MCP docs page is comprehensive/discoverable rather than a niche developer page.",
    "evidenceIds": [
      "quickbooks-probe-1",
      "quickbooks-probe-2",
      "quickbooks-probe-3",
      "quickbooks-gh-3",
      "quickbooks-gh-4"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "QuickBooks documents Intuit Intelligence/AI features that generate insights directly from user data: an AI chat that answers questions like \"What's driving my profit?\" and \"How are my invoices doing this month?\", instant reports on top expenses/sales trends/industry benchmarking, AI-driven anomaly resolution and tax savings estimation, and Payroll AI that spots inconsistencies proactively. These are first-party vendor claims without independent hands-on corroboration. Missing for 10: independent/community validation that these AI insights work as described, and detail on accuracy/reliability of the suggestions.",
    "evidenceIds": [
      "quickbooks-docs-19",
      "quickbooks-docs-20",
      "quickbooks-docs-29",
      "quickbooks-docs-30",
      "quickbooks-docs-38",
      "quickbooks-docs-21"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "QuickBooks ships several rule-based automations (bank-rule categorization, automated payment reminders, automatic bank-feed import, automatic reconciliation reports) and Intuit Intelligence/Payroll AI that proactively monitor data and flag issues, plus an official MCP server exposing 145 tools across 29 entities and financial reports for agent-driven access with sandbox and write-safety toggles. However, these are mostly triggered rules or on-demand AI chat interactions rather than a documented capability for a user to configure agents that run continuously/autonomously in the background without external orchestration; the MCP server itself is a tool interface for agents built by developers, not a built-in scheduler.\nmissing for 10: native scheduling/trigger builder for persistent background automations, evidence of fully autonomous unattended agent runs, independent corroboration of agentic automation reliability.",
    "evidenceIds": [
      "quickbooks-docs-15",
      "quickbooks-docs-7",
      "quickbooks-docs-8",
      "quickbooks-comm-3",
      "quickbooks-docs-19",
      "quickbooks-docs-30",
      "quickbooks-docs-38",
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-gh-7"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-builtin-assistant",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "QuickBooks has a built-in AI assistant (\"Intuit Intelligence\") that users can chat with to create invoices, resolve anomalies, run payroll, generate reports, and get instant contextual answers — a direct in-product delegation experience, not a separate tool. missing for 10: independent/hands-on verification of the assistant's reliability and scope beyond vendor marketing copy.",
    "evidenceIds": [
      "quickbooks-docs-19",
      "quickbooks-docs-20",
      "quickbooks-docs-29",
      "quickbooks-docs-30",
      "quickbooks-docs-38"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "QuickBooks Online exposes a REST API with official OAuth SDKs (Node.js, PHP) and an official MCP server with 145 tools covering CRUD across 29 entities and 11 reports, all of which can be scripted/automated without a UI — and a sandbox environment plus write-safety toggles (QUICKBOOKS_DISABLE_WRITE/UPDATE) support automated, non-interactive testing akin to CI use. However, there is no explicit documentation of a CLI, CI pipeline integration, or headless-run instructions/examples specifically for automation pipelines. Missing for 10: explicit CI/pipeline documentation or examples, a dedicated CLI for scripted automation, and independent evidence of successful headless/CI usage in practice.",
    "evidenceIds": [
      "quickbooks-gh-1",
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-supp-sandbox-oauth",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-gh-7",
      "quickbooks-docs-32"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence describes QuickBooks Online publishing its own MCP server (allowing external AI agents to call into QuickBooks), not QuickBooks acting as an MCP client that can ingest and use external MCP servers' tools within its own AI features (e.g., Intuit Intelligence). No documentation shows a mechanism for a user to plug third-party MCP servers into QuickBooks so its AI can call their tools.",
    "evidenceIds": [
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-docs-19"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Intuit publishes an official MCP server (github.com/intuit/quickbooks-online-mcp-server) with 145 tools covering 29 entity types and 11 financial reports, full CRUD, sandbox/production environment switching, and write-safety toggles for scoping agent actions, and Intuit's developer docs also list the MCP server under official docs. Missing for 10: independent/community hands-on validation of the MCP server itself (only vendor/GitHub-authored evidence) and clearer production-readiness signals (e.g., versioning/maturity status).",
    "evidenceIds": [
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-5",
      "quickbooks-gh-6",
      "quickbooks-gh-7",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-probe-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-nl-commands",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "QuickBooks offers 'Intuit Intelligence' chat where users can issue natural-language commands to create invoices, run payroll, generate reports, and get answers to questions like 'What's driving my profit?' — this directly supports natural-language operation. However, this is a limited chat assistant layered on top of the core UI rather than full natural-language control of all product functions, and there's no independent/hands-on evidence corroborating its reliability or scope beyond vendor claims. Missing for 10: independent verification of the chat's command coverage/reliability, evidence of natural-language control beyond the listed use cases, and hands-on user reports confirming it works as described.",
    "evidenceIds": [
      "quickbooks-docs-19",
      "quickbooks-docs-20",
      "quickbooks-docs-29",
      "quickbooks-docs-38"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows SDKs (Node.js OAuth client, PHP SDK) and an official MCP server for agent integration, but nothing indicates an official command-line interface (CLI) tool for QuickBooks Online. Missing for 10: any mention of a first-party CLI binary/package, CLI installation instructions, or CLI command examples.",
    "evidenceIds": [
      "quickbooks-gh-1",
      "quickbooks-docs-32",
      "quickbooks-gh-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "QuickBooks Online exposes a documented public REST API with official OAuth2 SDKs (Node.js, PHP) supporting full CRUD across many entity types, plus a sandbox environment for safe integration testing, and an official MCP server with 145 tools covering 29 entities and 11 reports for agentic access. Probes show no discoverable llms.txt or OpenAPI spec at expected paths, and no independent third-party corroboration of API robustness beyond vendor docs. missing for 10: publicly discoverable OpenAPI/llms.txt spec, independent developer reviews of the API's completeness/reliability.",
    "evidenceIds": [
      "quickbooks-gh-1",
      "quickbooks-gh-2",
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-5",
      "quickbooks-gh-6",
      "quickbooks-gh-7",
      "quickbooks-docs-31",
      "quickbooks-docs-32",
      "quickbooks-docs-36",
      "quickbooks-supp-sandbox-oauth",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-probe-1",
      "quickbooks-probe-2",
      "quickbooks-probe-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-scoped-keys",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Intuit's official MCP server exposes environment variables (QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE) and lets you restrict which tool categories are registered, and the OAuth client supports a sandbox/production split—giving some coarse-grained, least-privilege-style control over what an agent can do. However this is app-level config rather than true per-agent scoped OAuth credentials/roles, and there's no documented fine-grained scope system (e.g., read-only vs specific entity scopes) issued per credential. Missing for 10: granular OAuth scope definitions, role-based API key issuance per agent, and independent confirmation these toggles are enforced server-side rather than just client config.",
    "evidenceIds": [
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-gh-7",
      "quickbooks-supp-sandbox-oauth",
      "quickbooks-docs-4"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-sdks",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Intuit maintains official SDKs (oauth-jsclient for Node.js, QuickBooks-V3-PHP-SDK for PHP) with documented OAuth flows, CRUD examples, and sandbox/production environment switches for safe development, plus an official MCP server exposing 145 tools across 29 entity types and 11 financial reports with write-safety toggles — directly enabling AI-native/agentic development against QuickBooks Online. missing for 10: no discoverable OpenAPI/swagger spec or llms.txt (both probed 404), and no independent developer corroboration of SDK/MCP quality beyond first-party docs.",
    "evidenceIds": [
      "quickbooks-gh-1",
      "quickbooks-gh-2",
      "quickbooks-docs-31",
      "quickbooks-docs-32",
      "quickbooks-docs-36",
      "quickbooks-docs-39",
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-5",
      "quickbooks-gh-6",
      "quickbooks-gh-7",
      "quickbooks-supp-sandbox-oauth",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-probe-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack contains no mention of webhooks, event subscriptions, or push notifications anywhere in QuickBooks' docs, GitHub SDKs, or MCP server materials — only OAuth clients, REST CRUD operations, and polling-style API access are documented. Webhook subscription is a plausible capability for an API-driven accounting platform, but no evidence shows QuickBooks Online supports it.",
    "evidenceIds": [
      "quickbooks-gh-1",
      "quickbooks-gh-3",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-docs-32"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack documents an A/R aging report and accounts-receivable tracking (quickbooks-docs-18, quickbooks-docs-37) but contains no mention of an accounts payable aging report or vendor balance reporting; the MCP server's financial reports list (Balance Sheet, P&L, Cash Flow) does not name AP aging either.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence includes only static SDK README code snippets (PHP/Node OAuth examples) and explicit probes showing the developer site lacks an interactive OpenAPI/Swagger explorer (openapi.json 404) and no llms.txt, with no mention of a live, runnable API explorer or sandbox console. missing for 10: interactive browser-based API reference, runnable request/response console, discoverable OpenAPI spec.",
    "evidenceIds": [
      "quickbooks-probe-1",
      "quickbooks-probe-2",
      "quickbooks-docs-36",
      "quickbooks-docs-32"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Direct probes for an OpenAPI/swagger spec on Intuit's developer domain returned 404s at all standard locations, and no other evidence shows a downloadable machine-readable API spec; the MCP server and SDKs (Node/PHP) are wrapper tools, not an OpenAPI spec itself.",
    "evidenceIds": [
      "quickbooks-probe-1",
      "quickbooks-probe-2",
      "quickbooks-gh-1",
      "quickbooks-docs-32"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "api-sandbox",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Intuit's official OAuth client and MCP server docs explicitly document a sandbox/production environment split, with sandbox using isolated company data and localhost redirect URIs, plus write-safety toggles for agent scoping. This directly supports AI-native testing against sandbox without touching production. Missing for 10: independent/hands-on confirmation of sandbox parity with production and no evidence of persistent sandbox data limitations or resets.",
    "evidenceIds": [
      "quickbooks-supp-sandbox-oauth",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-gh-7",
      "quickbooks-probe-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows QuickBooks has a versioned REST API (V3 SDK, OAuth client) and even an official MCP server, but nothing in the pack documents a deprecation policy, versioning cadence, or sunset timeline for API versions; probes for openapi/llms.txt docs both 404, suggesting no discoverable machine-readable API reference either. Missing for 10: explicit deprecation policy documentation, version lifecycle/support windows, and any changelog or sunset notice practice.",
    "evidenceIds": [
      "quickbooks-docs-32",
      "quickbooks-probe-1",
      "quickbooks-probe-2",
      "quickbooks-gh-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "ar-aging-customer-balances",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "QuickBooks docs explicitly describe A/R aging reports ('run the A/R aging report to see which customers are late with their payments') and per-customer tracking of invoices, payments, and delinquent accounts, plus statement reminders for late-paying customers. Missing for 10: independent/hands-on corroboration of the aging report's accuracy or depth, and no sample screenshot/detail on per-customer balance breakdown beyond marketing copy.",
    "evidenceIds": [
      "quickbooks-docs-18",
      "quickbooks-docs-37",
      "quickbooks-docs-16",
      "quickbooks-docs-17"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "auto-categorization-suggestions",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "QuickBooks docs mention auto-sorting expenses (quickbooks-docs-28) and community evidence confirms built-in automatic categorization rules (quickbooks-comm-3), but neither source explicitly describes a machine-learning mechanism that adapts based on the founder's manual corrections. Missing for 10: explicit documentation of ML-based re-categorization suggestions, first-party confirmation that the system improves from user corrections, and independent hands-on validation of this adaptive behavior.",
    "evidenceIds": [
      "quickbooks-docs-28",
      "quickbooks-comm-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "automation-bulk-operations",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows QuickBooks Online supports per-entity CRUD via API/MCP server (29 entity types, 11 reports) and vague mentions of 'syncing data in spreadsheets' for Advanced tier, but nowhere is a genuine bulk/batch operation (e.g., a batch API endpoint or agent tool for acting on many records in one call) documented. Missing for 10: explicit bulk/batch API documentation, MCP tool for multi-item operations, or hands-on evidence of processing many items in a single automated action.",
    "evidenceIds": [
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-6",
      "quickbooks-docs-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "QuickBooks Online ships built-in 'bank rules' for automatic transaction categorization (confirmed independently in community discussion), plus automated payment reminders and auto-generated reconciliation reports, and docs mention custom workflows/roles as an Advanced feature — all of which are rule-based, event-triggered actions. However, these are narrow, product-specific automations (categorization, reminders, reconciliation) rather than a general-purpose, user-definable rules/triggers engine that an AI-native user could configure to fire arbitrary actions on arbitrary events; the MCP server exposes CRUD tools but no explicit rule-trigger framework. Missing for 10: a generalized event-condition-action rule builder, evidence of AI/MCP-driven custom automation creation, and independent hands-on confirmation of workflow automation beyond categorization.",
    "evidenceIds": [
      "quickbooks-comm-3",
      "quickbooks-docs-15",
      "quickbooks-docs-8",
      "quickbooks-docs-4",
      "quickbooks-gh-3",
      "quickbooks-gh-6"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack details QuickBooks' MCP server (145 tools, CRUD across 29 entities, sandbox/production split, write-safety toggles) but nowhere describes a mechanism for scheduling recurring jobs or workflows via API/MCP—no cron-like triggers, recurring-transaction API, or workflow scheduler for AI agents is documented. Mentions of 'automated payment reminders' or automatic bank imports are built-in consumer features, not an AI-native scheduling/automation primitive exposed to agents.",
    "evidenceIds": [
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-docs-15"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence shows QuickBooks has automation-adjacent features (rules, invoice reminders, MCP server with write toggles) and 'backup and restore to undo mistakes' at the account/data level, but there is no evidence of versioning, reviewing, or rolling back specific automations/workflows themselves — no automation history, diff view, or automation-specific rollback mechanism is documented.",
    "evidenceIds": [
      "quickbooks-docs-25",
      "quickbooks-gh-7",
      "quickbooks-supp-mcp-sandbox"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "QuickBooks docs directly state bank/credit-card/PayPal/Square connections auto-import transactions daily, plus existing rule-based categorization is corroborated by a community comment, and reconciliation reports confirm ongoing automated matching. Missing for 10: independent hands-on verification of daily-sync reliability and no direct evidence addressing sync frequency/outage issues raised in community comments about QBO reliability.",
    "evidenceIds": [
      "quickbooks-docs-7",
      "quickbooks-docs-6",
      "quickbooks-docs-8",
      "quickbooks-comm-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "QuickBooks Online docs explicitly describe connecting bank/credit-card feeds, automatic transaction import and matching, a reconciliation workflow, an auto-generated reconciliation report, and discrepancy-focused reports (Reconciliation Discrepancy Report, Missing Checks Report, Transaction Detail Report) that help surface unmatched/duplicate items for review, directly matching the accountant story. Missing for 10: explicit documentation of a distinct 'duplicate transaction' flag/UI and independent hands-on verification of the reconciliation workflow's accuracy (community evidence is generic and not reconciliation-specific).",
    "evidenceIds": [
      "quickbooks-docs-6",
      "quickbooks-docs-7",
      "quickbooks-docs-8",
      "quickbooks-docs-9",
      "quickbooks-docs-1"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "QuickBooks Online documents direct bank/credit card/PayPal/Square connections with automatic transaction import and matching, plus payments and payroll AI automation (time/attendance data flowing into payroll), and an 800+ app integration ecosystem including PayPal/Square/Shopify connectors. Community evidence confirms rule-based auto-categorization works in practice, corroborating the automated ledger flow. Missing for 10: independent hands-on verification of payroll-to-ledger automation specifically and no direct evidence of setup friction/reliability for these bank feeds beyond general reliability complaints unrelated to this axis.",
    "evidenceIds": [
      "quickbooks-docs-7",
      "quickbooks-docs-6",
      "quickbooks-docs-1",
      "quickbooks-docs-23",
      "quickbooks-intdir-1",
      "quickbooks-intdir-2",
      "quickbooks-docs-33",
      "quickbooks-docs-38",
      "quickbooks-comm-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "bill-capture-approval-payment",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers invoicing, A/R, bank reconciliation, and generic 'custom roles/workflows' language, but contains no documentation of vendor bill capture, bill approval routing, or scheduled bill payments — the core AP workflow described in the story. Missing for 10: bill capture/entry feature, approval workflow for bills, scheduled/bill-pay payment functionality, any hands-on or docs evidence of an AP module.",
    "evidenceIds": [
      "quickbooks-docs-4"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "chart-of-accounts-management",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack contains no mention of chart of accounts, account types, sub-accounts, or class/tag tracking dimensions anywhere in the docs, GitHub, or community items. Without any documented evidence of this capability, it cannot be credited despite being a plausible axis for an accounting product.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "complete-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The axis clearly applies to accounting software, but no evidence item mentions an audit trail, activity log, or change-history feature — closest matches (custom roles/permissions, backup & restore) address access control and data recovery, not a record of who changed what and when. Missing for 10: any documentation of an Audit Log/Audit Trail report, user-action history, or field-level change tracking across the ledger.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "create-send-invoices",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Docs directly cover invoice creation (templates/logo), online payment button on invoices, view/paid tracking, and automated reminders — matching every element of the story. Missing for 10: independent/hands-on corroboration beyond vendor docs.",
    "evidenceIds": [
      "quickbooks-docs-11",
      "quickbooks-docs-14",
      "quickbooks-docs-17",
      "quickbooks-docs-15",
      "quickbooks-docs-34"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "custom-reports-dimensions",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack contains no mention of class, location, or tag tracking, nor of custom report building filtered/grouped by these dimensions — only generic mentions of custom roles/access, invoicing, and integrations. One community note even claims QBO lacks many reports found in desktop QuickBooks, but nothing confirms or denies this specific capability.",
    "evidenceIds": [
      "quickbooks-docs-4",
      "quickbooks-comm-2"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "financial-statements-generation",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "The official QuickBooks Online MCP server explicitly lists '11 Financial Reports - Balance Sheet, P&L, Cash Flow, and more' with full API coverage, and QBO Advanced marketing cites 13-week cash-flow/P&L forecasting and instant on-demand reporting via Intuit Intelligence chat. This confirms the three core statements are generatable on demand for any period. Missing for 10: a dedicated first-party reports-center walkthrough showing period selection UI, and independent hands-on verification of statement accuracy (community feedback notes QBO is 'not feature complete' vs desktop for some reports).",
    "evidenceIds": [
      "quickbooks-gh-5",
      "quickbooks-docs-26",
      "quickbooks-docs-20",
      "quickbooks-docs-42",
      "quickbooks-comm-2"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "full-gl-export-via-api",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "QuickBooks Online exposes a REST API (V3) with SDKs (PHP, Node OAuth client) and an MCP server covering 29 entity types and 11 financial reports including Balance Sheet, P&L, and Cash Flow, which implies GL/trial-balance-like data can be retrieved programmatically. However, there is no direct evidence of a documented endpoint explicitly returning a full general ledger or trial balance report, nor confirmation of open/standard export formats (e.g., CSV/JSON schema for GL); OpenAPI/llms.txt probes returned 404s, reducing discoverability of a formal spec. missing for 10: explicit trial balance/GL report endpoint documentation, confirmed open-format (CSV/JSON) export schema, publicly accessible OpenAPI spec.",
    "evidenceIds": [
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-5",
      "quickbooks-gh-6",
      "quickbooks-docs-32",
      "quickbooks-docs-36",
      "quickbooks-probe-1",
      "quickbooks-probe-2",
      "quickbooks-probe-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence pack item mentions closing periods, closing dates, or locking prior-period transactions from edits — QuickBooks Online does have a known 'closing date' feature in general knowledge, but nothing in this evidence pack documents it, so per the rules absence of evidence must be judged 'none'.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "manual-journal-entries",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack covers invoicing, reconciliation, A/R, integrations, and AI features but contains no mention of manual journal entries, debit/credit entry screens, or memo fields for adjusting entries. Since journal entries are a core, applicable ledger capability for accounting software, absence of any supporting evidence means this is 'none' rather than 'na'.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "migrate-historical-books",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence describes any migration/import tooling for bringing historical transaction-level data from another accounting system into QuickBooks Online; the only migration-adjacent item (quickbooks-docs-27) refers to moving firms between Intuit's own products, not importing from competitors, and community evidence even notes QBO lacks feature parity with desktop QuickBooks. Missing for 10: any documented data-migration/import wizard, third-party system conversion tool, or evidence that transaction-level detail is preserved when switching from another platform.",
    "evidenceIds": [
      "quickbooks-docs-27",
      "quickbooks-comm-2"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "month-end-close-checklist",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows QuickBooks Online offers bank reconciliation tools, reconciliation reports, and accountant access, but there is no evidence of a dedicated month-end close checklist that tracks reconciliations, accruals, and review sign-offs as an integrated workflow. Community evidence even notes QBO lacks feature parity with desktop, and no close-management or sign-off workflow is documented.",
    "evidenceIds": [
      "quickbooks-docs-6",
      "quickbooks-docs-8",
      "quickbooks-docs-9",
      "quickbooks-docs-10",
      "quickbooks-comm-2"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "multi-entity-consolidation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence pack item mentions multi-entity management, inter-company eliminations, or consolidated financial reporting across separate legal entities; QuickBooks Online appears architected as single-company-per-subscription (Advanced tier only mentions up to 25 users, not multi-entity consolidation). Community notes even flag missing desktop features vs QBO, reinforcing the gap. missing for 10: any mention of multi-entity/subsidiary management, consolidated reporting across companies, or inter-entity eliminations.",
    "evidenceIds": [
      "quickbooks-docs-25",
      "quickbooks-docs-26",
      "quickbooks-comm-2"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Intuit's official API/SDKs and the official QuickBooks Online MCP server (145 tools, full CRUD for 29 entity types, 11 financial reports) show broad, deliberate API coverage of core accounting objects, and sandbox/production + write-safety toggles indicate agent-friendly design (quickbooks-gh-3, quickbooks-gh-4, quickbooks-gh-6, quickbooks-supp-mcp-sandbox). However, there's no evidence that UI-specific features like GPS mileage capture, invoice template customization, bank-feed matching UX, or the Intuit Intelligence chat assistant itself are exposed via the API, and OpenAPI/llms.txt discovery probes 404'd, suggesting incomplete self-describing API docs. Missing for 10: confirmation that non-core UI features (mileage, invoice branding, AI chat actions) are API-reachable, and a first-party OpenAPI spec or llms.txt for full discoverability.",
    "evidenceIds": [
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-5",
      "quickbooks-gh-6",
      "quickbooks-supp-mcp-sandbox",
      "quickbooks-probe-1",
      "quickbooks-probe-2"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "There is no documented native 'export all data' feature in open formats (like a full CSV/Excel/QBO-file export) in the evidence pack, but the presence of REST APIs, SDKs, and an official MCP server with full CRUD access to 29 entity types and 11 financial reports (quickbooks-gh-3, quickbooks-gh-4, quickbooks-gh-5) suggests a technical path for an AI-native user to programmatically pull out their data via API. Missing for 10: an explicit bulk data export tool, documented file formats (CSV/JSON/XML) for full account export, and any first-party 'migrate out' or backup-to-open-standard feature.",
    "evidenceIds": [
      "quickbooks-gh-3",
      "quickbooks-gh-4",
      "quickbooks-gh-5",
      "quickbooks-probe-3"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "QuickBooks Online is closed-source SaaS; the evidence pack shows only proprietary product docs, closed API/OAuth SDKs, and an MCP server wrapper—none of which constitute source code released under an open license. There is no mention anywhere of an open-source license covering the core product.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "QuickBooks Online is a cloud SaaS accounting product by design; self-hosting the core product is a category error, not an applicable openness axis.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses data residency, regional data storage options, or data locality controls for QuickBooks Online; the evidence covers features like invoicing, reconciliation, integrations, and MCP tooling but nothing about where customer data is physically stored or user choice over data region.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses AI training data opt-out or data-usage controls for AI model training; QuickBooks docs focus on bookkeeping, invoicing, integrations, and MCP/API tooling but never mention privacy controls over AI training use of customer data.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows CRUD 'Delete' operations exist for business records via API/SDK and MCP write-toggles, but nothing addresses account-level data retention policies, AI training data deletion, or privacy-oriented data lifecycle controls that an AI-native user would need to manage. No documentation on retention periods, deletion of AI-processed data, or privacy dashboard controls is present.",
    "evidenceIds": [
      "quickbooks-docs-36",
      "quickbooks-gh-4",
      "quickbooks-gh-6",
      "quickbooks-gh-7"
    ]
  },
  {
    "productId": "quickbooks",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack addresses telemetry/usage-tracking opt-out settings for AI features or otherwise; QuickBooks documentation covers accounting features, integrations, and MCP server sandboxing, but nothing about a privacy/telemetry opt-out control.",
    "evidenceIds": []
  },
  {
    "productId": "quickbooks",
    "storyId": "recurring-invoices-reminders",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Automatic payment reminders for overdue customers are well documented (statement reminders, automated payment reminders, faster payment via reminders), but the evidence pack never explicitly describes a recurring/repeating invoice setup feature. Missing for 10: explicit documentation of recurring invoice scheduling/templates, and independent confirmation that reminders/recurring invoices work reliably in practice.",
    "evidenceIds": [
      "quickbooks-docs-15",
      "quickbooks-docs-16",
      "quickbooks-docs-34",
      "quickbooks-docs-37",
      "quickbooks-docs-18"
    ]
  },
  {
    "productId": "wave",
    "storyId": "accountant-collaboration-access",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Wave explicitly documents inviting an accountant/bookkeeper with role-scoped access (payroll manager, admin, editor, viewer on Pro, or free accountant/tax pro role), directly matching the story. Missing for 10: independent/hands-on verification of the invite/permissions flow and finer detail on what each role can/cannot edit.",
    "evidenceIds": [
      "wave-supp-reports",
      "wave-supp-pricing",
      "wave-supp-double-entry"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agent-answers-affordability",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of any AI agent, chat interface, or query capability grounded in live ledger data; the probes show no llms.txt/OpenAPI surface exposed on marketing domain, and the developer/GraphQL API portal is walled off from crawling with no documented AI integration. Marketing pages only describe reports/dashboards, not agent-accessible querying.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall",
      "wave-supp-reports"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any AI agent, anomaly detection, duplicate transaction flagging, or automated audit monitoring capability; Wave's evidence covers manual/human-facing bookkeeping, invoicing, payroll and receipts features only, plus a note that its API/developer surface is not documented publicly.",
    "evidenceIds": [
      "wave-supp-double-entry",
      "wave-supp-bank-feeds",
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agent-posts-journal-entries",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of an API for posting journal entries, nor any review-queue/approval workflow; the developer portal is inaccessible (403) and marketing pages document no API/MCP/CLI surface, and probes for llms.txt/openapi return 404s.",
    "evidenceIds": [
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agent-reconciles-month-end",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave's evidence covers auto-import/categorization, invoicing, payroll, and receipts, but there is no mention of an AI agent performing end-to-end reconciliation, flagging exceptions, or preparing a close for human review; no automation/agent framework or API for such orchestration is documented, and the developer portal is a crawl wall with no public API/agent hooks shown.",
    "evidenceIds": [
      "wave-supp-bank-feeds",
      "wave-supp-reports",
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-agent-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "A direct probe found no llms.txt file (404) and no agent-oriented docs surface; Wave's marketing pages contain no mention of llms.txt or agent-consumable documentation, and its developer portal is blocked to crawlers.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-ai-insights",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence shows OCR data extraction and automation (auto-categorize, reminders) but no AI-generated insights, analysis, or suggestions surfaced to users; reports are static comparisons, not AI-driven recommendations. No mention of AI/ML-based insight generation anywhere in the pack.",
    "evidenceIds": [
      "wave-docs-18",
      "wave-supp-reports",
      "wave-docs-6"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Wave ships several fixed, always-on background automations (auto bank import/categorization, recurring invoices with auto payment reminders, auto payroll tax filing) that run without manual triggering, per wave-docs-2, wave-docs-5, wave-docs-10, wave-docs-14. However these are hard-coded product features, not a general-purpose automation/agent framework the user can configure, and there is no API, webhook, or MCP surface documented for building custom autonomous workflows (wave-probe-1, wave-probe-2, wave-supp-dev-portal-wall). Missing for 10: a configurable automation builder, any AI-agent/orchestration capability, and a documented API/webhook layer for extending automations.",
    "evidenceIds": [
      "wave-docs-2",
      "wave-docs-5",
      "wave-docs-10",
      "wave-docs-14",
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-builtin-assistant",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence anywhere in the pack of a built-in AI assistant or agentic feature; Wave's docs describe automation (auto-import, OCR, reminders) but nothing about delegating tasks to an AI assistant, and the developer portal is inaccessible with no API/AI mention on marketing pages.",
    "evidenceIds": [
      "wave-supp-dev-portal-wall",
      "wave-docs-18",
      "wave-docs-5"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-headless",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave is a small-business accounting/invoicing SaaS with no evidence of a CLI, headless mode, or CI-friendly automation surface; llms.txt and OpenAPI probes both 404, and the developer/API portal is walled off with no documented programmatic interface. Nothing suggests Wave can be run headlessly or scripted in a CI pipeline.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave is small-business accounting/invoicing SaaS; no evidence of an MCP server or ability to plug MCP tools in. llms.txt and OpenAPI probes both 404, and the developer portal is inaccessible/undocumented on public pages, so the applicable axis (as a SaaS product could plausibly expose an MCP integration) has no supporting evidence.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-mcp-server",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave is an accounting SaaS product, so an official MCP server is a plausible axis, but there is no evidence of any MCP server, API docs accessible, or agent integration; probes for llms.txt and OpenAPI both 404, and the developer portal is walled off from crawling.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-nl-commands",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any natural-language command interface, chat assistant, or AI-native control surface; Wave's marketing pages describe only manual UI-based accounting/invoicing features, and probes for llms.txt/openapi found nothing, with the developer portal walled off from crawling.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any official CLI for Wave; probes for llms.txt and API docs both 404/403, and marketing pages document no CLI, API, or agent tooling surface.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-public-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Marketing pages document no public API, and direct probes for llms.txt/OpenAPI both 404; the developer portal exists but is blocked to crawlers so no documented, accessible API surface is evidenced.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any API credential system, scoped tokens, or agent-oriented access controls; Wave's role-based access is for human collaborators (admin/editor/viewer), and its developer/API portal could not even be crawled to confirm any credentialing mechanism exists.",
    "evidenceIds": [
      "wave-supp-dev-portal-wall",
      "wave-probe-2",
      "wave-probe-1",
      "wave-supp-pricing"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of official SDKs for AI-native/programmatic use; llms.txt and OpenAPI probes both 404, and the developer/GraphQL API portal is walled off from crawling with no documentation surfaced. Marketing pages describe only end-user accounting features, not SDKs.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of webhook support anywhere in Wave's marketing pages or developer portal; the developer portal itself couldn't be crawled and is described as documenting no webhook surface, and llms.txt/openapi probes both returned 404.",
    "evidenceIds": [
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence confirms Wave supports creating bills and general accounting reports (month-to-month/year-to-year comparisons), but nothing documents an accounts-payable aging report or vendor balance tracking at a point in time. Missing for 10: AP aging report, vendor balance summary/statement, point-in-time vendor ledger view.",
    "evidenceIds": [
      "wave-docs-7",
      "wave-docs-6",
      "wave-supp-reports"
    ]
  },
  {
    "productId": "wave",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "There is no evidence of an interactive API reference or runnable examples; probes for openapi/llms.txt returned 404s, and the developer portal itself is blocked from crawling with no documented API surface accessible.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Direct probes for OpenAPI/swagger specs and llms.txt returned 404s, and Wave's developer portal (GraphQL API) is blocked to crawlers with no machine-readable spec surfaced; marketing pages document no API spec at all.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any sandbox, staging, test-mode, or dev environment for Wave; the developer portal is inaccessible and marketing pages document no API/test environment for isolating data from production.",
    "evidenceIds": [
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of versioned APIs or a documented deprecation policy; the developer/API portal is inaccessible for crawling and Wave's public marketing pages document no API surface at all, with llms.txt and OpenAPI probes both returning 404.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "ar-aging-customer-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence describes general accounting reports (cash-flow trend comparisons) and per-invoice status tracking (viewed/due/paid), but nothing in the pack specifically documents an accounts-receivable aging report or a per-customer balance summary. Missing for 10: explicit AR aging report feature, per-customer balance/statement view, any documentation naming 'aging' or customer-level receivables tracking.",
    "evidenceIds": [
      "wave-supp-reports",
      "wave-docs-9",
      "wave-supp-invoicing"
    ]
  },
  {
    "productId": "wave",
    "storyId": "auto-categorization-suggestions",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Wave documents automatic bank transaction import and categorization on the Pro Plan (auto-merge/categorize), but no evidence anywhere describes the system learning from user corrections over time — a core part of the story. Missing for 10: any documentation of a learning/adaptive categorization mechanism, evidence that manual recategorization improves future suggestions, and independent/hands-on confirmation of categorization accuracy improving.",
    "evidenceIds": [
      "wave-docs-1",
      "wave-docs-5",
      "wave-supp-bank-feeds"
    ]
  },
  {
    "productId": "wave",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 2,
    "confidence": "medium",
    "rationale": "Wave documents a narrow bulk feature (uploading up to 10 receipts at once with OCR), but there is no evidence of broader bulk operations (e.g., bulk invoice creation/edits, bulk transaction updates) or any API/CLI/MCP surface an AI-native user could script against — the developer portal is crawl-walled and no OpenAPI/llms.txt exists. missing for 10: bulk invoice/transaction/customer operations, programmatic API or CLI access for scripted bulk actions, evidence beyond the 10-item receipt cap.",
    "evidenceIds": [
      "wave-docs-18",
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "automation-rules-engine",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave offers only a handful of fixed, vendor-built automations (recurring invoices, overdue reminders, auto payroll tax filing, bank auto-categorization) — none of these let a user define custom rules or trigger-action logic on arbitrary events. No evidence of a rules engine, webhooks, or conditional automation builder; the developer/API surface is walled off (403) and marketing pages document no such capability.",
    "evidenceIds": [
      "wave-docs-2",
      "wave-docs-10",
      "wave-docs-14",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "automation-scheduled-jobs",
    "verdict": "partial",
    "quality": 3,
    "confidence": "medium",
    "rationale": "Wave supports one narrow recurring automation — recurring invoices and payment reminders (wave-docs-10, wave-docs-2) — but there is no evidence of a general-purpose scheduler, API-triggered jobs, or workflow automation platform that an AI-native user could hook into; its developer/API surface is walled off from public documentation (wave-supp-dev-portal-wall, wave-probe-1, wave-probe-2). Missing for 10: programmable/scriptable recurring jobs beyond invoicing, API or webhook-based scheduling, and any AI/automation-platform integration evidence.",
    "evidenceIds": [
      "wave-docs-10",
      "wave-docs-2",
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave is a small-business accounting/invoicing SaaS with no evidence of automation version control, review workflows, or rollback capabilities for AI-driven automations; the evidence pack shows only accounting features (invoicing, payroll, receipts) and confirms no API/developer docs were accessible.",
    "evidenceIds": [
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Wave's Pro Plan explicitly documents automatic daily bank/credit-card feed import with auto-merge and categorization, directly matching the story, and this is corroborated across multiple marketing pages. Missing for 10: independent/hands-on verification (e.g., user reviews confirming daily reliability) beyond vendor claims, and no detail on credit-card-specific connection flow distinct from bank accounts.",
    "evidenceIds": [
      "wave-docs-1",
      "wave-docs-5",
      "wave-supp-bank-feeds"
    ]
  },
  {
    "productId": "wave",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Wave documents bank auto-import with auto-merge and categorization (implying some duplicate/match handling), but there is no evidence of a dedicated reconciliation view that explicitly surfaces matched, unmatched, and duplicate transactions for accountant review, nor of bank-to-ledger balance reconciliation reporting. Missing for 10: explicit unmatched-transaction review UI, duplicate-transaction flagging documentation, and a formal reconciliation/statement-balance-match report.",
    "evidenceIds": [
      "wave-docs-5",
      "wave-supp-bank-feeds",
      "wave-docs-1"
    ]
  },
  {
    "productId": "wave",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Wave clearly documents automatic bank-feed import/categorization (Pro plan) and integrated online payments that flow directly into invoicing/accounting records, so banking and payments activity does land in the ledger automatically. However, the payroll product's features (direct deposit, tax filing, employee portal) are described in isolation with no explicit statement that payroll transactions sync into the accounting ledger the way bank/payment data does, and there's no evidence of an API/webhook layer for connecting external banking, payment, or payroll systems beyond Wave's own native modules. Missing for 10: explicit documentation that payroll runs automatically post to the general ledger, and any API/integration surface for external banking or payroll systems.",
    "evidenceIds": [
      "wave-supp-bank-feeds",
      "wave-docs-5",
      "wave-supp-invoicing",
      "wave-supp-payments",
      "wave-docs-13",
      "wave-docs-14",
      "wave-docs-15"
    ]
  },
  {
    "productId": "wave",
    "storyId": "bill-capture-approval-payment",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence only shows Wave lets users 'create unlimited... bills' as a record type (wave-docs-7); there is no mention of vendor bill capture workflow, approval routing, or scheduled bill payments anywhere in the pack. Wave's payments feature is explicitly for receiving customer payments on invoices, not paying vendors (wave-supp-payments), and no AP-specific workflow is documented.",
    "evidenceIds": [
      "wave-docs-7",
      "wave-supp-payments",
      "wave-supp-invoicing"
    ]
  },
  {
    "productId": "wave",
    "storyId": "chart-of-accounts-management",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack contains no documentation of chart-of-accounts customization, account types, sub-accounts, or class/tag dimensions in Wave; it only vaguely mentions 'Tag it, track it' without describing COA structure, and positions Wave as built for non-accountants using standard double-entry books without customizable account hierarchies. missing for 10: any mention of account type management, sub-account creation, or class/tag dimension reporting.",
    "evidenceIds": [
      "wave-docs-20",
      "wave-supp-double-entry"
    ]
  },
  {
    "productId": "wave",
    "storyId": "complete-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows multi-user role access (admin/editor/viewer, accountant access) but nowhere documents an audit trail or change log tracking who edited what and when across the ledger. No mention of audit logs, version history, or edit tracking exists in the pack.",
    "evidenceIds": [
      "wave-supp-pricing",
      "wave-supp-reports"
    ]
  },
  {
    "productId": "wave",
    "storyId": "create-send-invoices",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Wave's docs directly cover invoice creation, branded templates, online payment via 'Pay now' (credit card/bank/Apple Pay), and status tracking (viewed, due, paid) plus overdue reminders — exactly matching the story. Missing for 10: independent/hands-on corroboration beyond vendor marketing pages.",
    "evidenceIds": [
      "wave-docs-9",
      "wave-docs-11",
      "wave-docs-3",
      "wave-supp-invoicing",
      "wave-supp-payments"
    ]
  },
  {
    "productId": "wave",
    "storyId": "custom-reports-dimensions",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Wave's evidence pack shows only basic month-to-month/year-to-year comparison reports; there is no mention of class, location, or tag-based report filtering/grouping, which is a QuickBooks/Xero-style feature Wave does not advertise (Wave is explicitly positioned as not built for accountants' advanced needs).",
    "evidenceIds": [
      "wave-supp-reports",
      "wave-docs-6",
      "wave-supp-double-entry"
    ]
  },
  {
    "productId": "wave",
    "storyId": "financial-statements-generation",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Wave uses real double-entry accounting and explicitly offers accounting reports with month-to-month/year-to-year comparisons to identify cash flow trends, implying core financial statements are generated from bookkeeping data. However, evidence never explicitly names or confirms a formal P&L, balance sheet, and cash-flow statement generated on-demand for any custom period — only general 'accounting reports' are described. Missing for 10: explicit documentation of P&L/balance sheet/cash-flow statement outputs, ability to select arbitrary custom date ranges, and independent/hands-on confirmation of statement accuracy.",
    "evidenceIds": [
      "wave-supp-double-entry",
      "wave-supp-reports",
      "wave-docs-6"
    ]
  },
  {
    "productId": "wave",
    "storyId": "full-gl-export-via-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Wave's developer/GraphQL API portal exists but is crawl-walled and unverifiable, and explicit probes for llms.txt/openapi/swagger all return 404; no documentation confirms GL or trial balance export via API in open formats (CSV/JSON/XML). Marketing pages describe UI-based 'reports' but never reference an API endpoint for ledger/trial balance data.",
    "evidenceIds": [
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-reports"
    ]
  },
  {
    "productId": "wave",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence Wave offers period locking or close controls; docs mention role-based access and reports but nothing about locking closed periods or preventing prior-period edits without explicit reopening.",
    "evidenceIds": [
      "wave-supp-reports",
      "wave-supp-pricing"
    ]
  },
  {
    "productId": "wave",
    "storyId": "manual-journal-entries",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Wave explicitly markets itself as 'real, double-entry accounting software,' implying journal-entry mechanics under the hood, but no evidence pack item documents a manual journal-entry screen, debit/credit balancing UI, or memo field for such entries. Missing for 10: explicit manual journal entry feature documentation, debit/credit balance validation details, memo/note field support, and any independent or hands-on confirmation of this specific workflow.",
    "evidenceIds": [
      "wave-supp-double-entry",
      "wave-supp-reports"
    ]
  },
  {
    "productId": "wave",
    "storyId": "migrate-historical-books",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Wave mentions an 'onboarding' process for switching from other accounting software like Freshbooks, but this is a single glancing bullet point with no detail on how historical transactions, ledgers, or account balances are actually imported or whether transaction-level detail is preserved. missing for 10: documented import/migration tool, description of data mapping (chart of accounts, historical invoices, journal entries), evidence that no transaction detail is lost, and any independent user reports of successful bookkeeping migrations.",
    "evidenceIds": [
      "wave-docs-21",
      "wave-docs-16"
    ]
  },
  {
    "productId": "wave",
    "storyId": "month-end-close-checklist",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any month-end close checklist, reconciliation tracking, accrual management, or review sign-off workflow; Wave's evidence covers invoicing, payroll, receipts, and basic reports only, and it explicitly positions itself as built for small business owners rather than accountants performing formal close processes.",
    "evidenceIds": [
      "wave-supp-double-entry",
      "wave-supp-reports",
      "wave-docs-6"
    ]
  },
  {
    "productId": "wave",
    "storyId": "multi-entity-consolidation",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave's pricing is explicitly per-business (subscribe and pay separately for each business), with no mention of consolidation, inter-entity eliminations, or a multi-entity reporting view; evidence explicitly frames Wave as built for individual small business owners, not multi-entity accounting.",
    "evidenceIds": [
      "wave-supp-pricing",
      "wave-supp-double-entry",
      "wave-supp-reports"
    ]
  },
  {
    "productId": "wave",
    "storyId": "openness-api-parity",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows no accessible API documentation (developer portal returns 403, no OpenAPI/llms.txt found), and marketing pages document no API/CLI surface that would let users mirror UI actions programmatically. There's no evidence of API parity with UI features like invoicing, payroll, or bank feeds.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "openness-full-export",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence anywhere in the pack of a data export feature (e.g., CSV/QIF export, open-format backups) or data portability tooling; marketing pages focus on invoicing, payroll, receipts, and payments with no mention of exporting or leaving with your data, and the developer/API surface is walled off (403) with no llms.txt or OpenAPI found. Missing for 10: any documented export-to-open-format feature, data portability docs, or migration-out tooling.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave is a closed commercial SaaS accounting product; there is no evidence of an open-source repository or open license for its source code, and probes for standard openness/API signals (llms.txt, openapi) returned 404. The developer portal is also walled off, further indicating no open access to source.",
    "evidenceIds": [
      "wave-probe-1",
      "wave-probe-2",
      "wave-supp-dev-portal-wall"
    ]
  },
  {
    "productId": "wave",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave is a cloud SaaS accounting/invoicing/payroll platform with no self-hosted or open-source distribution model; self-hosting is a category error for this kind of hosted financial SaaS product.",
    "evidenceIds": []
  },
  {
    "productId": "wave",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence anywhere in the pack mentions data residency, regional storage options, or compliance controls for choosing where data is stored; Wave's marketing pages focus entirely on accounting/invoicing/payroll features with no privacy-posture or data-location documentation.",
    "evidenceIds": []
  },
  {
    "productId": "wave",
    "storyId": "privacy-no-training",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave is a small-business accounting/invoicing/payroll product, not an AI system that trains models on user data; the evidence pack shows no AI features or data-training policy at all. This is a category mismatch — the axis of preventing AI model training on user data does not apply to this product.",
    "evidenceIds": []
  },
  {
    "productId": "wave",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave is a small-business accounting/invoicing product with no evidence of any data retention or deletion controls, privacy dashboard, or export/erasure tooling in its marketing pages; the developer portal is inaccessible and no API/CLI/MCP docs exist to inspect further.",
    "evidenceIds": [
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Wave is a small-business accounting/invoicing SaaS product with no evidence of any telemetry opt-out, privacy controls, or usage-tracking settings documented anywhere in its marketing pages; the developer portal is also inaccessible for verification. No mention of an AI-native usage context or telemetry controls exists in the pack.",
    "evidenceIds": [
      "wave-supp-dev-portal-wall",
      "wave-probe-1",
      "wave-probe-2"
    ]
  },
  {
    "productId": "wave",
    "storyId": "recurring-invoices-reminders",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Wave's documentation explicitly covers both halves of the story: recurring invoices with automatic credit card payments for repeat customers (wave-docs-10), and automatic overdue payment reminders scheduled at 3/7/14 days (wave-docs-2, wave-supp-invoicing). Missing for 10: independent/hands-on corroboration beyond vendor marketing pages, and detail on customizing reminder cadence beyond the fixed schedule.",
    "evidenceIds": [
      "wave-docs-10",
      "wave-docs-2",
      "wave-supp-invoicing"
    ]
  },
  {
    "productId": "xero",
    "storyId": "accountant-collaboration-access",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack contains no mention of inviting an accountant/bookkeeper, user roles, or permission-scoped access to the books — it focuses on APIs, MCP servers, invoicing, reconciliation, and app marketplace integrations. Xero is well known to have this feature in reality, but per the rules only the evidence pack can be judged, and no citation here addresses accountant invites or role-based access.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "agent-answers-affordability",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero has a documented official MCP server exposing accounting data (contacts, chart of accounts, invoices) plus a full API/SDK/OpenAPI spec, which could let an agent pull live ledger data to answer affordability-type questions, and Xero markets 'JAX' and 'instant answers about cash flow' features. However, there's no evidence of a natural-language reasoning layer that combines live ledger pulls with a financial-affordability judgment ('can we afford X') — the MCP server's documented capabilities are CRUD-style (contacts, invoices, chart of accounts) not analytical queries, and no hands-on example shows this exact grounded Q&A flow working. missing for 10: evidence of the MCP/API surfacing cash-flow or budget-analysis endpoints usable for affordability reasoning, and a concrete example/transcript of an agent answering such a question grounded in live data.",
    "evidenceIds": [
      "xero-docs-3",
      "xero-docs-19",
      "xero-docs-6",
      "xero-probe-2",
      "xero-docs-16",
      "xero-docs-32"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Xero natively flags duplicate bills (xero-docs-31) and has JAX AI reconciling/categorizing transactions (xero-docs-20/27), and its official MCP server + APIs (xero-docs-3/14/19, xero-probe-2) let a developer build a custom agent to query ledger data for anomaly detection. However there's no evidence of a purpose-built 'monitor ledger for spend anomalies pre-close' agent or workflow — this would require custom development on top of the API/MCP server rather than an out-of-box capability. Missing for 10: a documented anomaly-detection/close-audit agent feature, evidence of spend-anomaly (not just duplicate-bill) flagging, and any close-process integration.",
    "evidenceIds": [
      "xero-docs-31",
      "xero-docs-20",
      "xero-docs-27",
      "xero-docs-3",
      "xero-docs-19",
      "xero-probe-2"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agent-posts-journal-entries",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Xero provides a full accounting API, SDKs, OpenAPI spec, and an official MCP server with Chart of Accounts and invoice management capabilities, which an agent could use to draft journal entries programmatically. However, there is no documented review-queue/approval workflow, draft-vs-post distinction for journal entries specifically, or accountant-facing review mechanism exposed via the API/MCP server. missing for 10: explicit journal entry draft/post API documentation, a review-queue or approval-hold feature for accountant sign-off, and evidence of an accountant-facing review UI tied to agent-created entries.",
    "evidenceIds": [
      "xero-docs-3",
      "xero-docs-19",
      "xero-docs-32",
      "xero-gh-1",
      "xero-probe-2"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agent-reconciles-month-end",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Xero's JAX assistant automates transaction categorization/matching for bank reconciliation, and the MCP server exposes accounting objects (invoices, chart of accounts, contacts) for programmatic/agent access, so the building blocks for an agent-driven reconciliation exist. However, there is no evidence of an agent performing a full month-end close workflow — no documented exception-flagging logic, no 'prepared for human review' close package, and no first-party or hands-on report of an agent doing this end-to-end. Missing for 10: exception flagging/anomaly detection features, month-end close packaging or review workflow, and evidence of an agent (vs. human using JAX UI) orchestrating the full process via MCP.",
    "evidenceIds": [
      "xero-docs-20",
      "xero-docs-27",
      "xero-docs-19",
      "xero-probe-2",
      "xero-docs-6"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-agent-docs",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "llms.txt returns a 404 (xero-probe-1), so there is no dedicated agent-oriented manifest file, but Xero does provide an official MCP server and AI toolkit documentation (developer.xero.com/documentation/tools/mcp-server, xero-docs-6, xero-docs-19) that an agent could be pointed at instead. This partially satisfies the intent of agent-discoverable docs but not via the standard llms.txt convention. missing for 10: a working llms.txt endpoint, evidence of agent-oriented markdown docs beyond MCP server README, independent confirmation an agent successfully consumes these docs.",
    "evidenceIds": [
      "xero-probe-1",
      "xero-probe-2",
      "xero-docs-6",
      "xero-docs-19"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-ai-insights",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero offers JAX, an AI feature that reconciles transactions, categorizes/matches, and extracts bill details, plus dashboards for KPIs/ratios/benchmarking and 'instant answers about cash flow, profit trends and financial health' — these are AI-generated insights/suggestions drawn from user data inside the product. However, evidence is largely marketing copy without hands-on corroboration of insight quality or breadth (e.g., proactive suggestions beyond reconciliation/invoicing/bill entry). Missing for 10: independent/hands-on verification of AI insight accuracy, broader analytical insights (e.g., forecasting, anomaly detection) beyond reconciliation and bill scanning, and detail on how 'instant answers' works.",
    "evidenceIds": [
      "xero-docs-20",
      "xero-docs-27",
      "xero-docs-24",
      "xero-docs-16",
      "xero-docs-9",
      "xero-docs-36"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Xero provides APIs, SDKs, and an MCP server enabling third-party or AI agents to trigger accounting actions, and JAX offers some automated reconciliation/invoicing features, but there is no evidence of a native scheduler, workflow/automation builder, or persistent background job system that runs autonomously without an external trigger. missing for 10: documented autonomous scheduling/trigger mechanism, native workflow automation builder, evidence of unattended background execution beyond single AI-assisted actions like JAX.",
    "evidenceIds": [
      "xero-docs-3",
      "xero-docs-6",
      "xero-docs-20",
      "xero-docs-21",
      "xero-probe-2"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-builtin-assistant",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero has a built-in AI assistant called JAX that handles reconciliation, invoicing, and bill entry via plain-language commands, directly matching the story of delegating tasks to an in-product AI assistant. However, JAX's scope appears limited to a few specific workflows (reconciliation, invoicing, bill extraction) rather than a general-purpose task delegate, and there's no independent/hands-on corroboration beyond vendor marketing pages. Missing for 10: broader task coverage beyond reconciliation/invoicing/bills, independent user reviews confirming JAX's real-world reliability, and clarity on how conversational/agentic the delegation experience actually is.",
    "evidenceIds": [
      "xero-docs-20",
      "xero-docs-21",
      "xero-docs-27",
      "xero-docs-24"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-headless",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Xero exposes a documented REST API with OpenAPI spec, official SDKs (xero-node), and a premium 'Custom Connections' option explicitly designed for machine-to-machine (M2M) integrations to a single org without interactive user auth — a direct enabler of headless/CI automation. Missing for 10: explicit CI/CD pipeline examples, documented service-account/headless auth walkthrough, and independent hands-on confirmation of running it unattended in automation pipelines.",
    "evidenceIds": [
      "xero-docs-1",
      "xero-docs-32",
      "xero-gh-1",
      "xero-gh-2",
      "xero-gh-4",
      "xero-docs-34"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence only shows Xero publishing its own MCP server (and AI Toolkit) so external agents can call Xero's tools, not Xero acting as an MCP client that lets users plug arbitrary external MCP servers into it to extend its own tool use. No documentation of a client-side MCP integration point in Xero (e.g., JAX or other AI features consuming outside MCP servers) is present.",
    "evidenceIds": [
      "xero-docs-3",
      "xero-docs-6",
      "xero-docs-19",
      "xero-probe-2"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Xero ships an official MCP server (xero-mcp-server) documented on developer.xero.com and GitHub, providing standardized MCP protocol access to accounting features like contacts, chart of accounts, and invoices, and Xero also promotes an 'AI Toolkit' including the MCP server, OpenAI Agents SDK and LangChain integration. Missing for 10: independent/hands-on third-party verification of the MCP server's reliability and breadth of tool coverage beyond vendor docs.",
    "evidenceIds": [
      "xero-docs-3",
      "xero-docs-14",
      "xero-docs-19",
      "xero-docs-6",
      "xero-probe-2"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-nl-commands",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero's JAX assistant lets users create/edit/send invoices and reconcile bank transactions using plain-language commands, directly supporting natural-language operation for end users (not just developers via MCP). However, this NL capability is documented only for invoicing and reconciliation, not the full product surface (e.g., bills, reports, contacts), and there's no independent/hands-on corroboration of JAX's reliability. Missing for 10: NL command support across broader workflows (reporting, bill pay, contact management), and independent verification of JAX's real-world accuracy.",
    "evidenceIds": [
      "xero-docs-21",
      "xero-docs-20",
      "xero-docs-27"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Xero offers SDKs, an OpenAPI spec, and an MCP server, but there is no mention of an official CLI tool anywhere in the pack.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Xero has a well-documented public developer API with official OpenAPI spec, SDKs (xero-node), and a developer portal (developer.xero.com), enabling programmatic access; this is independently confirmed by the GitHub repos and OpenAPI descriptions. missing for 10: independent third-party hands-on verification of API robustness beyond vendor/SDK docs.",
    "evidenceIds": [
      "xero-docs-1",
      "xero-docs-2",
      "xero-gh-1",
      "xero-docs-32",
      "xero-docs-34"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-scoped-keys",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Xero's OpenAPI spec documents OAuth 2.0 security scopes, and Custom Connections offers M2M credentials scoped to a single org — both provide a technical basis for least-privilege API access, but none of the evidence specifically ties this to issuing scoped credentials for an AI agent (the MCP server docs describe protocol bridging, not credential scoping/permissions setup for agents). Missing for 10: explicit documentation of agent-specific scope selection, least-privilege credential issuance workflow for MCP/agent use, and independent confirmation of this being used for AI agents.",
    "evidenceIds": [
      "xero-docs-32",
      "xero-gh-2",
      "xero-gh-4",
      "xero-docs-3",
      "xero-docs-19"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-sdks",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Xero maintains official SDKs (xero-node) generated from official OpenAPI specs, plus a dedicated AI Toolkit with an official MCP server, OpenAI Agents SDK and LangChain integration, directly enabling AI-native development against Xero's API. missing for 10: independent/hands-on developer corroboration of SDK quality and no evidence of SDKs beyond JS/OpenAPI-generated languages being actively maintained.",
    "evidenceIds": [
      "xero-gh-1",
      "xero-docs-2",
      "xero-docs-34",
      "xero-docs-6",
      "xero-docs-3",
      "xero-probe-2"
    ]
  },
  {
    "productId": "xero",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The evidence pack covers Xero's API, SDKs, OpenAPI spec, and MCP server, but contains no mention of webhooks or event subscription capabilities anywhere.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers bill payment, duplicate detection, reconciliation, and invoicing features, but contains no mention of accounts payable aging reports or point-in-time vendor balance reporting.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Evidence shows Xero has a developer portal with API docs, OpenAPI specs, and SDKs, but nothing indicates an interactive API reference with runnable/try-it-now examples (e.g., Swagger UI-style live console); the OpenAPI repo is just spec files for SDK generation. missing for 10: any mention of an interactive/try-it console, runnable code examples in-browser, or sandboxed API playground.",
    "evidenceIds": [
      "xero-docs-1",
      "xero-docs-2",
      "xero-docs-32",
      "xero-docs-34"
    ]
  },
  {
    "productId": "xero",
    "storyId": "api-machine-spec",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Xero maintains an official GitHub repo of OpenAPI (Swagger) descriptions with OAuth 2.0 security schema, explicitly used to generate SDKs, giving a clear machine-readable API spec download. Missing for 10: independent third-party validation/hands-on confirmation of spec completeness or versioning practices.",
    "evidenceIds": [
      "xero-docs-2",
      "xero-docs-32",
      "xero-docs-34"
    ]
  },
  {
    "productId": "xero",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence of a dedicated sandbox/demo company environment for testing against the Xero API without touching live production data; the developer docs, SDKs, and MCP server evidence describe general API access but never mention a sandbox, demo org, or test environment. Missing for 10: any mention of a sandbox/demo company, test credentials, or isolated non-production environment for API/agent testing.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "api-versioning-policy",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Xero publishes an official OpenAPI spec and developer portal (xero-docs-2, xero-docs-32) implying a versioned API surface, but no evidence describes a documented deprecation policy, version sunset timeline, or changelog for breaking changes. missing for 10: explicit deprecation/versioning policy docs, sunset timelines, changelog of API version history.",
    "evidenceIds": [
      "xero-docs-2",
      "xero-docs-32",
      "xero-docs-1"
    ]
  },
  {
    "productId": "xero",
    "storyId": "ar-aging-customer-balances",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Evidence shows Xero has invoicing, invoice tracking (open/paid status), and contact/customer management (xero-docs-29, xero-docs-19, xero-docs-13), which are prerequisites for AR tracking, but there is no explicit mention of an aging report or per-customer balance report in the pack. missing for 10: explicit aging report feature documentation, per-customer outstanding balance report, independent/hands-on confirmation of AR reporting.",
    "evidenceIds": [
      "xero-docs-29",
      "xero-docs-19",
      "xero-docs-13",
      "xero-docs-18"
    ]
  },
  {
    "productId": "xero",
    "storyId": "auto-categorization-suggestions",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero's AI feature JAX is explicitly described as categorizing and matching imported bank transactions during reconciliation, directly matching the story's core ask. However, evidence does not confirm that JAX learns from user corrections over time or how correction-based learning works. missing for 10: evidence of learning/adaptation from user corrections, independent/hands-on verification of categorization accuracy improving over time, detail on how suggestions are generated.",
    "evidenceIds": [
      "xero-docs-20",
      "xero-docs-27"
    ]
  },
  {
    "productId": "xero",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Xero documents native bulk-style workflows such as paying multiple bills at once and exporting a single payment file for many suppliers (xero-docs-25, xero-docs-30), and its REST API/SDK and MCP server expose programmatic access that could be scripted for batch operations (xero-gh-1, xero-docs-19). However there is no evidence of a dedicated bulk/batch API endpoint or MCP tool for bulk-updating invoices, contacts, or other records across many items at once. Missing for 10: explicit bulk/batch API or MCP tool documentation, evidence of bulk operations beyond bill payments (e.g., bulk invoicing, bulk contact updates), and independent confirmation of bulk operation reliability.",
    "evidenceIds": [
      "xero-docs-25",
      "xero-docs-30",
      "xero-gh-1",
      "xero-docs-19",
      "xero-probe-2"
    ]
  },
  {
    "productId": "xero",
    "storyId": "automation-rules-engine",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Xero shows built-in automations (JAX auto-reconciliation matching, duplicate bill detection, automated bill data extraction) and exposes APIs/webhooks plus an MCP server that could be used by developers to build custom event-triggered actions, but there is no evidence of a native user-facing rules/trigger builder where an AI-native user defines arbitrary 'if event then action' rules. Missing for 10: a documented rules engine or webhook/trigger configuration UI, evidence of custom trigger-action mapping, and independent confirmation that such automation works end-to-end.",
    "evidenceIds": [
      "xero-docs-20",
      "xero-docs-24",
      "xero-docs-31",
      "xero-docs-3",
      "xero-probe-2"
    ]
  },
  {
    "productId": "xero",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence Xero supports scheduling recurring jobs/workflows for AI-native automation; the pack covers APIs, SDKs, MCP server, and accounting features but nothing about scheduled/recurring automation triggers or workflow scheduling.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence anywhere in the pack of versioning, review, or rollback capabilities for automations/workflows in Xero; the evidence covers API/SDK access, MCP server, invoicing, reconciliation, and multi-currency features but nothing about automation version history or rollback.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Xero explicitly markets bank feed connections with JAX auto-categorizing/matching transactions and integration directory entries (e.g., Mercury) show direct bank connections, supporting daily automatic import and reconciliation. Missing for 10: explicit documentation of daily-sync frequency/reliability, and independent hands-on verification of the bank-feed connection process beyond marketing copy.",
    "evidenceIds": [
      "xero-docs-20",
      "xero-docs-27",
      "xero-intdir-2",
      "xero-docs-24"
    ]
  },
  {
    "productId": "xero",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero's marketing docs describe an AI reconciliation feature (JAX) that connects bank accounts and matches/categorizes transactions, and pay-bills docs mention duplicate detection, but the evidence never explicitly describes the classic bank rec workflow of surfacing matched/unmatched/duplicate transactions for review in the ledger-reconciliation screen itself. missing for 10: first-party documentation of the actual bank reconciliation UI showing matched/unmatched/duplicate transaction states, independent/hands-on verification of the reconciliation workflow, and detail on how duplicates are flagged during bank rec specifically (only bill-duplicate detection is cited).",
    "evidenceIds": [
      "xero-docs-20",
      "xero-docs-27",
      "xero-docs-31",
      "xero-docs-30"
    ]
  },
  {
    "productId": "xero",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Xero documents direct bank-feed reconciliation via JAX (xero-docs-20/27), native Stripe payment integration (xero-docs-23, xero-intdir-3), and payroll connectivity via the Gusto app in its App Store (xero-intdir-4), all designed to feed ledger data automatically. Missing for 10: independent/hands-on verification that these integrations reliably auto-sync in practice, and clearer detail on native payroll (vs. third-party Gusto) ledger posting.",
    "evidenceIds": [
      "xero-docs-20",
      "xero-docs-27",
      "xero-docs-23",
      "xero-intdir-3",
      "xero-intdir-4",
      "xero-intdir-2"
    ]
  },
  {
    "productId": "xero",
    "storyId": "bill-capture-approval-payment",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero documents automated bill capture (email/upload with AI extraction to draft bills), duplicate detection, and batch payment file export/upload plus reconciliation, covering most of the bills-AP workflow. However, evidence does not clearly describe a configurable multi-step approval routing workflow (e.g., approval thresholds, multiple approvers) beyond bills being 'ready for approval'. missing for 10: explicit approval-routing/workflow rules documentation, evidence of scheduled (future-dated) payment scheduling beyond batch export, independent/hands-on confirmation of the end-to-end flow.",
    "evidenceIds": [
      "xero-docs-24",
      "xero-docs-25",
      "xero-docs-30",
      "xero-docs-31"
    ]
  },
  {
    "productId": "xero",
    "storyId": "chart-of-accounts-management",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "The MCP server docs mention 'Chart of Accounts management' as a supported feature, indicating Xero exposes COA management capability, but there is no evidence detailing account types, sub-accounts, or class/tag (tracking category) dimensions. missing for 10: evidence of account type configuration, sub-account hierarchy support, and tracking category/tag/class dimension customization.",
    "evidenceIds": [
      "xero-docs-19"
    ]
  },
  {
    "productId": "xero",
    "storyId": "complete-audit-trail",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack references audit trails, change history, user activity logs, or ledger version tracking anywhere in Xero's documentation or community reports; the pack covers APIs, MCP servers, invoicing, reconciliation, and integrations but nothing about audit logging.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "create-send-invoices",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Xero provides customizable invoice templates, a Pay Now button with Stripe online payments, and invoice tracking that alerts when a customer opens the invoice, directly covering creation, sending, online payment, and view/payment status tracking. Community feedback also corroborates value of invoicing/Stripe integration. Missing for 10: independent hands-on verification of read-receipt accuracy and paid-status timing beyond vendor docs.",
    "evidenceIds": [
      "xero-docs-13",
      "xero-docs-18",
      "xero-docs-23",
      "xero-docs-28",
      "xero-docs-29",
      "xero-docs-26",
      "xero-intdir-3"
    ]
  },
  {
    "productId": "xero",
    "storyId": "custom-reports-dimensions",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses custom report building, or filtering/grouping by class, location, or tracking-category/tag dimensions; the pack covers invoicing, payments, multi-currency, AI tools, and API/MCP integrations but nothing about the reporting/tracking-category feature set. Missing for 10: any mention of custom report builder, tracking categories (class/location), tag dimensions, or report filtering/grouping capabilities.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "financial-statements-generation",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero's marketing pages reference core financial reporting capability (\"Get instant answers about your cash flow, profit trends and financial health\", \"Generate consolidated financial statements\", \"Analyze KPIs and ratios\", customizable dashboards), consistent with an accounting platform producing P&L, balance sheet and cash-flow reports. However, the evidence pack lacks explicit documentation naming these three statements, period-selection controls, or independent corroboration of accuracy/on-demand generation. Missing for 10: explicit product docs naming P&L/balance sheet/cash-flow statement generation, evidence of date-range/period flexibility, and independent user validation of report accuracy.",
    "evidenceIds": [
      "xero-docs-16",
      "xero-docs-17",
      "xero-docs-9",
      "xero-docs-36"
    ]
  },
  {
    "productId": "xero",
    "storyId": "full-gl-export-via-api",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero has a documented OpenAPI-spec-based API and SDKs (xero-node) that expose accounting endpoints including reports like Trial Balance and general ledger data via the Accounting API, with an official OpenAPI description repo confirming open format specs. However, no evidence explicitly confirms a full 'general ledger' export endpoint or trial balance report details, and no independent developer corroboration of actually pulling GL/trial balance data is present. missing for 10: explicit documentation/evidence of a dedicated general ledger/trial balance endpoint, independent developer confirmation of successful GL/trial balance extraction, and detail on data completeness/limits of these reports via the API.",
    "evidenceIds": [
      "xero-docs-1",
      "xero-docs-2",
      "xero-docs-32",
      "xero-docs-34",
      "xero-gh-1",
      "xero-gh-3"
    ]
  },
  {
    "productId": "xero",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack mentions period locking, closing periods, or preventing edits to prior-period transactions; all evidence covers invoicing, payments, multi-currency, MCP/API tooling, and general reviews. missing for 10: any mention of period lock/close feature, permission controls for locked periods, or reopening workflow.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "manual-journal-entries",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers invoicing, bill pay, reconciliation, multi-currency, and API/MCP tooling, but contains no mention of manual journal entries, debit/credit balancing, or journal memos anywhere in the docs, SDK, or MCP feature list. Missing for 10: any documentation of a manual journal entry feature, evidence of debit/credit balance validation, or memo/narration support on journals.",
    "evidenceIds": [
      "xero-docs-19",
      "xero-docs-32"
    ]
  },
  {
    "productId": "xero",
    "storyId": "migrate-historical-books",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Xero's app marketplace lists a third-party partner (Q2X) that explicitly handles QuickBooks-to-Xero migrations 'ensuring a smooth transition of your historical data,' and Xero even subsidizes 'simple conversions,' showing migration support exists. However this is a third-party service rather than a native first-party import tool, is scoped mainly to QuickBooks, and no evidence details preservation of full transaction-level granularity or migration from other accounting systems generally. Missing for 10: native first-party migration/import tooling, evidence covering non-QuickBooks source systems, and detail on transaction-level fidelity guarantees.",
    "evidenceIds": [
      "xero-intdir-1",
      "xero-docs-33"
    ]
  },
  {
    "productId": "xero",
    "storyId": "month-end-close-checklist",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence shows only basic bank transaction reconciliation via JAX AI, but no evidence of a structured month-end close checklist, accrual tracking, or review sign-off workflow that an accountant could run to manage close processes.",
    "evidenceIds": [
      "xero-docs-20",
      "xero-docs-27"
    ]
  },
  {
    "productId": "xero",
    "storyId": "multi-entity-consolidation",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "The only relevant evidence is a marketing line claiming Xero can 'generate consolidated financial statements in multiple currencies,' which is ambiguous and likely refers to multi-currency transaction consolidation within a single entity rather than true multi-legal-entity consolidation (parent/subsidiary structures). No evidence describes managing separate legal entities, intercompany eliminations, or org-to-org consolidation tools. Missing for 10: explicit multi-entity/subsidiary management features, intercompany elimination support, and independent confirmation of cross-entity consolidated reporting.",
    "evidenceIds": [
      "xero-docs-17",
      "xero-docs-22",
      "xero-docs-8"
    ]
  },
  {
    "productId": "xero",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Xero has a comprehensive REST API with OpenAPI spec, SDKs, and an official MCP server exposing contacts, chart of accounts, and invoicing, indicating broad API coverage of core accounting workflows. However, there is no evidence confirming full parity with newer AI/UI-only features like JAX (AI invoicing/reconciliation assistant), KPI/benchmarking dashboards, or all pricing-plan features being exposed via API. missing for 10: confirmation that JAX AI features, performance dashboards/benchmarking, and all UI-exclusive workflows are accessible via API/MCP, independent verification of full UI-API parity.",
    "evidenceIds": [
      "xero-docs-1",
      "xero-docs-2",
      "xero-gh-1",
      "xero-docs-3",
      "xero-docs-19",
      "xero-probe-2",
      "xero-docs-32",
      "xero-docs-20",
      "xero-docs-21",
      "xero-docs-9"
    ]
  },
  {
    "productId": "xero",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Xero exposes API/OpenAPI access and third-party migration services (Q2X) that imply data can be extracted, but there is no documented native 'export all my data' bulk/open-format export feature or data-portability policy aimed at users leaving the platform. missing for 10: a first-party bulk data export tool/feature, documented open-format (CSV/JSON) full-account export, and any explicit data-portability/exit policy statement.",
    "evidenceIds": [
      "xero-docs-2",
      "xero-docs-32",
      "xero-docs-34",
      "xero-intdir-1"
    ]
  },
  {
    "productId": "xero",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Xero is closed-source SaaS; while SDKs and API specs (xero-node, OpenAPI descriptions) are open, the actual product source code is proprietary and not published under any open license. No evidence of an open-source core product exists in the pack.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Xero is a cloud-only SaaS accounting platform with no self-hosted/on-prem deployment option; self-hosting the core product is a category error for this type of SaaS service.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack mentions data residency, regional data storage options, or location choice for Xero data; all evidence covers APIs, SDKs, MCP server, invoicing, and other unrelated features. missing for 10: any mention of data residency/region selection, storage location controls, or compliance documentation addressing where customer data is stored.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence pack item mentions AI-training data opt-out, data usage policies for model training, or any privacy controls addressing this specific concern; all evidence covers product features, SDKs, and MCP integration rather than data-training privacy controls.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses data retention or deletion controls for AI-native usage (e.g., API-level data purge, retention policies for MCP/agent access, or user-controlled deletion settings); coverage is limited to product features and integrations unrelated to retention/deletion. missing for 10: retention policy documentation, deletion/export APIs, MCP/agent-specific data lifecycle controls.",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses telemetry, usage tracking, or an opt-out mechanism for AI/agent interactions with Xero; all evidence covers unrelated product features (invoicing, MCP server, integrations).",
    "evidenceIds": []
  },
  {
    "productId": "xero",
    "storyId": "recurring-invoices-reminders",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers invoicing features like templates, Pay Now buttons, invoice tracking, and JAX AI invoicing, but contains no mention of recurring/repeating invoice scheduling or automated overdue payment reminders. Missing for 10: any documentation of recurring invoice setup, reminder scheduling rules, or overdue-customer notification workflows.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "accountant-collaboration-access",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Zoho Books explicitly documents an accountant-invite feature: \"Invite your accountant in Zoho Books to access real-time data... accountants can effortlessly manage your books from anywhere,\" covering journal entries, currency adjustments, reconciliation, and reports. However, the evidence does not detail granular role-scoping (custom permission levels, view-only vs edit controls) for that invited user. Missing for 10: explicit documentation of configurable role/permission scopes for accountant invites, and independent/hands-on confirmation of the invite flow in practice.",
    "evidenceIds": [
      "zoho-books-supp-accountant"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agent-answers-affordability",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Zoho Books exposes live ledger data via a documented REST/OAuth API and OpenAPI spec, and Zoho MCP explicitly connects LLMs (GPT/Claude) to Books' data/actions with customer testimonials describing pulling reports and managing bookkeeping via natural-language agent instructions; Zia also markets 'pull reports just by asking'. However, there is no concrete evidence of an agent answering a specific affordability/cash-runway question grounded in live balances—no worked example, and MCP access is gated/unverified hands-on beyond vendor testimonials. Missing for 10: a demonstrated affordability-style query/answer flow, independent (non-vendor) confirmation of MCP grounding accuracy, and explicit cash-balance/afford-X reasoning support.",
    "evidenceIds": [
      "zoho-books-docs-8",
      "zoho-books-docs-9",
      "zoho-books-supp-mcp",
      "zoho-books-supp-zia-ai",
      "zoho-books-supp-api-root",
      "zoho-books-supp-openapi"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agent-flags-spend-anomalies",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Zia AI is explicitly documented to 'Spot anomalies before they become problems' and Zoho MCP lets external agents (Claude, GPT) connect to Books data to 'monitor, reason, and act without human input,' with bank feed categorization and reconciliation APIs that an agent could use to review transactions before close. However, there is no explicit documentation of duplicate-transaction detection or a dedicated anomaly-flagging workflow across multiple entities/organizations, and evidence is vendor-marketing plus generic customer quotes rather than a demonstrated anomaly-detection feature spec. Missing for 10: explicit duplicate-transaction detection capability, documented multi-entity/cross-org anomaly rollup, and independent/hands-on verification of agent-driven anomaly flagging.",
    "evidenceIds": [
      "zoho-books-supp-zia-ai",
      "zoho-books-supp-mcp",
      "zoho-books-supp-bank-api",
      "zoho-books-supp-bank-rec"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agent-posts-journal-entries",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Zoho Books has a documented Journal Entries-capable API, OAuth-based agent access, and MCP integration for agent-driven bookkeeping actions, plus accountant collaboration features, which together make agent-drafted journal entries plausible. However, there is no evidence of a dedicated 'draft/review queue' status or approval workflow for journal entries specifically, nor confirmation that journal entries can be created in a pending/unposted state for accountant review via API. missing for 10: explicit journal entry draft/pending status API field, a documented review-queue or approval workflow feature, and a hands-on example of an agent posting a journal entry that awaits accountant sign-off.",
    "evidenceIds": [
      "zoho-books-supp-mcp",
      "zoho-books-supp-accountant",
      "zoho-books-supp-api-root",
      "zoho-books-supp-oauth",
      "zoho-books-supp-automation"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agent-reconciles-month-end",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Zoho Books exposes concrete reconciliation primitives (bank transaction categorization, bank reconciliation creation/listing, bank rules with match filters) plus Zia AI anomaly detection ('Spot anomalies before they become problems') and MCP access letting LLM agents act on Books data, with a customer testimonial claiming 'Month-end closures... reduced from hours to minutes' via Claude integration. However, there is no documented end-to-end orchestrated workflow that explicitly matches transactions, compiles an exception list, and stages a close for human sign-off as a single agent-driven process. Missing for 10: a documented structured exception-flagging/close-summary output, an explicit human-review handoff step, and independent (non-vendor-testimonial) verification of full month-end automation.",
    "evidenceIds": [
      "zoho-books-supp-bank-api",
      "zoho-books-supp-bank-rec",
      "zoho-books-supp-mcp",
      "zoho-books-supp-zia-ai",
      "zoho-books-supp-accountant"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-agent-docs",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "No llms.txt exists (confirmed 404) and the docs-in-markdown probe also 404s, so there's no dedicated agent-consumption doc format. However, Zoho does publish a downloadable OpenAPI spec (live-verified zip) and an explicit MCP integration page describing how to connect LLMs/agents to Zoho Books' APIs and actions, which serves a similar agent-onboarding purpose. Missing for 10: an actual llms.txt or markdown-native docs, and independent confirmation that agents can successfully parse/use the MCP or OpenAPI docs autonomously.",
    "evidenceIds": [
      "zoho-books-probe-1",
      "zoho-books-probe-2",
      "zoho-books-supp-openapi",
      "zoho-books-probe-4",
      "zoho-books-supp-mcp"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Zoho Books ships built-in AI (Zia) that gives plain-English queries, anomaly detection, and auto-suggested next actions on financial data, plus MCP-based agent access letting LLMs reason over and act on Books data. Evidence is vendor-sourced with some third-party customer quotes but lacks independent hands-on verification of insight quality. Missing for 10: independent/hands-on evaluation of Zia's insight accuracy, and concrete examples of specific AI-generated suggestions beyond marketing copy.",
    "evidenceIds": [
      "zoho-books-supp-zia-ai",
      "zoho-books-supp-mcp",
      "zoho-books-docs-8",
      "zoho-books-docs-9"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-autonomous-automation",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Zoho Books documents native workflow automation (trigger workflows, bank rules, bulk categorization) and an MCP integration explicitly framed for 'fully autonomous agents [that] monitor, reason, and act without human input,' with customer quotes describing autonomous month-end closures and invoice handling via Claude/OpenClaw. This directly supports background, autonomous automation setups beyond simple manual triggers.\nmissing for 10: independent/hands-on verification that MCP-driven agents persist and run unattended over time, and more detail on scheduling/triggers for background workflow execution beyond vendor marketing language.",
    "evidenceIds": [
      "zoho-books-supp-mcp",
      "zoho-books-supp-automation",
      "zoho-books-supp-bank-api",
      "zoho-books-supp-zia-ai"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-builtin-assistant",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Zoho Books documents a built-in AI assistant, Zia, that users can delegate tasks to in plain English — e.g. 'Ask Zia in plain English', sending bulk collection reminders, categorizing bank statements, and building workflow Blueprints automatically, all inside the product UI, distinct from the separate MCP-based external agent integration. This is first-party vendor documentation with concrete examples of task delegation. Missing for 10: independent or hands-on corroboration of Zia's task-delegation capability, and deeper documentation (e.g. feature list, screenshots) beyond a single marketing page's quotes.",
    "evidenceIds": [
      "zoho-books-supp-zia-ai"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Zoho Books exposes a full REST API with OAuth2 tokens, documented rate limits, and a published OpenAPI spec, all of which support scripted/CI-driven automation without a UI, and MCP support adds agent-drivable actions. However, there is no evidence of a CLI, official SDK examples for CI pipelines, or headless/batch execution patterns beyond API calls, and OAuth token flow typically requires an initial interactive consent step not shown to be scriptable end-to-end. missing for 10: CLI tool, CI/headless-specific documentation or examples, fully non-interactive OAuth token provisioning, independent verification of automation in CI environments.",
    "evidenceIds": [
      "zoho-books-supp-api-root",
      "zoho-books-supp-openapi",
      "zoho-books-supp-oauth",
      "zoho-books-supp-rate-limits",
      "zoho-books-probe-4",
      "zoho-books-supp-mcp"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "All MCP evidence describes Zoho positioning Books as an MCP *server* — external LLM agents (Claude, GPT) connect to Zoho's APIs and use Books' tools — the opposite direction from this story, which asks whether Zoho Books itself can act as an MCP client that plugs in and uses external MCP servers' tools. No evidence shows Books consuming outside MCP servers or its built-in Zia assistant connecting to third-party MCP tool providers.",
    "evidenceIds": [
      "zoho-books-docs-8",
      "zoho-books-supp-mcp",
      "zoho-books-supp-zia-ai",
      "zoho-books-docs-11"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Zoho documents a Zoho MCP service (mcp.zoho.com) that explicitly connects LLMs like GPT/Claude to Zoho Books' APIs and actions, with customer quotes confirming real use for invoicing, bookkeeping, and reconciliation via Claude. This is an official first-party MCP server, not just client-side integration. Missing for 10: independent/hands-on verification of the MCP connection flow beyond vendor marketing quotes, and the hosted endpoint is sign-in-gated so behavior couldn't be directly probed.",
    "evidenceIds": [
      "zoho-books-docs-8",
      "zoho-books-docs-9",
      "zoho-books-supp-mcp",
      "zoho-books-supp-zia-ai"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-nl-commands",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Zoho Books ships an official MCP server connecting LLMs like GPT/Claude to its APIs so agents can act on natural instructions, plus built-in Zia AI for 'plain English' commands, with customer testimonials describing invoice/bill/bookkeeping tasks done via simple AI-driven instructions. Missing for 10: independent (non-vendor-quoted) hands-on verification of the MCP server's reliability and breadth of natural-language command coverage beyond the cited testimonials.",
    "evidenceIds": [
      "zoho-books-supp-mcp",
      "zoho-books-supp-zia-ai",
      "zoho-books-docs-8",
      "zoho-books-docs-9"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence covers a REST API, OAuth, OpenAPI spec, and an MCP server offering, but there is no mention of an official command-line interface (CLI) tool for Zoho Books; probes for llms.txt and doc-md endpoints also failed. This is a fair axis for an API-driven SaaS product, but no CLI evidence exists.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Zoho Books ships a comprehensive, well-documented public REST API with OAuth2 auth, rate limits, extensive endpoint coverage (contacts, banking, reconciliation, orgs), and a live-verified downloadable OpenAPI spec confirming machine-readability. This directly satisfies an AI-native user's need to drive the product programmatically via documented public API. Missing for 10: independent third-party developer corroboration beyond vendor docs, and the llms.txt/openapi.json well-known probes returned 404 (though the actual OpenAPI zip works).",
    "evidenceIds": [
      "zoho-books-supp-api-root",
      "zoho-books-supp-openapi",
      "zoho-books-supp-oauth",
      "zoho-books-supp-rate-limits",
      "zoho-books-supp-bank-api",
      "zoho-books-probe-4",
      "zoho-books-docs-5"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-scoped-keys",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Zoho Books documents OAuth 2.0 with a scopes catalog gating access per module, which provides a mechanism for issuing credentials with limited access rather than full account access, and MCP integration references agent-driven access. However, there is no evidence of fine-grained, per-action or per-record least-privilege scoping (e.g., read-only vs. write, or resource-level restriction) beyond module-level scopes, nor documentation of agent-specific credential issuance/revocation workflows distinct from human OAuth clients. missing for 10: granular least-privilege scope examples beyond module-level, agent-specific credential lifecycle management (issuance/rotation/revocation tailored to AI agents), independent/hands-on verification that scoped tokens restrict agent actions as claimed.",
    "evidenceIds": [
      "zoho-books-supp-oauth",
      "zoho-books-supp-mcp",
      "zoho-books-docs-5"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack documents a REST API, OAuth flow, rate limits, and a downloadable OpenAPI spec, but nowhere mentions official client SDKs (e.g., Python, Node, Java, PHP libraries) for Zoho Books; an OpenAPI zip is not itself an SDK. Missing for 10: any documentation of official language SDKs, package registry listings (npm/PyPI/Maven), or SDK usage guides.",
    "evidenceIds": [
      "zoho-books-supp-api-root",
      "zoho-books-supp-openapi",
      "zoho-books-supp-oauth"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers Zoho Books' REST API, OAuth, rate limits, OpenAPI spec, and MCP integration, but contains no mention of webhooks or event subscription mechanisms anywhere. Since webhook support is a plausible and common capability for an API-driven accounting platform, its complete absence from the evidence means the axis applies but is undocumented.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "ap-aging-vendor-balances",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Evidence shows generic 'custom reports' and accountant collaboration for 'generating reports', plus vendor-related bank transaction categorization, but nothing explicitly documents an accounts-payable aging report or vendor balance report as of a specific date. Missing for 10: explicit AP aging report documentation, vendor balance report screenshots/specs, point-in-time reporting capability evidence.",
    "evidenceIds": [
      "zoho-books-supp-accountant",
      "zoho-books-supp-bank-api",
      "zoho-books-supp-automation"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows static API docs, OAuth guides, and a downloadable OpenAPI zip, but nothing indicates an interactive reference with runnable/try-it-now examples; probes for machine-readable/live docs endpoints (llms.txt, docs.md, openapi.json paths) returned 404s, and there's no mention of a sandbox or 'try it' console.",
    "evidenceIds": [
      "zoho-books-supp-openapi",
      "zoho-books-probe-4",
      "zoho-books-probe-1",
      "zoho-books-probe-2",
      "zoho-books-probe-3"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "api-machine-spec",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Zoho Books publishes a downloadable OpenAPI document, live-verified via HEAD request returning HTTP 200 with a 349KB zip of the full API corpus, directly linked from the official API docs. missing for 10: no independent third-party confirmation of spec completeness/validity beyond the vendor-hosted file check.",
    "evidenceIds": [
      "zoho-books-supp-openapi",
      "zoho-books-probe-4",
      "zoho-books-supp-api-root"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of a sandbox/test environment, demo org, or non-production API mode for AI agents to safely test against; the only isolation-like feature mentioned is a free plan with real financial thresholds, not a sandbox. There is also no mention of a 'test mode' flag or separate sandbox API endpoint distinct from the production organization_id-based API.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "api-versioning-policy",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Zoho Books documents a versioned API (v3), OAuth 2.0 auth, rate limits, and a downloadable OpenAPI spec, but there is no evidence of a documented version-deprecation policy, sunset timeline, or changelog governing how v3 will be retired or migrated. missing for 10: explicit deprecation/sunset policy, versioning changelog, migration guides between API versions, and any stated support-lifecycle commitments.",
    "evidenceIds": [
      "zoho-books-supp-api-root",
      "zoho-books-supp-openapi",
      "zoho-books-supp-rate-limits",
      "zoho-books-supp-oauth",
      "zoho-books-probe-4"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "ar-aging-customer-balances",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Evidence confirms Zoho Books has contact/customer management and a customizable reporting engine ('generating reports... changing date range, adding columns, filters') that accountants can use, implying AR-related reporting capability, but no citation explicitly names an accounts-receivable aging report or per-customer balance view. missing for 10: explicit AR aging report documentation, explicit per-customer balance/statement feature, independent confirmation of these standard reports.",
    "evidenceIds": [
      "zoho-books-supp-accountant",
      "zoho-books-docs-1",
      "zoho-books-supp-automation"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "auto-categorization-suggestions",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Zoho Books documents automatic bank feed import with categorization (Zia AI \"categorizing bank statements\") and an API/UI for categorizing transactions plus configurable Bank Rules for matching, but there is no evidence that suggestions adapt or improve specifically from user corrections (an explicit learning/feedback loop). Missing for 10: documented ML feedback loop showing suggestions improve after corrections, independent/hands-on confirmation of this adaptive behavior.",
    "evidenceIds": [
      "zoho-books-supp-bank-rec",
      "zoho-books-supp-bank-api",
      "zoho-books-supp-zia-ai"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "automation-bulk-operations",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Zoho Books API documents explicit bulk endpoints (assign owner to multiple contacts, mark multiple contacts for 1099, bulk update/delete bank rules) and MCP integration lets AI agents drive these actions via natural instructions, with customer testimonials describing bulk workflows (month-end closures, bulk reminders) done via AI. Missing for 10: no independent hands-on verification of bulk operation limits/scale via MCP, and no explicit bulk invoice/expense creation endpoints documented.",
    "evidenceIds": [
      "zoho-books-docs-3",
      "zoho-books-docs-4",
      "zoho-books-supp-bank-api",
      "zoho-books-supp-mcp",
      "zoho-books-supp-zia-ai"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "automation-rules-engine",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Zoho Books documents genuine event/condition-based automation: 'Trigger workflow' rules to notify/update/validate on events, Bank Rules API for auto-categorizing transactions, and Zia AI turning data into automatic next steps (bulk reminders, categorization, Blueprints). MCP integration also lets AI agents trigger actions from natural instructions, corroborated by customer quotes. Missing for 10: independent hands-on verification of rule complexity/reliability, and detailed docs on the full workflow-rule builder (trigger types, conditions, action chaining) beyond marketing copy.",
    "evidenceIds": [
      "zoho-books-supp-automation",
      "zoho-books-supp-bank-api",
      "zoho-books-supp-zia-ai",
      "zoho-books-supp-mcp"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "automation-scheduled-jobs",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Zoho Books documents workflow automation ('Trigger workflow', Blueprints, AI-driven bulk reminders/categorization) and MCP-based agent actions, suggesting automation depth, but no evidence explicitly describes scheduling recurring jobs, cron-like triggers, or persistent recurring workflows for AI agents. Missing for 10: explicit recurring/scheduled job API or documentation, evidence of interval-based triggers, and independent confirmation that AI agents can set up recurring automations.",
    "evidenceIds": [
      "zoho-books-supp-automation",
      "zoho-books-supp-zia-ai",
      "zoho-books-supp-mcp"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence shows workflow automation, AI/MCP integration, and audit trail for financial records, but there is no mention of versioning, reviewing, or rolling back automations/workflow definitions themselves. Missing for 10: automation version history, diff/review UI for workflow changes, rollback mechanism for automations.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "bank-feeds-auto-import",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Zoho Books explicitly documents connecting bank/credit-card accounts with automatic daily transaction import, categorization, and reconciliation workflows, backed by a full Bank Accounts/Bank Rules API for automation. Missing for 10: independent/hands-on user corroboration of daily-import reliability and any bank-feed coverage/outage caveats.",
    "evidenceIds": [
      "zoho-books-supp-bank-rec",
      "zoho-books-supp-bank-api"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "bank-reconciliation-workflow",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Zoho Books documents bank feeds, transaction categorization, bank reconciliation creation/listing, bank statement summaries, and bank rules for matching, which together support surfacing matched/unmatched items during reconciliation; accountant collaboration is also documented. However, there is no explicit description of a duplicate-transaction detection/review UI or a dedicated reconciliation screen showing matched vs unmatched vs duplicate buckets. missing for 10: explicit documentation or hands-on evidence of duplicate-transaction flagging, a unified reconciliation review screen showing matched/unmatched/duplicate side-by-side, and independent (non-vendor) confirmation of the reconciliation workflow.",
    "evidenceIds": [
      "zoho-books-supp-bank-api",
      "zoho-books-supp-bank-rec",
      "zoho-books-supp-accountant"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "banking-payments-payroll-integrations",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Bank feed automation is well documented (auto-import, categorization, reconciliation APIs) and general integration breadth (500+ apps, MCP) is claimed, but there is no explicit evidence of dedicated payments-gateway or payroll-system integrations feeding the ledger. Missing for 10: explicit payroll system connectors (e.g., Zoho Payroll or Gusto), explicit payment processor integrations (Stripe/PayPal) beyond generic '500+ integrations' claim, and independent confirmation these flows work end-to-end.",
    "evidenceIds": [
      "zoho-books-supp-bank-rec",
      "zoho-books-supp-bank-api",
      "zoho-books-docs-11",
      "zoho-books-supp-mcp"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "bill-capture-approval-payment",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack shows generic Zoho Books workflow automation (trigger workflows, notifications), bank transaction categorization as 'vendor payment', and vague MCP-agent quotes about 'managing bills,' but nothing documents a specific bill-capture → approval-routing → payment-scheduling pipeline for accounts payable. Missing for 10: vendor bill entry/OCR capture docs, an approval-routing/Blueprint workflow specific to bills, and a scheduled/batch bill payment feature.",
    "evidenceIds": [
      "zoho-books-supp-automation",
      "zoho-books-supp-bank-api",
      "zoho-books-supp-mcp"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "chart-of-accounts-management",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack contains no mention of chart of accounts customization, account types, sub-accounts, or class/tag dimensions—only unrelated docs on contacts, bank reconciliation, MCP, OAuth, and pricing. This is a core accounting feature that clearly applies to a bookkeeping product like Zoho Books, but no supporting evidence is provided.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "complete-audit-trail",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "The features page briefly names an 'audit trail' as a Zoho Books capability, but the evidence pack gives no detail on what it captures (user, timestamp, field-level changes) or its coverage across the entire ledger/multi-entity setup — it's a single passing mention alongside unrelated features like custom reports. missing for 10: documentation of audit trail granularity (who/what/when), screenshots or hands-on verification, coverage confirmation across multiple organizations/entities, and independent corroboration.",
    "evidenceIds": [
      "zoho-books-supp-accountant"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "create-send-invoices",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Evidence confirms Zoho Books can 'generate invoices' and 'track payments' (via MCP/Zia docs), implying some invoicing and payment-tracking capability, but there is no explicit documentation of online payment gateway options embedded in invoices or of invoice 'viewed' status tracking. missing for 10: dedicated docs on online payment gateway/checkout options on invoices, evidence of 'viewed' status/read-receipt tracking, and any independent/hands-on confirmation of the payment/view workflow.",
    "evidenceIds": [
      "zoho-books-docs-9",
      "zoho-books-supp-zia-ai"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "custom-reports-dimensions",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Evidence confirms Zoho Books supports custom reports with filters, columns, and date ranges (zoho-books-supp-accountant), but no citation explicitly documents reporting dimensions like class, location, or tags for grouping/filtering—only generic 'custom fields' and 'custom reports' are mentioned. Missing for 10: explicit documentation of class/location/tag tracking categories and their use as report filter/group dimensions, plus any hands-on or independent confirmation of this specific capability.",
    "evidenceIds": [
      "zoho-books-supp-accountant",
      "zoho-books-supp-automation"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "financial-statements-generation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Evidence confirms Zoho Books supports generating financial reports generally (custom reports with date-range/filter controls, MCP-enabled 'pull reports just by asking', accountant access to 'generating reports') but never explicitly names or documents P&L, balance sheet, or cash-flow statement generation specifically. Missing for 10: explicit documentation/screenshots of P&L, balance sheet, and cash-flow statement generation for arbitrary periods, and any independent/hands-on verification of their accuracy.",
    "evidenceIds": [
      "zoho-books-supp-accountant",
      "zoho-books-docs-9",
      "zoho-books-supp-zia-ai",
      "zoho-books-supp-automation"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "full-gl-export-via-api",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Zoho Books publishes a full REST API with an OpenAPI spec download and OAuth-based access, and states the API's goal is 'all the operations you do with our web client,' implying report access, but no evidence cites specific 'General Ledger' or 'Trial Balance' report endpoints or confirms these are exportable in open formats (JSON/CSV) via API.  missing for 10: explicit GL/trial-balance report endpoint documentation, confirmed open-format export options, and independent verification of report API usage.",
    "evidenceIds": [
      "zoho-books-supp-api-root",
      "zoho-books-supp-openapi",
      "zoho-books-supp-accountant",
      "zoho-books-probe-4"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "lock-closed-periods",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of a period-locking/closing-books feature or explicit reopening workflow anywhere in the pack; mentions of month-end closing refer to reconciliation speed, not locking prior-period transactions from edits. missing for 10: documentation of a 'close books' or 'lock period' setting, permission controls around it, and an explicit reopening workflow.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "manual-journal-entries",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Zoho Books documents accountant access to 'journal entries and base currency adjustments' via the accountant collaboration feature, confirming journal entry posting exists as a core feature, but there is no direct evidence of the journal entry UI/API showing debit/credit balancing enforcement or memo/attachment support. Missing for 10: explicit documentation of journal entry creation flow, balance validation, memo/notes fields, and attachment support for journal entries.",
    "evidenceIds": [
      "zoho-books-supp-accountant"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "migrate-historical-books",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack shows general API/contact/organization creation endpoints, OAuth, banking reconciliation, and MCP/AI agent capabilities, but nothing addresses importing historical transactions, opening balances, or bulk migration from another accounting system (e.g., QuickBooks/Xero import tools, CSV bulk import, or a dedicated migration service) while preserving transaction-level detail.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "month-end-close-checklist",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Zoho Books documents strong reconciliation tooling (bank reconciliation API, auto-categorization, bank rules) and accountant collaboration access, plus a workflow-trigger engine and audit trail, and even a customer quote referencing faster 'month-end closures.' However, there is no evidence of a dedicated close checklist feature that explicitly tracks accrual entries or formal review/sign-off steps as a structured workflow. missing for 10: a named month-end close checklist UI, accrual-tracking/journal automation tied to close, and a documented sign-off/approval mechanism for reviewers.",
    "evidenceIds": [
      "zoho-books-supp-bank-rec",
      "zoho-books-supp-bank-api",
      "zoho-books-supp-accountant",
      "zoho-books-supp-automation",
      "zoho-books-supp-mcp"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "multi-entity-consolidation",
    "verdict": "partial",
    "quality": 3,
    "confidence": "medium",
    "rationale": "Zoho Books supports creating multiple organizations and copying settings between them (zoho-books-docs-6, zoho-books-docs-7), which enables managing multiple legal entities separately, but there is no evidence of a consolidated financial reporting feature across organizations/entities. Missing for 10: documented consolidation/roll-up reporting across multiple organizations, inter-entity eliminations, or a unified consolidated financial statement feature.",
    "evidenceIds": [
      "zoho-books-docs-6",
      "zoho-books-docs-7",
      "zoho-books-supp-accountant"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Zoho explicitly states API parity as a design goal ('perform all the operations that you do with our web client'), backs it with a large, verified OpenAPI spec covering contacts, banking, reconciliation, rules, orgs, and 1099 workflows, plus documented OAuth scopes gating module access. However, there is no independent/hands-on verification confirming true 1:1 parity (e.g., UI-only settings, some organization-level admin actions), and the llms.txt/well-known OpenAPI discovery probes 404, showing openness/discoverability gaps for AI-native tooling. Missing for 10: independent confirmation of full UI-API parity with no exceptions, and standard machine-discoverable API metadata (llms.txt, well-known openapi.json) actually resolving.",
    "evidenceIds": [
      "zoho-books-supp-api-root",
      "zoho-books-supp-openapi",
      "zoho-books-supp-bank-api",
      "zoho-books-supp-oauth",
      "zoho-books-probe-4",
      "zoho-books-probe-1",
      "zoho-books-probe-3"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Zoho Books never documents a dedicated 'export all data' or backup feature, but its REST API offers near-full parity with the web client (\"perform all the operations that you do with our web client\") plus a published OpenAPI spec, meaning a technical/AI-native user could programmatically pull out contacts, transactions, invoices, etc. in JSON via authenticated calls — a workaround path to open-format export rather than a first-class export/leave feature. Missing for 10: an explicit bulk-export or full-account-backup capability, documented standard export formats (CSV/Excel/JSON dump), and any migration/portability tooling or independent confirmation that a full data export actually works end-to-end.",
    "evidenceIds": [
      "zoho-books-supp-api-root",
      "zoho-books-supp-openapi",
      "zoho-books-probe-4",
      "zoho-books-supp-oauth"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Zoho Books is closed-source proprietary SaaS; no evidence of any open-license source code availability, and the evidence pack only covers API docs, OAuth, and MCP integration, not source code openness. This axis applies (a buyer could ask about open-source availability) but there is no evidence supporting it.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "openness-self-host",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Zoho Books is a cloud SaaS accounting product with no evidence of any self-hostable/on-prem package; self-hosting is not an applicable axis for this category of hosted SaaS.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "privacy-data-residency",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "The only relevant evidence is a brief mention that the API root documents \"eight regional API domains,\" implying Zoho Books operates data centers in multiple regions — a proxy for data residency options — but there is no explicit documentation of a user-facing region/residency selection at signup or account level, nor any privacy-page confirmation of data locality guarantees. missing for 10: explicit account creation region-selection documentation, data residency/privacy policy statement, independent confirmation of regional data storage enforcement.",
    "evidenceIds": [
      "zoho-books-supp-api-root"
    ]
  },
  {
    "productId": "zoho-books",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses AI-training data usage policies, opt-outs, or data-privacy controls related to model training; the pack covers API docs, MCP integration, and features but nothing on training-data exclusion.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers API access, OAuth, MCP integration, and general accounting features, but contains no documentation of data retention policies, deletion controls, data export/purge APIs, or configurable retention periods for AI-native or any users. No mention of GDPR/CCPA deletion mechanisms, audit-trail retention settings, or account/data deletion workflows appears anywhere.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack addresses telemetry opt-out or usage tracking controls; the material covers API docs, OAuth, MCP integration, and accounting features but nothing about privacy settings or telemetry toggles.",
    "evidenceIds": []
  },
  {
    "productId": "zoho-books",
    "storyId": "recurring-invoices-reminders",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Evidence documents automated collection reminders (\"sending bulk collection reminders\") and workflow triggers that can notify customers, plus AI/MCP hooks for invoice tracking, but no citation explicitly describes a recurring-invoice scheduling feature. Missing for 10: explicit documentation of setting up recurring/repeating invoices, and independent/hands-on confirmation of the reminder automation working end-to-end.",
    "evidenceIds": [
      "zoho-books-supp-zia-ai",
      "zoho-books-supp-automation",
      "zoho-books-docs-9"
    ]
  }
]
