[
  {
    "productId": "anytype",
    "storyId": "agent-reads-writes-notes",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Anytype documents a local API and an official MCP server (@anyproto/anytype-mcp) that fronts that API, allowing AI assistants like Claude Code, Cursor, etc. to read, search, and modify Objects entirely headlessly without touching the GUI, and this was verified at runtime to actually launch and connect. The OpenAPI spec (22 paths) confirms concrete read/write endpoints beyond marketing claims. Missing for 10: independent third-party (non-vendor) hands-on report confirming write operations succeed end-to-end via the MCP server.",
    "evidenceIds": [
      "anytype-docs-1",
      "anytype-docs-3",
      "anytype-docs-18",
      "anytype-docs-35",
      "anytype-docs-37",
      "anytype-probe-3",
      "anytype-probe-rt-1",
      "anytype-probe-rt-2"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "A direct probe confirms Anytype hosts an llms.txt file at doc.anytype.io/llms.txt returning HTTP 200 with organized links to agent-oriented docs, and the developer docs explicitly provide an 'anytype-agents-skill' page meant to be dropped into Claude Code, Cursor, Gemini CLI, etc. so agents can operate on Anytype data directly. This shows both a machine-readable llms.txt entrypoint and human-authored agent-oriented documentation designed for pointing coding agents at.  missing for 10: no independent/community confirmation that agents actually consume llms.txt successfully in practice beyond the vendor's own docs and probe.",
    "evidenceIds": [
      "anytype-probe-1",
      "anytype-docs-37",
      "anytype-docs-5",
      "anytype-docs-35"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-ai-insights",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Anytype doesn't ship a native in-app AI-insights feature, but its local API + official MCP server + 'Agents Skill' let external AI assistants (Claude, Cursor, Gemini CLI, etc.) read, search, and run scripts against a user's Anytype data to generate insights/suggestions, and Queries provide auto-updating views of the knowledge base. This is enablement via integration rather than a built-in 'AI-generated insights' feature inside the product itself. Missing for 10: no evidence of a native, first-party AI panel/chat that autonomously surfaces insights without wiring up an external agent, and no independent hands-on account of the agent-generated insights actually working well.",
    "evidenceIds": [
      "anytype-docs-3",
      "anytype-docs-5",
      "anytype-docs-18",
      "anytype-docs-35",
      "anytype-docs-37",
      "anytype-probe-rt-1",
      "anytype-docs-8",
      "anytype-docs-21"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Anytype exposes a local API, CLI (headless server), and an official MCP server plus an 'agents-skill' that lets external AI agents (Claude Code, Cursor, etc.) run scripts against Anytype data, giving building blocks for automation. However there is no documented scheduler, trigger, or persistent background-running agent inside Anytype itself — all examples describe an external agent tool invoked on-demand, not autonomous background operation. Missing for 10: evidence of a built-in scheduler/trigger system, proof that agents can run unattended over time rather than per-invocation, and independent confirmation of autonomous background execution.",
    "evidenceIds": [
      "anytype-docs-2",
      "anytype-docs-5",
      "anytype-docs-37",
      "anytype-probe-3",
      "anytype-probe-rt-1"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-builtin-assistant",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Anytype exposes a local API, CLI, and MCP server that let *external* AI assistants (Claude Code, Cursor, Gemini CLI, etc.) read/write Anytype data — this is Anytype acting as a data backend for outside agents, not a built-in AI assistant living inside the product that a user can delegate tasks to. No docs mention an in-app chat/assistant feature.",
    "evidenceIds": [
      "anytype-docs-3",
      "anytype-docs-5",
      "anytype-docs-37",
      "anytype-probe-rt-1",
      "anytype-gh-2"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Anytype's docs explicitly claim a CLI that can run Anytype as a headless server for automation and scripting (anytype-docs-2), and a Docker image is maintained for self-hosted network use (anytype-docs-19). However, the only runtime evidence available is for the MCP integration, which requires the desktop GUI app to be actively running and reachable ('Can't connect to API... ensure Anytype is running'), undercutting a fully headless story for the primary automation surface, and there is no independent corroboration of the CLI's headless-server behavior itself. Missing for 10: hands-on verification that the CLI truly runs without any GUI/app dependency, CI-pipeline examples, and independent reports of headless automation in production.",
    "evidenceIds": [
      "anytype-docs-2",
      "anytype-docs-19",
      "anytype-probe-rt-1"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "All evidence describes Anytype exposing its own local API as an MCP server for external AI assistants (Claude, Cursor, etc.) to consume — the reverse direction of this story, which asks whether Anytype itself can plug in and use external MCP servers' tools. No evidence shows Anytype acting as an MCP client that consumes third-party MCP servers.",
    "evidenceIds": []
  },
  {
    "productId": "anytype",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Anytype ships an official MCP server (npm @anyproto/anytype-mcp) documented at developers.anytype.io, confirmed via runtime probe to launch and connect to the local Anytype API, enabling AI assistants to read/search/modify Objects through natural language. missing for 10: independent third-party review of the MCP server in production use beyond the vendor's own probe/docs.",
    "evidenceIds": [
      "anytype-docs-3",
      "anytype-docs-17",
      "anytype-probe-3",
      "anytype-probe-rt-1",
      "anytype-docs-18",
      "anytype-docs-35"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-nl-commands",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Anytype ships an official MCP server (npm @anyproto/anytype-mcp) that fronts its local API, explicitly documented as 'enabling AI assistants to seamlessly interact with Anytype's API through natural language,' verified working at runtime against the local app. Additionally an 'agents skill' lets agent-capable tools (Claude Code, Cursor, Gemini CLI, Copilot) run natural-language-driven scripts against Anytype data. missing for 10: independent third-party review of natural-language command accuracy/robustness beyond vendor docs and a single runtime probe.",
    "evidenceIds": [
      "anytype-docs-3",
      "anytype-docs-17",
      "anytype-docs-35",
      "anytype-docs-37",
      "anytype-probe-rt-1",
      "anytype-probe-3"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-official-cli",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Anytype explicitly ships an official CLI ('Anytype CLI is now available - run Anytype as a headless server for automation and scripting'), positioned for scripting/automation use cases relevant to AI-native/agentic workflows. However, evidence is limited to a single doc mention with no independent hands-on verification of the CLI itself (as opposed to the API/MCP server, which is separately corroborated). Missing for 10: independent/community confirmation of the CLI in use, detailed CLI command reference or examples.",
    "evidenceIds": [
      "anytype-docs-2"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Anytype ships a documented local REST API (OpenAPI 3.1.0 spec, 22 paths, generated developer reference) plus an official MCP server package that fronts it, and a CLI/headless server mode for automation — all confirmed by both docs and runtime probes. missing for 10: independent third-party developer testimonials building against the API beyond the vendor's own probes, and no public hosted/remote API (localhost-only).",
    "evidenceIds": [
      "anytype-docs-1",
      "anytype-docs-2",
      "anytype-docs-3",
      "anytype-probe-rt-1",
      "anytype-probe-rt-2",
      "anytype-gh-2",
      "anytype-docs-37"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Anytype's local API and MCP server require a key minted in the desktop app (anytype-probe-rt-1, anytype-docs-1), but nothing in the evidence describes scopes, permission levels, or least-privilege credential issuance for agents — the API/OpenAPI spec is just a flat set of endpoints (anytype-probe-rt-2) with no mention of restricting an agent's key to specific actions or Objects. missing for 10: any documentation of scoped/role-based API keys, per-agent permission restriction, or revocation/least-privilege credential model.",
    "evidenceIds": [
      "anytype-docs-1",
      "anytype-probe-rt-1",
      "anytype-probe-rt-2"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-sdks",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Anytype ships an official local REST API (with a machine-readable OpenAPI 3.1.0 spec covering 22 paths) built into the desktop app, a CLI, and an official MCP server (@anyproto/anytype-mcp) verified at runtime to actually connect and mint keys from the app — giving AI-native developers multiple official, documented SDK-like surfaces. Missing for 10: independent third-party SDK wrappers or client libraries beyond the official API/CLI/MCP, and broader language-specific SDK docs (only OpenAPI + CLI + MCP confirmed).",
    "evidenceIds": [
      "anytype-docs-1",
      "anytype-docs-2",
      "anytype-docs-3",
      "anytype-probe-rt-1",
      "anytype-probe-rt-2",
      "anytype-probe-3"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of webhook subscription support anywhere in Anytype's API/local-API docs; the local API is a localhost REST/gRPC surface with an MCP server for AI assistant access, but nothing indicates event-driven webhook callbacks. Missing for 10: any documentation of webhook registration, event subscription endpoints, or push-notification mechanism.",
    "evidenceIds": [
      "anytype-docs-1",
      "anytype-probe-rt-2",
      "anytype-probe-2"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "ai-plugin-integrations",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Anytype ships a first-party local API plus an official MCP server (npm @anyproto/anytype-mcp) confirmed working at runtime, enabling AI assistants like Claude, Cursor, Gemini CLI, GitHub Copilot to read/search/modify Objects, alongside an 'Agents Skill' toolkit for agent-capable tools. missing for 10: no broader third-party AI plugin marketplace/ecosystem beyond the official MCP server and agents-skill, and no independent community review of the MCP integration's real-world reliability.",
    "evidenceIds": [
      "anytype-docs-3",
      "anytype-docs-17",
      "anytype-docs-18",
      "anytype-docs-35",
      "anytype-docs-37",
      "anytype-probe-rt-1",
      "anytype-probe-rt-2",
      "anytype-gh-2"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "api-interactive-docs",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Anytype ships a genuine local REST API with a machine-readable OpenAPI 3.1 spec (22 paths) and a developer reference site (developers.anytype.io) generated from it, which documents endpoints like chat/messages with version tags — this is the backbone of an API reference. However, there's no direct evidence of an interactive 'try it out' console or runnable code examples embedded in the docs; probes only confirm the spec's existence and doc generation, not interactivity. Missing for 10: explicit evidence of a live 'try it' widget or runnable code snippets, independent confirmation of interactive testing within the docs UI.",
    "evidenceIds": [
      "anytype-probe-rt-2",
      "anytype-docs-4",
      "anytype-probe-2",
      "anytype-docs-3"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "api-machine-spec",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "A genuine machine-readable OpenAPI 3.1.0 spec (22 paths) for Anytype's local API is confirmed to exist and was fetched directly from the vendor's core repo, and developers.anytype.io's API reference is generated from this same spec — i.e. a real downloadable API spec exists and is used to power official docs. Missing for 10: the spec isn't hosted at a stable public URL on the main docs domain (doc.anytype.io openapi.json paths returned 404), so discovery requires knowing the GitHub repo path rather than a standard /openapi.json convention.",
    "evidenceIds": [
      "anytype-probe-rt-2",
      "anytype-probe-2",
      "anytype-docs-1",
      "anytype-docs-4"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Anytype's docs describe local-only mode, self-hosting, and a local API/MCP server that operates directly on the user's real Anytype data, but there is no mention of a dedicated sandbox/test space, staging environment, or mock-data mode that lets an AI agent test actions without touching production content. Evidence shows agents run scripts 'against your Anytype data' directly, with no isolation layer.",
    "evidenceIds": [
      "anytype-docs-5",
      "anytype-docs-37",
      "anytype-probe-rt-1",
      "anytype-docs-30"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence confirms Anytype ships a local API with an OpenAPI spec that is date-versioned (2025-04-22), but nowhere in the docs or probes is there any documented deprecation policy, versioning guarantees, or migration/sunset process for API changes. Absence of evidence for this applicable axis (a real, documented, self-hosted API exists) means the story is not delivered.",
    "evidenceIds": [
      "anytype-probe-rt-2",
      "anytype-probe-2",
      "anytype-docs-1"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype documents an agent skill where an AI agent can run scripts against Anytype data to handle bulk edits transformations and repetitive tasks using the local API and MCP server plus a CLI for headless automation. However this relies entirely on external scripting and agent tooling rather than a native bulk edit UI and a community report flags friction with bulk CSV merges into databases. missing for 10: native in-app bulk edit selection tools, independent hands-on verification of large-scale bulk script runs, resolution of the community reported CSV merge gap",
    "evidenceIds": [
      "anytype-docs-5",
      "anytype-docs-37",
      "anytype-docs-18",
      "anytype-probe-rt-1",
      "anytype-comm-10"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "automation-rules-engine",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Queries (auto-updating saved views) and an 'Agents skill' letting an external AI agent run scripts against Anytype data on request, plus an MCP/local API for AI assistants to read/write objects — but none of this describes user-defined rules that automatically trigger actions on events (e.g. 'when X happens, do Y'). There is no workflow/automation-rule engine, webhook trigger, or event-based action system documented anywhere in the pack.",
    "evidenceIds": [
      "anytype-docs-5",
      "anytype-docs-8",
      "anytype-docs-21",
      "anytype-docs-37",
      "anytype-docs-18"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence shows Anytype exposes a local API, MCP server, and an 'agents skill' letting external agents run one-off scripts against Anytype data, but nothing describes any built-in scheduler, cron-like trigger, or recurring/automated workflow execution within Anytype itself. Automation-depth is a fair axis for an AI-native knowledge tool, so absence of evidence yields 'none' rather than 'na'.",
    "evidenceIds": [
      "anytype-docs-5",
      "anytype-docs-37",
      "anytype-docs-3",
      "anytype-probe-rt-1"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Anytype documents AI agent scripting/automation capabilities (agents running scripts against Anytype data) and general object version history is not mentioned anywhere in the evidence, nor is any mechanism to version, review, or roll back automations/scripts themselves. Since Anytype does support automation via its agents-skill and API, this axis is applicable, but no evidence shows versioning, review workflows, or rollback for those automations.",
    "evidenceIds": [
      "anytype-docs-5",
      "anytype-docs-37",
      "anytype-docs-18"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "bidirectional-links",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Docs confirm bidirectional-style linking ('Linking on Anytype is what turns a bunch of separate notes into a connected knowledge base', 'trace how ideas relate, see what's connected') and a live Graph view showing every Object's connections, which covers wiki-links and a form of backlink visualization. However, the evidence never explicitly documents a dedicated 'Backlinks' panel or an 'unlinked mentions' detection feature (text mentioning a note's title without a link), so the researcher's specific in-context backlink/unlinked-mention workflow is only partly evidenced. Missing for 10: explicit backlinks list UI, unlinked-mentions detection, independent/hands-on confirmation of these specific sub-features.",
    "evidenceIds": [
      "anytype-docs-40",
      "anytype-docs-28",
      "anytype-docs-9"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "block-references-embeds",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence documents only object-level linking and backlinks (docs-40, docs-28) and a live Graph of Object connections (docs-9), but nowhere describes block- or section-level transclusion/embedding that stays synced across notes — a distinct feature from whole-object linking. No mention of synced blocks, block references, or embed-with-sync exists in the pack.",
    "evidenceIds": [
      "anytype-docs-40",
      "anytype-docs-28",
      "anytype-docs-9"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "builtin-ai-assistant",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Anytype ships a local API and an MCP server that let external AI assistants (Claude, Cursor, etc.) read/search/modify Objects, but there is no evidence of a built-in in-app AI assistant that itself answers questions, summarizes, or drafts grounded in the user's notes with UI-level data-scope controls — the docs describe it as a toolkit for external agents, not a native assistant feature. Missing for 10 (or even partial credit): a first-party in-app assistant UI, summarization/drafting features, and explicit data-scope/consent controls within Anytype itself.",
    "evidenceIds": [
      "anytype-docs-3",
      "anytype-docs-17",
      "anytype-docs-18",
      "anytype-docs-35",
      "anytype-docs-37",
      "anytype-probe-rt-1"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "community-plugin-ecosystem",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Anytype documents an API, CLI, MCP server, and 'Agent Skill' for scripting/AI integration, but nothing in the evidence describes a community plugin/extension marketplace or catalog that users can browse and install to add features — these integrations are developer/API surfaces, not an installable plugin ecosystem.",
    "evidenceIds": [
      "anytype-docs-1",
      "anytype-docs-2",
      "anytype-gh-2",
      "anytype-probe-3"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "daily-notes-journal",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Anytype documents general Templates and Types (docs-13, docs-22, docs-32) but nowhere describes an automatic daily/journal note feature that auto-creates a dated entry pre-filled from a template as a default landing page — no evidence of a 'Daily Note' or journaling automation feature exists in the pack.",
    "evidenceIds": [
      "anytype-docs-13",
      "anytype-docs-22",
      "anytype-docs-32"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "e2ee-sync-devices",
    "verdict": "disputed",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype ships an official multi-device sync via its backup-node infrastructure with claims of full E2E encryption where 'not even Anytype can see your content' (anytype-docs-31, anytype-docs-42, anytype-docs-43), and sync reportedly works well across devices (anytype-comm-9). However, a hands-on user and the vendor's own team response concretely contradict the blanket E2E claim: data is not fully encrypted on disk and 'only the indexes are not encrypted currently' (anytype-comm-8, anytype-comm-9), meaning the vendor itself confirms a gap in the encryption story it markets. missing for 10: independent security audit confirming full E2E coverage, resolution of the unencrypted-index gap, and clearer docs distinguishing at-rest vs. index encryption.",
    "evidenceIds": [
      "anytype-docs-31",
      "anytype-docs-42",
      "anytype-docs-43",
      "anytype-comm-8",
      "anytype-comm-9"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "full-export-portability",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Docs explicitly state you can import content and export it at any time, with Markdown or Any-Block format choices, plus dedicated import from Obsidian and self-host backup/export of channels for migrating identities — covering the core switcher promise of open-format export/import at will. missing for 10: independent hands-on verification of export fidelity/completeness and no explicit mention of bulk/full-space export beyond channel-level export.",
    "evidenceIds": [
      "anytype-docs-11",
      "anytype-docs-20",
      "anytype-docs-14",
      "anytype-docs-36",
      "anytype-docs-23",
      "anytype-docs-6"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "full-text-search-filters",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Anytype's Queries let users filter by Type, tag, and other properties, and all data is stored locally for a genuine offline-first experience, which supports the filtering and offline parts of this story. However, the evidence never documents a full-text search feature, path-based filtering, or how these Query filters combine with a search index — missing for 10: explicit full-text search documentation, filtering by file/object 'paths', and any performance/scale claims for search across large note collections.",
    "evidenceIds": [
      "anytype-docs-8",
      "anytype-docs-21",
      "anytype-docs-29",
      "anytype-docs-32",
      "anytype-docs-38"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "graph-view-navigation",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Anytype's Graph is explicitly documented as 'a live, visual map of every Object in your Channel and how they connect to each other,' directly matching the interactive knowledge graph story, and linking is described as core to turning notes into a connected knowledge base. Filtering/querying is supported via the Query feature, which lets users define criteria to assemble filtered Views, though docs don't explicitly confirm Query filters apply directly to the Graph visualization itself. Missing for 10: explicit documentation or hands-on evidence that Graph view can be filtered by Query/View criteria, and independent user corroboration of the graph exploration experience.",
    "evidenceIds": [
      "anytype-docs-9",
      "anytype-docs-28",
      "anytype-docs-40",
      "anytype-docs-8",
      "anytype-docs-21"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "import-from-other-tools",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Anytype documents Markdown import (choose Markdown or Any-Block format) and a dedicated Obsidian migration path that creates a separate object per Markdown file, preserving structure to some degree, plus general import/export at any time. However, there is no evidence of dedicated Notion, Evernote, or Roam importers preserving links/attachments as the story specifies — only generic Markdown ingestion is documented, and a community comment even flags gaps in re-importing structured data (CSV) cleanly. Missing for 10: dedicated Notion/Evernote/Roam import tooling, evidence that links and attachments survive import from these specific sources, and independent hands-on confirmation of fidelity.",
    "evidenceIds": [
      "anytype-docs-11",
      "anytype-docs-14",
      "anytype-docs-36",
      "anytype-docs-20",
      "anytype-comm-10"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "local-first-own-files",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype clearly delivers offline-first, locally-owned storage: docs state all content is stored locally, the app 'always works without an internet connection', data is encrypted at rest in a self-owned Vault, and a local-only sync mode exists that disables any external node entirely (anytype-docs-29, anytype-docs-30, anytype-docs-44, anytype-docs-31/43, anytype-docs-24). However, the underlying store is a proprietary local database/CRDT format, not plain files you can read without the app — the only path to human-readable local files is manual Markdown export/import (anytype-docs-11, anytype-docs-20), and a community report notes data 'lives unencrypted on-disk' at the index level despite vendor's encryption claims (anytype-comm-8, anytype-comm-9), showing some tension around the ownership/transparency claim. missing for 10: evidence that the live working store itself (not just exports) is human-readable outside the app, and independent confirmation that full offline use has no hidden network dependency beyond vendor docs.",
    "evidenceIds": [
      "anytype-docs-29",
      "anytype-docs-30",
      "anytype-docs-44",
      "anytype-docs-31",
      "anytype-docs-43",
      "anytype-docs-24",
      "anytype-docs-11",
      "anytype-docs-20",
      "anytype-comm-8",
      "anytype-comm-9"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "mobile-apps-parity",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Evidence confirms native iOS and Android apps exist and are described as polished and functional (comm-3, comm-7), and cross-device sync/offline-first architecture (anytype-docs-29, anytype-docs-30) implies capture/linking works across devices, but no documentation explicitly details mobile-specific feature parity for capture, search, and linking, and one long-term user characterizes their mobile use as 'a very basic note system,' hinting at reduced functionality vs desktop. Missing for 10: explicit docs on mobile app feature set (Queries, Graph, Types, Templates) confirming parity with desktop, and independent hands-on reviews of mobile power-user workflows beyond basic notes.",
    "evidenceIds": [
      "anytype-comm-3",
      "anytype-comm-7",
      "anytype-docs-29",
      "anytype-docs-30"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "note-templates",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype's docs clearly describe reusable Templates ('a saved layout for a page that you can reuse' and 'define what a good starting point looks like once... base for every new Object') including customizable cover/icon, which supports recurring note types via Types+Templates. However, there's no evidence of dynamic variable substitution (e.g., auto-filled date, title placeholders) within templates—only static layout/property definitions are documented. missing for 10: explicit variable/placeholder support (auto-date, auto-title fill), independent hands-on confirmation of template variable behavior.",
    "evidenceIds": [
      "anytype-docs-13",
      "anytype-docs-22",
      "anytype-docs-25",
      "anytype-docs-32"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "open-format-longevity",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Anytype explicitly documents Markdown export/import (choose Markdown or Any-Block format) and lets you import/export content at any time, plus Obsidian-style markdown migration, giving researchers a documented open-format path out of the vendor lock-in. The local API also exposes data via JSON over a documented OpenAPI spec, reinforcing programmatic, non-proprietary access to notes.\nmissing for 10: explicit full-space JSON export/archival documentation and independent verification that exported Markdown preserves all object metadata/relations.",
    "evidenceIds": [
      "anytype-docs-11",
      "anytype-docs-20",
      "anytype-docs-14",
      "anytype-docs-36",
      "anytype-probe-rt-2"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype ships a real local REST API (OpenAPI spec, 22 paths, confirmed by runtime probe) plus a CLI headless server and an official MCP server that let AI agents create/search/modify objects and chats — solid API-driven access. However, the API surface (22 endpoints) is far narrower than the full UI feature set (Queries/Views, Templates, Web Publishing, Graph, Types customization, import/export flows), and no evidence confirms full parity between API and UI capabilities. Missing for 10: explicit documentation or confirmation that templates, publishing, graph, and query/view creation are all API-accessible, and independent hands-on verification of parity beyond basic CRUD/chat operations.",
    "evidenceIds": [
      "anytype-docs-1",
      "anytype-docs-2",
      "anytype-docs-3",
      "anytype-docs-4",
      "anytype-probe-rt-1",
      "anytype-probe-rt-2",
      "anytype-docs-9",
      "anytype-docs-10",
      "anytype-docs-8"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "openness-full-export",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Anytype docs explicitly support exporting content in open formats (Markdown or Any-Block) at any time, plus local-first storage, self-hosting (including a maintained Docker image), local-only mode, and exporting/importing channels into a new identity when switching network modes — giving AI-native users a documented path to export data and leave to their own infrastructure. Missing for 10: independent/hands-on verification of export completeness and fidelity, and no detailed account of exactly what metadata/relations survive export.",
    "evidenceIds": [
      "anytype-docs-11",
      "anytype-docs-20",
      "anytype-docs-23",
      "anytype-docs-19",
      "anytype-docs-30",
      "anytype-docs-29"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "openness-open-license",
    "verdict": "disputed",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Anytype's client code is publicly visible on GitHub (anytype-ts, anytype-heart) and even labels some AI-agent tooling 'open-source', suggesting readable source; however a hands-on community report explicitly states Anytype ships under a 'source-available license' rather than a true open license, directly contradicting an open-license claim for the core product. missing for 10: an explicit OSI-approved license file/statement for the main app repos, and resolution of the source-available vs open-source discrepancy.",
    "evidenceIds": [
      "anytype-gh-1",
      "anytype-gh-2",
      "anytype-comm-8"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "openness-self-host",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Anytype ships a self-hostable network node (Docker image maintained by the team) for backup/sync, plus a local-only mode that removes any dependency on Anytype's backup node entirely, and the core client itself is offline-first storing all data locally. Community input corroborates the p2p/no-central-server architecture actually working in practice. Missing for 10: independent hands-on validation of running the official self-host Docker image end-to-end, and more detail on feature parity/limits of self-hosted vs managed network.",
    "evidenceIds": [
      "anytype-docs-6",
      "anytype-docs-19",
      "anytype-docs-23",
      "anytype-docs-7",
      "anytype-docs-24",
      "anytype-docs-30",
      "anytype-docs-29",
      "anytype-comm-9"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "plugin-developer-api",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype documents a local REST API (with a real OpenAPI 3.1 spec, 22 paths) plus a CLI, an official MCP server, and an 'agents skill' example showing scripts run against Anytype data — this gives developers a documented, sample-backed way to build integrations. However there's no evidence of an actual in-app plugin/extension SDK (e.g., UI extension points, a plugin marketplace, or a formal SDK package) — the API is more integration/automation-oriented than a plugin framework. Missing for 10: an official plugin SDK/framework for extending the app itself, a plugin marketplace or registry, and broader third-party plugin examples beyond MCP/agent scripts.",
    "evidenceIds": [
      "anytype-docs-1",
      "anytype-docs-2",
      "anytype-docs-3",
      "anytype-docs-5",
      "anytype-docs-37",
      "anytype-probe-rt-1",
      "anytype-probe-rt-2",
      "anytype-gh-2"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "privacy-data-residency",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype is local-first (data stored on-device) and offers a self-hosted network / local-only mode, giving users control over where their data physically lives rather than a fixed vendor cloud region — this indirectly satisfies data-residency concerns. However, there's no explicit multi-region cloud selection feature or documented compliance framework (e.g., EU-only hosting) — missing for 10: explicit region/residency selection UI, documented compliance certifications, and independent verification of self-host deployment satisfying legal residency requirements.",
    "evidenceIds": [
      "anytype-docs-6",
      "anytype-docs-19",
      "anytype-docs-24",
      "anytype-docs-30",
      "anytype-docs-42",
      "anytype-comm-6"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "privacy-no-training",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype's local-first, encrypted architecture ('not even Anytype can see your content', all data stored locally, offline-first) strongly implies the vendor has no access to user data and thus cannot use it for AI training, and this is reinforced by the fact that AI integrations (MCP, local API) run entirely on localhost rather than sending data to a cloud AI service. However, there is no explicit vendor statement or ToS clause addressing AI-training use of data, and community evidence notes that index data is not yet encrypted at rest, a caveat to the 'we can't see your data' claim. Missing for 10: an explicit no-AI-training policy/ToS clause, and confirmation that even metadata/indexes are excluded from any vendor-side processing.",
    "evidenceIds": [
      "anytype-docs-31",
      "anytype-docs-43",
      "anytype-docs-29",
      "anytype-docs-1",
      "anytype-comm-9"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "privacy-retention-controls",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype's local-first architecture gives strong implicit control over retention: data lives encrypted at rest on-device (anytype-docs-44, anytype-comm-9), can be exported/imported at any time (anytype-docs-20), and local-only mode lets users disable all cloud/backup-node sync entirely (anytype-docs-24, anytype-docs-30), plus self-hosting for full network control (anytype-docs-6, anytype-docs-19). However there's no explicit documented 'delete my data/account' feature, data-retention policy statement, or purge/right-to-erasure mechanism in the evidence — only inferred control via local file ownership and export.  Missing for 10: explicit deletion/erasure feature or policy docs, retention period controls, and confirmation of what happens to synced/self-hosted copies upon deletion request.",
    "evidenceIds": [
      "anytype-docs-44",
      "anytype-docs-20",
      "anytype-docs-24",
      "anytype-docs-30",
      "anytype-docs-6",
      "anytype-comm-9",
      "anytype-docs-42"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack details Anytype's local-first storage, encryption, and offline-first architecture (anytype-docs-29, anytype-docs-31, anytype-docs-43), but none of it mentions a telemetry/usage-analytics toggle or opt-out setting specifically. Privacy-by-architecture claims don't substitute for documented telemetry controls, so this applicable axis has no direct supporting evidence.",
    "evidenceIds": []
  },
  {
    "productId": "anytype",
    "storyId": "publish-notes-website",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Anytype's Web Publishing feature lets users pick any Object and click Publish to generate a static HTML page on a personal subdomain (.any.org), including custom icon/cover, directly from within the app — matching the digital-garden use case with working links via the app's native linking/backlinking system. Missing for 10: no independent/community confirmation of link-following behavior between published pages or customization depth, and no evidence on bulk/multi-page publishing workflows.",
    "evidenceIds": [
      "anytype-docs-10",
      "anytype-docs-34",
      "anytype-docs-26",
      "anytype-docs-41",
      "anytype-docs-40",
      "anytype-docs-28"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "rich-markdown-editing",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Docs and GitHub confirm a block-based editor (text, databases, kanban, calendar, custom Types) and community reports confirm tables exist (though 'simple, no formulas'), plus templates and page icons/covers. However there is no explicit evidence for headings, callouts, or code blocks as first-class formatting elements, nor any documentation of keyboard shortcuts or 'fast keyboard-driven' editing speed, and embedded media support is only implied via cover images. missing for 10: explicit callout/heading/code-block support, documented keyboard-shortcut system, and evidence of rich embedded media (video/audio/files) in the editor.",
    "evidenceIds": [
      "anytype-gh-1",
      "anytype-comm-4",
      "anytype-docs-13",
      "anytype-docs-32",
      "anytype-comm-3"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "self-host-local-only",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Anytype documents local-only mode (disables the backup node entirely, data stays on-device with offline-first storage) plus a self-hosted network backend option including a team-maintained Docker image for backing up/syncing without vendor cloud, and this is corroborated by the team's own community statements about p2p sync working without a central server. Some nuance remains around multi-device sync limitations in local-only mode and encryption caveats raised in community threads (indexes not encrypted, source-available license). Missing for 10: independent hands-on verification of a full self-hosted sync-server deployment (vs. docs-only description) and more detail on operational maturity of the self-host path.",
    "evidenceIds": [
      "anytype-docs-6",
      "anytype-docs-7",
      "anytype-docs-19",
      "anytype-docs-24",
      "anytype-docs-29",
      "anytype-docs-30",
      "anytype-docs-39",
      "anytype-comm-9"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "shared-space-collaboration",
    "verdict": "disputed",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Anytype's docs claim you can share a Vault/space and collaborate without sacrificing privacy, with peer-to-peer sync or self-hosting for shared editing (anytype-docs-12, anytype-docs-33, anytype-docs-39), but independent community evidence directly contradicts this: a Notion employee notes Anytype 'still lacking collaboration' and another user reports 'you can't share with others yet' as of their hands-on testing (anytype-comm-5, anytype-comm-8), and another user flags the need for a 'merge feature' when re-importing data, suggesting conflict handling for concurrent edits is immature (anytype-comm-10). Missing for 10: documented conflict-resolution/CRDT mechanics for simultaneous multi-user edits, and recent independent confirmation that sharing/collaboration works reliably today.",
    "evidenceIds": [
      "anytype-docs-12",
      "anytype-docs-33",
      "anytype-docs-39",
      "anytype-comm-5",
      "anytype-comm-8",
      "anytype-comm-10"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "structured-queries-views",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Anytype supports structured Types/properties and Queries that assemble live, auto-updating Views (docs describe defining criteria and getting results as a View), plus tables/kanban/calendar-style database views per the GitHub description. However, formulas are explicitly still missing per a co-founder community comment, and there's no independent hands-on evidence confirming board/list view richness or complex cross-property querying at scale. missing for 10: independent/hands-on verification of multi-view query rendering (table/board/list) beyond docs claims, confirmation of formula/aggregation support, and evidence of performance/robustness with large structured datasets.",
    "evidenceIds": [
      "anytype-docs-8",
      "anytype-docs-21",
      "anytype-docs-32",
      "anytype-gh-1",
      "anytype-comm-4"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "tags-properties-metadata",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Anytype's documented object model lets users create custom Types and attach structured properties, then retrieve them via Queries that assemble results by defined criteria (docs-32/38, docs-8/21), which is the core of typed, consistent organization and retrieval; Templates further support consistent object creation (docs-13/22). Missing for 10: explicit documentation of a dedicated 'tag' property type (only 'Types'/relations are described) and independent verification that large-scale tagging stays consistent (one community report flags friction reconciling bulk/CSV data at scale, comm-10).",
    "evidenceIds": [
      "anytype-docs-32",
      "anytype-docs-38",
      "anytype-docs-8",
      "anytype-docs-21",
      "anytype-docs-13",
      "anytype-docs-22",
      "anytype-comm-10"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "uri-deep-link-automation",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Anytype ships a local-API (localhost, offline) with a documented OpenAPI spec (22 paths) that developers can call directly from scripts, plus a CLI/headless server mode and an official MCP server that fronts this API for automation — all confirmed by both docs and runtime probes. This covers programmatic create/open/search of Objects for scripting and workflow integration, though it's a REST/gRPC local API rather than a classic OS-level URI scheme/deep-link handler. Missing for 10: explicit documentation of an os-level 'anytype://' URI scheme or deep-link handler, and independent third-party corroboration beyond vendor docs/probes.",
    "evidenceIds": [
      "anytype-docs-1",
      "anytype-docs-2",
      "anytype-probe-rt-1",
      "anytype-probe-rt-2",
      "anytype-docs-5",
      "anytype-docs-37"
    ]
  },
  {
    "productId": "anytype",
    "storyId": "version-history-recovery",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence in the pack mentions version history, restoring earlier versions, or recovering deleted notes; documentation covers sync, backup, encryption, import/export, and API/MCP integrations but never a version-history or undo/trash-recovery feature.",
    "evidenceIds": []
  },
  {
    "productId": "anytype",
    "storyId": "web-clip-capture",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of a browser clipper extension or web-capture flow for Anytype; import features cover Markdown/Any-Block/Obsidian migration, not web page/article clipping. Missing for 10: official browser extension, article/highlight capture flow, bookmarklet or share-to-Anytype integration.",
    "evidenceIds": []
  },
  {
    "productId": "capacities",
    "storyId": "agent-reads-writes-notes",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Capacities ships both a documented REST API (Bearer/OAuth authenticated, verified live with a 401 on keyless access) and an official hosted MCP server at api.capacities.io/mcp with confirmed read AND write scopes (mcp:read mcp:write), enabling headless agent read/write access without the GUI. missing for 10: independent third-party hands-on report of an agent actually using the MCP server end-to-end, and clearer documentation of write-operation specifics/limits in the API docs.",
    "evidenceIds": [
      "capacities-probe-rt-1",
      "capacities-probe-rt-2",
      "capacities-docs-33",
      "capacities-docs-18",
      "capacities-probe-3"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "A live probe confirms docs.capacities.io/llms.txt returns HTTP 200 with structured, agent-readable content describing Capacities' documentation, directly matching the story of pointing an agent at an llms.txt file; this is corroborated by the broader developer docs (MCP, API) being machine-consumable and openly hosted. Missing for 10: independent third-party confirmation that agents actually consume this llms.txt successfully in practice, and no explicit vendor statement promoting llms.txt as a first-class agent onboarding feature.",
    "evidenceIds": [
      "capacities-probe-1",
      "capacities-docs-1",
      "capacities-docs-17"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-ai-insights",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Capacities offers concrete in-app AI features—AI Chats with context, AI Property Auto-Fill, and AI Image Analysis (OCR, categorization)—that provide AI-generated insights/suggestions on user data, and these are opt-in with privacy controls. However, these are fairly narrow (chat, auto-fill, image analysis) rather than broader proactive insight generation like automated summaries, trend detection, or knowledge-graph-driven suggestions. Missing for 10: evidence of proactive/automated insight surfacing (e.g., suggested connections, summaries across notes), independent hands-on reviews validating quality of AI suggestions, and broader coverage beyond the three documented AI features.",
    "evidenceIds": [
      "capacities-docs-4",
      "capacities-docs-23",
      "capacities-docs-24",
      "capacities-docs-36",
      "capacities-docs-16"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-autonomous-automation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows only a scheduled full-export feature and API/MCP integration points for external clients, but nothing indicating autonomous, self-triggering background automations (e.g., workflows/triggers acting on data changes) running inside Capacities.",
    "evidenceIds": [
      "capacities-docs-11",
      "capacities-probe-rt-2",
      "capacities-docs-16"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-builtin-assistant",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Capacities ships a built-in AI assistant with AI Chats (pass blocks/notes as context), AI Property Auto-Fill, and AI Image Analysis, which are genuine in-app AI delegation features (opt-in, per capacities-docs-16/23/24/36). However, these are narrow, single-step assist functions rather than open-ended agentic task delegation (e.g., multi-step autonomous workflows or tool-use chains). Missing for 10: evidence of multi-step/autonomous task execution, any agent-like planning or tool invocation by the built-in assistant, and independent hands-on validation of these AI features' reliability.",
    "evidenceIds": [
      "capacities-docs-23",
      "capacities-docs-24",
      "capacities-docs-36",
      "capacities-docs-16"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Capacities exposes a REST API with bearer/OAuth auth and a hosted MCP server (verified live with 401/OAuth challenge), which could be scripted from a CI pipeline to automate content creation/export, but there is no documented CLI, container image, or explicit 'headless mode' for running the app itself in automation contexts. Missing for 10: dedicated CI/headless-mode documentation, CLI or batch-automation examples, and independent evidence of the API being used in automated pipelines.",
    "evidenceIds": [
      "capacities-docs-18",
      "capacities-docs-33",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence consistently shows Capacities exposes itself AS an MCP server (and its own chat-connector/API) so external AI clients (ChatGPT, Claude, custom agents) can connect TO Capacities — the reverse of this story, which asks whether Capacities can consume external MCP servers to use their tools. No documentation or probe shows Capacities' AI assistant/chat feature acting as an MCP client that plugs in third-party MCP servers.",
    "evidenceIds": [
      "capacities-docs-1",
      "capacities-docs-17",
      "capacities-docs-3",
      "capacities-probe-3",
      "capacities-probe-rt-2"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "A runtime probe confirms a live, official hosted MCP server at https://api.capacities.io/mcp that responds with proper OAuth-protected-resource metadata and read/write scopes, and Capacities' developer docs explicitly document this MCP endpoint. This is genuine first-party server infrastructure an AI agent can connect to, not just a client-side integration guide. Missing for 10: independent/community confirmation of a successful agent connection in practice, and the docs text is inconsistently worded (framing it as building a 'custom MCP client' rather than clearly as 'our official server'), which adds minor ambiguity.",
    "evidenceIds": [
      "capacities-probe-rt-2",
      "capacities-probe-3",
      "capacities-docs-1",
      "capacities-probe-rt-1"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-nl-commands",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Capacities supports AI chats with context, AI property auto-fill, and connects to external AI assistants (ChatGPT, Claude, Cursor) via chat connectors and a live MCP server with read/write scopes, letting AI act as an intermediary for natural-language commands. However, there is no evidence of a native in-app natural-language command palette/interface where a user directly types free-form commands to control the app itself (e.g., 'create a project page and link it to my meeting notes') — the NL interaction is mediated through external AI tools/chat rather than a first-party built-in command layer. missing for 10: first-party in-app natural-language command interface, hands-on evidence of NL commands controlling core app actions (creating/organizing objects) rather than just chat/auto-fill, independent user reports validating this workflow.",
    "evidenceIds": [
      "capacities-docs-3",
      "capacities-docs-23",
      "capacities-docs-36",
      "capacities-probe-rt-2",
      "capacities-docs-4"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is \"none\", never \"na\". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)",
    "evidenceIds": []
  },
  {
    "productId": "capacities",
    "storyId": "agentic-public-api",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Capacities documents a REST API with Bearer-token OAuth authentication for accessing/creating/manipulating content, and this is independently verified by a runtime probe showing a live OpenAPI 3.1 spec at api.capacities.io and a correctly bearer-gated /spaces endpoint. It also exposes an official hosted MCP server (with OAuth-scoped read/write) confirmed live via probe, giving AI-native users multiple documented, working integration paths. Missing for 10: deeper endpoint-level documentation excerpts and independent third-party developer testimonials beyond the runtime probes.",
    "evidenceIds": [
      "capacities-docs-33",
      "capacities-docs-18",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2",
      "capacities-probe-3"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-scoped-keys",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Capacities' API and MCP server use Bearer/OAuth 2.0 authentication, and the live MCP endpoint exposes discrete 'mcp:read' and 'mcp:write' scopes, showing some notion of least-privilege access. However, there is no documented mechanism for a user to generate multiple distinct API keys per-agent, restrict a token to specific spaces/objects, or revoke individual credentials independently. Missing for 10: docs on issuing/managing multiple scoped tokens, per-agent key rotation/revocation, and fine-grained resource-level permissions beyond read/write.",
    "evidenceIds": [
      "capacities-docs-2",
      "capacities-docs-18",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-sdks",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Capacities exposes a documented REST API with a verified live OpenAPI 3.1 spec and Bearer/OAuth authentication, plus an official hosted MCP server with live OAuth-gated endpoints — solid ground for building integrations. However, no dedicated client SDKs (e.g. Python/JS libraries) are evidenced, only the raw REST API and MCP protocol spec. Missing for 10: language-specific official SDK packages, code samples/quickstarts beyond raw API docs.",
    "evidenceIds": [
      "capacities-docs-33",
      "capacities-docs-2",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2",
      "capacities-probe-3",
      "capacities-docs-17"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence shows Capacities has a REST API and MCP server for pull-based access, but no documentation or probe indicates any webhook subscription mechanism for event notifications.",
    "evidenceIds": []
  },
  {
    "productId": "capacities",
    "storyId": "ai-plugin-integrations",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Capacities ships first-party AI connectors (Chat Connectors for ChatGPT/Claude/Cursor/Le Chat), a documented and runtime-verified hosted MCP server with OAuth scopes, and a REST API confirmed live via OpenAPI probe, giving multiple first-party paths to connect external LLMs/tools to notes. Missing for 10: independent hands-on user reports specifically testing these connectors/MCP server in practice, and evidence of a broader third-party plugin ecosystem beyond the officially listed chat apps.",
    "evidenceIds": [
      "capacities-docs-3",
      "capacities-docs-17",
      "capacities-probe-3",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2",
      "capacities-docs-33"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence confirms a REST API and a machine-readable OpenAPI 3.1 spec exist, but there is no sign of an interactive reference (e.g., Swagger/Redoc UI, try-it-now console, runnable code snippets) — docs are plain markdown reference pages and the openapi.json is only a raw spec file, not an interactive explorer.",
    "evidenceIds": [
      "capacities-docs-33",
      "capacities-probe-2",
      "capacities-probe-rt-1"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "api-machine-spec",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "A live runtime probe confirms Capacities serves a genuine machine-readable OpenAPI 3.1.0 spec at https://api.capacities.io/openapi.json, paired with a working bearer-gated REST API, directly satisfying the story; the docs also describe the REST API and Bearer auth. missing for 10: an explicit documentation page linking to/download-able copy of the spec (the docs subdomain's openapi.json paths 404) and independent/community confirmation of the spec's existence.",
    "evidenceIds": [
      "capacities-probe-rt-1",
      "capacities-docs-33",
      "capacities-docs-18",
      "capacities-probe-2"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Capacities' docs describe a production REST API and MCP server with bearer/OAuth auth, but there is no mention of a sandbox, staging, or test space that lets an AI-native developer experiment without touching real production data. Missing for 10: any documented sandbox/staging environment, test API keys, or a dedicated test space feature.",
    "evidenceIds": [
      "capacities-docs-33",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence confirms Capacities ships a REST API and MCP server, but nothing documents API version numbers, a versioning scheme, or a deprecation policy — the OpenAPI spec is even labeled 'Beta' with no stability guarantees mentioned.",
    "evidenceIds": [
      "capacities-docs-33",
      "capacities-probe-rt-1"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "automation-bulk-operations",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence shows a REST API and MCP server for programmatic access, plus scheduled full exports and selective exports, but nothing documents a bulk/batch operation capability (e.g., batch API endpoints, multi-select bulk edit/tag/delete across many items) that an AI agent could invoke at scale.",
    "evidenceIds": [
      "capacities-docs-33",
      "capacities-docs-11",
      "capacities-docs-25",
      "capacities-probe-rt-1"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "automation-rules-engine",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Capacities offers an API, MCP server, and AI assistant features, but no evidence of a rules/trigger engine (event-based automation like 'when X happens, do Y') exists in the docs pack—only manual actions, scheduled exports, and AI-assisted fill-in features are documented.",
    "evidenceIds": []
  },
  {
    "productId": "capacities",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any scheduling, cron-style triggers, or recurring workflow/automation capability aside from a manual 'automated full export' schedule which is not a general job/workflow scheduler; the API, MCP server, and AI features shown are all synchronous/manual, not recurring triggers for workflows.",
    "evidenceIds": [
      "capacities-docs-11",
      "capacities-docs-33",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Capacities documents templates, an API, and an MCP server for integrations, but nothing in the evidence describes an automation-building feature (workflows/triggers/actions) let alone version history, review, or rollback for such automations.",
    "evidenceIds": [
      "capacities-docs-9",
      "capacities-docs-33",
      "capacities-probe-rt-2"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "bidirectional-links",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Docs confirm backlinks are grouped in a dedicated 'Backlinks' section on each object and graph view shows links between notes, and daily notes show 'mentions of the day in your writing,' but there is no explicit mention of [[wiki-style]] link syntax or a general unlinked-mention detection feature across regular notes (only for daily notes). missing for 10: explicit [[wiki-link]] syntax documentation, a general unlinked-mentions panel for all object types, and independent/hands-on confirmation of in-context backlink previews.",
    "evidenceIds": [
      "capacities-docs-5",
      "capacities-docs-7",
      "capacities-docs-8",
      "capacities-docs-20",
      "capacities-docs-21"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "block-references-embeds",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Capacities explicitly supports block-based linking/embedding (block references) where an embedded block is identical to the original and edits propagate everywhere it's used, plus backlinks and graph view to surface these connections — directly matching the transclusion-stays-in-sync story. Missing for 10: independent hands-on verification of sync behavior across notes and any documented limits (e.g., section-level vs single-block granularity).",
    "evidenceIds": [
      "capacities-docs-6",
      "capacities-docs-19",
      "capacities-docs-30",
      "capacities-docs-5",
      "capacities-docs-20"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "builtin-ai-assistant",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Docs confirm a built-in AI Chat that can be grounded on selected notes/blocks as context (capacities-docs-23), AI property auto-fill and image analysis (capacities-docs-24, docs-36), and explicit opt-in/data-sharing controls for AI features (capacities-docs-16). This covers Q&A and grounding-with-control well, but explicit 'summarize' and 'draft' capabilities aren't directly documented, only implied via chat/context features. missing for 10: explicit documentation of summarization/drafting workflows, independent/hands-on user validation of AI answer quality or grounding accuracy.",
    "evidenceIds": [
      "capacities-docs-23",
      "capacities-docs-16",
      "capacities-docs-24",
      "capacities-docs-36"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "community-plugin-ecosystem",
    "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": "capacities",
    "storyId": "daily-notes-journal",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Capacities docs confirm a native daily-note concept uniquely linked to each day for quick capture (capacities-docs-21) and a general templates feature that can pre-fill properties and blocks in objects (capacities-docs-9), and daily notes surface backlinked references automatically (capacities-docs-8). However, the docs never explicitly confirm that a template is auto-applied to the daily note by default or that the daily note is the default landing page/capture surface on app open. Missing for 10: explicit documentation of template-to-daily-note binding, and confirmation that the daily note is the default landing view.",
    "evidenceIds": [
      "capacities-docs-21",
      "capacities-docs-9",
      "capacities-docs-8"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "e2ee-sync-devices",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "There is evidence of offline-first sync ('changes get synchronized as soon as you're back online') but no mention anywhere of end-to-end encryption of sync data or a vendor-can't-read architecture; encryption claims are absent from docs, pricing, or community sources.",
    "evidenceIds": [
      "capacities-docs-13",
      "capacities-docs-37"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "full-export-portability",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Capacities documents a native Full Export feature (Settings > Full Export) that can be run on demand or scheduled automatically, exporting content as Markdown with properties as front matter and collections as CSV files explicitly 'to reuse your content in other apps or work with it programmatically' — both open, portable formats satisfying a switcher's exit needs. Missing for 10: independent/hands-on verification of export completeness (media, attachments, block-references, backlinks fidelity) and confirmation this covers the entire space rather than only selected content in the documented flows.",
    "evidenceIds": [
      "capacities-docs-11",
      "capacities-docs-31",
      "capacities-docs-25",
      "capacities-docs-34"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "full-text-search-filters",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Docs confirm full-text search that works offline and tolerates inexact wording (capacities-docs-10, capacities-docs-22, capacities-docs-13, capacities-docs-37), and object types/tags/properties exist as structural concepts (capacities-docs-26, capacities-docs-35). However, no evidence documents explicit search filters/query syntax for tags, properties, or paths specifically. Missing for 10: documented filter syntax or UI for narrowing search by tag/property/path, independent hands-on confirmation of filtered search results.",
    "evidenceIds": [
      "capacities-docs-10",
      "capacities-docs-22",
      "capacities-docs-13",
      "capacities-docs-37",
      "capacities-docs-26"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "graph-view-navigation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Capacities has a documented Graph View that visualizes an object's links as a network showing the 'local neighbourhood' around the open note, which supports interactive graph exploration of the knowledge base. However, the evidence never describes any filtering mechanism (by tag, type, date, or search term) within the graph view itself, so the 'filtered to what I care about' part of the story is unevidenced. missing for 10: documented graph filtering/faceting by object type, tag, or search query, and any independent hands-on account of using filters in graph view.",
    "evidenceIds": [
      "capacities-docs-7",
      "capacities-docs-20",
      "capacities-docs-5",
      "capacities-docs-19"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "import-from-other-tools",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Docs provide a detailed Notion-to-Capacities migration guide (curate structure, export as Markdown+CSV, define object types before import) which covers the Notion import path, but there is no evidence at all for importing from Evernote or Roam, and no confirmation that links/attachments are preserved on import (the export docs describe front matter/CSV output going out of Capacities, not import fidelity). missing for 10: Evernote import support, Roam import support, plain Markdown import instructions, explicit evidence that internal links/backlinks and attachments survive the import process, independent/hands-on reports confirming fidelity.",
    "evidenceIds": [
      "capacities-docs-14",
      "capacities-docs-25",
      "capacities-docs-29",
      "capacities-docs-34",
      "capacities-docs-31"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "local-first-own-files",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Capacities documents offline-first behavior (work offline, sync when back online, offline search) and a full/scheduled export to Markdown+CSV/front-matter that is 'easy to reuse... work with programmatically,' giving some data ownership. However, there is no evidence the primary store is plain local files usable without the app day-to-day — the live working format is the app's own sync/cloud store, and export is a periodic snapshot rather than the native storage format. Missing for 10: evidence of a genuine local-first primary file format (e.g. markdown files on disk that the app just syncs), and confirmation that full functionality (not just search) works offline without any cloud dependency.",
    "evidenceIds": [
      "capacities-docs-13",
      "capacities-docs-37",
      "capacities-docs-22",
      "capacities-docs-11",
      "capacities-docs-31",
      "capacities-docs-25",
      "capacities-docs-34"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "mobile-apps-parity",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The only description of the mobile app in the evidence pack is Capacities' own docs stating it is 'a companion to desktop for day-to-day work... search and capture on the go' — this explicitly frames mobile as a stripped-down companion, not a full-featured app with linking/graph/backlinks parity, and no evidence shows block-based linking, graph view, or full object-type editing on iOS/Android. missing for 10: any documentation or reports of full linking/graph/template features on mobile, evidence that mobile isn't limited to search+capture, independent hands-on confirmation of mobile feature parity.",
    "evidenceIds": [
      "capacities-docs-12"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "note-templates",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Capacities docs confirm a template system that lets you prefill properties and blocks of an object type, which supports reusable templates for recurring note kinds (e.g., Meetings, Projects) as suggested by the object-type-first workflow. However, no evidence describes dynamic variable insertion (e.g., auto-filled current date or title placeholders) within templates. Missing for 10: explicit documentation of variable/placeholder support (date, title, etc.) in templates and independent hands-on confirmation of this behavior.",
    "evidenceIds": [
      "capacities-docs-9",
      "capacities-docs-26",
      "capacities-docs-29"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "open-format-longevity",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Capacities documents a full, schedulable export to Markdown (with front matter) plus CSV for collections, explicitly stated to make content reusable in other apps or programmatically ('capacities-docs-11','capacities-docs-31'), alongside a REST API for direct data access ('capacities-docs-33'). This gives researchers a genuine open-format escape hatch beyond vendor lock-in. Missing for 10: independent/hands-on verification of export completeness and fidelity (e.g., whether all object types and block-links survive the export), and confirmation that the 'Full Export' truly captures the entire space rather than only selected/migration content.",
    "evidenceIds": [
      "capacities-docs-11",
      "capacities-docs-31",
      "capacities-docs-33",
      "capacities-docs-25",
      "capacities-docs-14"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Capacities ships a documented REST API (with a live OpenAPI spec) and an official hosted MCP server with both read and write scopes, letting programmatic clients create/manipulate content and integrate agents — a real API-driven workflow, not just a UI. However, no evidence shows the API/MCP exposes UI-only features like AI property auto-fill, AI image analysis, chat connectors, graph view, or templates, so full UI-API parity is not demonstrated. Missing for 10: confirmation that AI assistant features, graph view, templates, and chat connector functionality are all reachable via API/MCP, and independent hands-on verification of API completeness.",
    "evidenceIds": [
      "capacities-docs-33",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2",
      "capacities-docs-17"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "openness-full-export",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Capacities offers full/selective export to open Markdown+CSV formats (front matter, CSV collections) explicitly designed for reuse in other apps or programmatic work, plus scheduled automated full exports, giving users a genuine 'export and leave' path. missing for 10: no independent/hands-on verification that exported data is fully lossless (e.g., all block references, embeds, graph links preserved) and no evidence of bulk data deletion/account closure workflow alongside export.",
    "evidenceIds": [
      "capacities-docs-11",
      "capacities-docs-31",
      "capacities-docs-34",
      "capacities-docs-25"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of Capacities' source code being open-licensed or publicly available; it is a closed, proprietary SaaS/app with a documented API and MCP server, but no open-source repository or license is mentioned anywhere in the evidence.",
    "evidenceIds": []
  },
  {
    "productId": "capacities",
    "storyId": "openness-self-host",
    "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": "capacities",
    "storyId": "plugin-developer-api",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Capacities exposes a documented REST API (with OpenAPI spec, verified live) and an MCP integration standard for building external agents/bots/clients, which covers part of the 'extend Capacities programmatically' story, but there is no evidence of a true in-app plugin architecture/SDK, plugin samples, or a plugin marketplace — the docs describe API/MCP client integration rather than installable plugins running inside the product. missing for 10: dedicated plugin SDK/framework, code samples for building in-app plugins, plugin distribution/marketplace docs.",
    "evidenceIds": [
      "capacities-docs-33",
      "capacities-docs-1",
      "capacities-docs-17",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2",
      "capacities-probe-3"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence anywhere in the pack mentions data residency, region selection, or where user data is physically stored; docs cover offline-first sync and AI opt-in privacy but never data location choice. Missing for 10: any documentation of region/residency selection, server location options, or data hosting jurisdiction controls.",
    "evidenceIds": [
      "capacities-docs-13",
      "capacities-docs-16"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "privacy-no-training",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Capacities explicitly documents that AI features are opt-in and that no data is shared with third-party AI services unless a user activates AI features, directly addressing the training-data-prevention story. missing for 10: no independent/third-party audit or hands-on verification of the no-training-data claim beyond vendor documentation.",
    "evidenceIds": [
      "capacities-docs-16"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Evidence covers AI opt-in privacy (docs-16), offline/export features, and API auth, but there is no documentation of data retention policies, deletion controls, or account/data-deletion mechanisms specific to AI usage.",
    "evidenceIds": [
      "capacities-docs-16",
      "capacities-docs-11",
      "capacities-docs-31"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "privacy-telemetry-optout",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Capacities docs state that AI features are fully opt-in and no space data is shared with third-party AI services unless activated, which gives users control over AI-related data sharing, but there is no evidence of a general telemetry/usage-analytics opt-out setting for the app itself. Missing for 10: explicit documentation of a general telemetry/analytics opt-out toggle, independent confirmation that the app collects no usage data when opted out.",
    "evidenceIds": [
      "capacities-docs-16"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "publish-notes-website",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any public-publishing or website/digital-garden export feature; Capacities offers only view-only sharing access, local export to Markdown/CSV, and APIs/MCP for integrations, none of which produce a browsable public website with working links.",
    "evidenceIds": [
      "capacities-docs-28",
      "capacities-docs-31",
      "capacities-docs-11"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "rich-markdown-editing",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack covers linking, templates, object types, and AI features but never documents core editor formatting elements (headings, callouts, tables, code blocks) or keyboard-driven editing speed/shortcuts, so this applicable power-user capability has no supporting evidence.",
    "evidenceIds": []
  },
  {
    "productId": "capacities",
    "storyId": "self-host-local-only",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Capacities is offline-first (local caching with sync) but all evidence shows sync and API/MCP endpoints run through the vendor's own cloud (api.capacities.io); there is no documented self-hosted sync backend or fully local-only mode without vendor infrastructure. Missing for 10: any option to self-host sync server, any documented local-only deployment mode, independent confirmation of running without vendor cloud.",
    "evidenceIds": [
      "capacities-docs-13",
      "capacities-docs-37",
      "capacities-probe-rt-1",
      "capacities-probe-rt-2"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "shared-space-collaboration",
    "verdict": "partial",
    "quality": 3,
    "confidence": "medium",
    "rationale": "The only sharing capability documented is view-only access to notes for others (capacities-docs-28), not true multi-user collaborative editing or conflict-free simultaneous editing of a shared vault/space. There is no evidence of real-time co-editing, presence indicators, or conflict resolution mechanisms that would let collaborators edit together without stepping on each other's changes. Missing for 10: real-time collaborative editing support, multi-editor conflict resolution, shared-space edit permissions beyond view-only, and any community/hands-on corroboration of team editing.",
    "evidenceIds": [
      "capacities-docs-28"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "structured-queries-views",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Capacities clearly supports structured object types with custom properties (docs-26, docs-29, docs-35) and lists 'Smart queries' as a paid feature (docs-27), implying some query capability over properties, but there is no documentation describing table/board/list view rendering, filtering/sorting UI, or database-style views comparable to Notion databases. missing for 10: explicit documentation of query views (table/board/list), filter/sort UI, examples of rendering query results as live views.",
    "evidenceIds": [
      "capacities-docs-27",
      "capacities-docs-26",
      "capacities-docs-29",
      "capacities-docs-35"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "tags-properties-metadata",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Capacities is explicitly object-type-first, letting users define custom object types with typed properties (front-matter on export) and tags, with AI auto-fill for properties, and search/graph/backlinks for retrieval; a HN commenter corroborates that all content becomes taggable, reusable entities in a network of notes. missing for 10: independent hands-on validation of complex multi-property queries/filtering at scale and more detailed docs on tag hierarchies or property types beyond basic examples.",
    "evidenceIds": [
      "capacities-docs-26",
      "capacities-docs-29",
      "capacities-docs-35",
      "capacities-docs-4",
      "capacities-docs-36",
      "capacities-docs-31",
      "capacities-docs-10",
      "capacities-docs-22",
      "capacities-comm-2"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "uri-deep-link-automation",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Capacities exposes a documented REST API (Bearer-auth, OpenAPI spec verified live) that lets developers create and manipulate content programmatically, which satisfies the 'local endpoint' part of the story for scripting/automation. However, there is no evidence of a URI scheme or deep-link mechanism for opening/creating notes from other apps, only a hosted (not local) API and MCP server. Missing for 10: documented URI scheme or deep-link support, evidence of a local (non-cloud) endpoint, and independent confirmation of scripting workflows beyond the API docs.",
    "evidenceIds": [
      "capacities-docs-33",
      "capacities-docs-18",
      "capacities-docs-2",
      "capacities-probe-rt-1"
    ]
  },
  {
    "productId": "capacities",
    "storyId": "version-history-recovery",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence anywhere in the pack of a version history feature or a way to recover deleted notes; documentation covers export, offline sync, linking, AI, and API but never mentions version history or trash/recovery.",
    "evidenceIds": []
  },
  {
    "productId": "capacities",
    "storyId": "web-clip-capture",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence pack item mentions a browser extension, web clipper, or article/highlight capture flow for Capacities; the closest features are generic content-type ingestion and a mobile app for 'capture on the go', not a browser clipper. This is a reasonable axis for a note-taking/knowledge-base app (competitors ship clippers), so absence of evidence means 'none' rather than 'na'.",
    "evidenceIds": [
      "capacities-docs-12",
      "capacities-docs-15",
      "capacities-docs-26"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agent-reads-writes-notes",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Logseq documents a local HTTP APIs server explicitly built 'to support external access to the database through authorization,' which would let an agent read/write notes headlessly, plus a plugin API and logseq:// protocol for third-party invocation. However, a hands-on community report directly contradicts this working capability, stating 'Not being able to use Claude or codex anymore to write or update pages is a real deal breaker for me' — indicating the API-based read/write access broke (likely in the newer DB version). Missing for 10: confirmation the HTTP API still supports write access post-DB-migration, an official MCP server, and independent corroboration that agent read/write works reliably today.",
    "evidenceIds": [
      "logseq-docs-6",
      "logseq-docs-13",
      "logseq-docs-21",
      "logseq-docs-22",
      "logseq-comm-11"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-agent-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "There is no llms.txt file (probe returned 404) and no evidence of agent-oriented docs formatted for LLM consumption; the docs are standard human-facing markdown/wiki pages.",
    "evidenceIds": [
      "logseq-probe-1",
      "logseq-probe-2"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-ai-insights",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Logseq's docs describe queries, plugins, journaling, sync, and export, but nowhere document a native AI-generated insights or suggestion feature. The only AI-adjacent mention is a community complaint that a user could no longer use Claude/codex to write/update pages, which points to third-party integration loss, not a first-party AI feature.",
    "evidenceIds": [
      "logseq-comm-11",
      "logseq-docs-4",
      "logseq-docs-19"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-autonomous-automation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Logseq has a plugin system, local HTTP API, and a custom URL protocol for third-party integration, but nothing describes autonomous, unattended background automations (e.g., schedulers, triggers, agent workflows) running without user action.",
    "evidenceIds": [
      "logseq-docs-5",
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-docs-22"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-builtin-assistant",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the docs or community pack of a built-in AI assistant inside Logseq; only third-party plugins, HTTP API, and protocol integrations exist, and one community comment references using external tools like Claude/Codex to edit pages, not a native assistant.",
    "evidenceIds": [
      "logseq-docs-5",
      "logseq-docs-6",
      "logseq-comm-11"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-headless",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Logseq is a desktop/mobile Electron app with a local HTTP API and plugin system, but nothing in the evidence describes a headless mode, CLI, or CI-runnable binary for automation — the HTTP API requires the desktop app to be running interactively. Missing for 10: any documented headless/CLI mode, CI examples, or automation-oriented server mode.",
    "evidenceIds": [
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-docs-23"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Logseq documents a plugin system, HTTP API, and URL protocol for third-party integration, but nothing in the evidence pack mentions MCP servers or any mechanism for Logseq to consume MCP tools. Community comments even lament that AI tools like Claude/Codex can't be used to update pages, reinforcing the absence of MCP support.",
    "evidenceIds": [
      "logseq-docs-5",
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-comm-11"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-mcp-server",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Logseq documents a local HTTP API and a plugin ecosystem for third-party integrations, but there is no mention anywhere in the evidence of an official Model Context Protocol (MCP) server or endpoint. Since Logseq is a knowledge-base platform (not itself an AI agent), shipping an official MCP server is a fair axis to ask about, but no such capability is evidenced.",
    "evidenceIds": [
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-docs-5"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-nl-commands",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence of a native natural-language command interface, chat-based control, or AI assistant in Logseq's docs; the product is described as a block/outline-based knowledge base with query syntax and plugin APIs, not NL commands. One community comment (logseq-comm-11) references losing the ability to use Claude/Codex to edit pages, implying such capability existed only via third-party plugin integration, not a first-party feature, and it's now broken in the new DB version.",
    "evidenceIds": [
      "logseq-comm-11",
      "logseq-docs-5",
      "logseq-docs-19"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of an official Logseq CLI; the product exposes a local HTTP API, a URL protocol scheme, and plugins, but nothing about a command-line interface for AI-native automation. Missing for 10: any mention of an official CLI tool, its command set, or installation/usage docs.",
    "evidenceIds": []
  },
  {
    "productId": "logseq",
    "storyId": "agentic-public-api",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Logseq documents a local HTTP APIs server explicitly for 'external access to the database through authorization' and a separate community-maintained plugin API reference, plus a logseq:// protocol for third-party invocation — all documented, public interfaces for programmatic control. However, there's no formal machine-readable spec (probes show 404s for openapi.json/llms.txt) and a community report explicitly states losing the ability to use Claude/codex to write/update pages after a version change, indicating real-world friction for AI-driven API use. Missing for 10: a formal OpenAPI/machine spec, first-party confirmation of AI-agent compatibility, and independent corroboration that the HTTP API reliably supports agentic write workflows.",
    "evidenceIds": [
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-docs-12",
      "logseq-docs-22",
      "logseq-probe-1",
      "logseq-probe-2",
      "logseq-comm-11"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Logseq's local HTTP API server requires a single authorization token for full graph access, but there is no evidence of scoped or least-privilege credential issuance (e.g., read-only vs write, per-agent scopes, or permission granularity) for AI agents.",
    "evidenceIds": [
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-docs-13"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-sdks",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Logseq exposes a genuine plugin API/SDK (marketplace with hundreds of packages, load-unpacked plugin support) plus a local HTTP APIs server and a logseq:// URL protocol for third-party integration, giving AI-native builders real programmatic surfaces. However, the plugin API documentation is explicitly community-driven rather than official, and probes found no OpenAPI/machine-readable spec or llms.txt for these APIs. Missing for 10: official (not community-maintained) SDK documentation, an OpenAPI/schema spec, and evidence of first-party AI-agent integration guidance.",
    "evidenceIds": [
      "logseq-docs-5",
      "logseq-docs-6",
      "logseq-docs-12",
      "logseq-docs-21",
      "logseq-docs-22",
      "logseq-probe-rt-1",
      "logseq-probe-1",
      "logseq-probe-2"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Logseq offers a local HTTP API and a plugin system, but the evidence pack shows no webhook subscription mechanism (outbound event notifications) — only a local HTTP server for pull-based access and a custom URI protocol for inbound invocation. No documentation or community evidence describes subscribing to events via webhooks.",
    "evidenceIds": []
  },
  {
    "productId": "logseq",
    "storyId": "ai-plugin-integrations",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Logseq has no documented first-party AI/LLM connector, but its open plugin marketplace (617 registered packages), local HTTP API for external graph access, and logseq:// protocol for third-party app integration provide an ecosystem pathway for AI plugins/tools to connect to notes. Community evidence confirms some users did integrate LLMs like Claude/codex to write/update pages, but also that this broke in the newer DB version, showing fragility rather than a robust first-party AI integration story. Missing for 10: an official AI/LLM connector or documented AI plugin category, first-party docs mentioning LLM integration, and confirmation that AI plugin workflows are stable across versions.",
    "evidenceIds": [
      "logseq-docs-5",
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-docs-22",
      "logseq-probe-rt-1",
      "logseq-comm-11"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "There is a plugin API doc site and a local HTTP API, but no evidence of an interactive API reference with runnable examples; probes explicitly show no OpenAPI/swagger spec and no llms.txt found at the plugin docs site.",
    "evidenceIds": [
      "logseq-docs-12",
      "logseq-docs-6",
      "logseq-probe-1",
      "logseq-probe-2"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Logseq documents a local HTTP API server and a plugin API, but there is no evidence of a downloadable machine-readable spec (OpenAPI/Swagger) for either; explicit probes for openapi.json/swagger.json at the plugin docs site returned 404s.",
    "evidenceIds": [
      "logseq-docs-6",
      "logseq-docs-12",
      "logseq-probe-1",
      "logseq-probe-2"
    ]
  },
  {
    "productId": "logseq",
    "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": "logseq",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Logseq documents a local HTTP API and a plugin API, but there is no evidence of API versioning or a documented deprecation policy anywhere in the docs; probes for openapi/llms.txt specs return 404s, and community comments (e.g., DB-version migration breaking AI tool integrations) suggest breaking changes without clear versioning guarantees.",
    "evidenceIds": [
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-probe-1",
      "logseq-probe-2",
      "logseq-comm-11"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Logseq exposes a local HTTP API and plugin system that could be used to script bulk edits across many blocks/pages, and its query language ({{query}}) can surface many items at once, but there is no documented native bulk-operation feature (e.g., mass rename, bulk tag, batch move) demonstrated in the evidence pack. missing for 10: explicit bulk-edit/bulk-update API or UI feature, evidence of an AI agent actually performing bulk operations via the HTTP API, independent hands-on confirmation of scale.",
    "evidenceIds": [
      "logseq-docs-4",
      "logseq-docs-16",
      "logseq-docs-19",
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-docs-12"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "automation-rules-engine",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Logseq's docs describe journaling, queries, plugins, HTTP APIs, and protocol handlers, but nowhere document a rules/trigger system where user-defined events automatically fire actions (e.g., 'when block tagged X, do Y'). The plugin API and marketplace could theoretically enable such automation, but no evidence shows a first-party or documented feature for event-triggered rules.",
    "evidenceIds": [
      "logseq-docs-5",
      "logseq-docs-12",
      "logseq-docs-22"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any scheduling, cron-like, or recurring workflow/automation capability in Logseq's docs or community discussion; the docs cover journaling, queries, plugins, HTTP API, and sync but nothing about triggering recurring jobs or automated workflows.",
    "evidenceIds": []
  },
  {
    "productId": "logseq",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Logseq's evidence covers notes, queries, plugins, HTTP API, and sync, but there is no mention of any 'automation' construct (workflows, macros, agent actions) that could be versioned, reviewed, or rolled back — plugins are installed/updated/removed, not versioned as automations, and markdown files aren't presented as an automation history mechanism.",
    "evidenceIds": [
      "logseq-docs-5",
      "logseq-docs-15",
      "logseq-docs-20",
      "logseq-docs-26"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "bidirectional-links",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Docs confirm core wiki-linking mechanics ([[ ]] page references, (( )) block references, journals as the default landing page) and queries for surfacing related content, which underpins backlinking functionality core to Logseq's outliner design. However, the evidence pack never explicitly documents a dedicated 'Linked References' or 'unlinked references' UI panel showing backlinks-in-context, which is a well-known Logseq feature but unevidenced here; community notes instead focus on performance/sync issues rather than confirming backlink display quality. Missing for 10: explicit docs/evidence on the Linked References and Unlinked References panels, independent hands-on confirmation of backlink context display working well at scale.",
    "evidenceIds": [
      "logseq-docs-3",
      "logseq-docs-4",
      "logseq-docs-16",
      "logseq-docs-19",
      "logseq-docs-24",
      "logseq-comm-6"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "block-references-embeds",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Logseq's block reference syntax `(())` embeds/transcludes an individual block from any page into another, and page references `[[]]` do the same at page level; since Logseq's block-based architecture keeps a single canonical block that references simply render/link to, edits propagate automatically, keeping transclusions in sync. Docs explicitly describe both block and page referencing as core features. Missing for 10: no explicit doc quote confirming live-sync behavior on edit (implied by architecture, not directly demonstrated) and no independent hands-on confirmation of transclusion sync specifically.",
    "evidenceIds": [
      "logseq-docs-3",
      "logseq-docs-18"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "builtin-ai-assistant",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Logseq's own docs describe journals, queries, plugins, HTTP API, and sync, but there is no evidence of a built-in first-party AI assistant that answers/summarizes/drafts grounded in notes with data-visibility controls. A community comment even references losing the ability to use Claude/Codex on notes after a version change, implying any AI usage was via external plugins/tools rather than a native assistant.",
    "evidenceIds": [
      "logseq-comm-11",
      "logseq-docs-5",
      "logseq-docs-6"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "community-plugin-ecosystem",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Logseq ships an in-app Marketplace dashboard to search/install/update/remove third-party plugins, plus a documented plugin API and community docs site, and a runtime probe confirms 617 published plugin packages in the official registry. Community commentary notes Logseq's ecosystem is smaller/less mature than Obsidian's, but doesn't dispute that a working plugin catalog exists. Missing for 10: independent hands-on account of browsing/installing a plugin, and quantification of catalog quality/curation vs. just count.",
    "evidenceIds": [
      "logseq-docs-5",
      "logseq-docs-15",
      "logseq-docs-20",
      "logseq-docs-25",
      "logseq-docs-26",
      "logseq-docs-12",
      "logseq-probe-rt-1",
      "logseq-comm-9"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "daily-notes-journal",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Docs confirm Logseq opens to the Journals page every time you launch it ([logseq-docs-24]), that a new dated journal page is auto-created daily at midnight ([logseq-docs-2]), and that this page serves as the equivalent of a daily-notes capture landing page ([logseq-docs-1]). Missing for 10: explicit documentation of a customizable 'journal template' pre-fill mechanism and independent/hands-on confirmation that templates apply automatically to new daily notes.",
    "evidenceIds": [
      "logseq-docs-24",
      "logseq-docs-2",
      "logseq-docs-1"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "e2ee-sync-devices",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Docs confirm an official Logseq Sync service across Desktop/Android/iOS with explicit end-to-end encryption ('Yes, your graph is end-to-end encrypted'), fitting the story's claim. However, community reports directly contradict reliable delivery: one user in 2022 found the paid sync beta 'has enough bugs that I wouldn't rely on it yet,' and another in 2025 stated 'early attempts at syncing didn't work well... I paid to support the sync effort but we saw nothing for years,' indicating the sync feature has a documented history of not working as promised despite payment. Missing for 10: independent verification that sync is now stable/production-ready, technical detail on the E2EE key model, and resolution of the multi-year reliability complaints.",
    "evidenceIds": [
      "logseq-docs-10",
      "logseq-docs-28",
      "logseq-comm-2",
      "logseq-comm-8",
      "logseq-comm-10"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "full-export-portability",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Logseq documents a genuine multi-format Export feature (Markdown, HTML, OPML, JSON, EDN, PNG) and historically stores data as local plain Markdown files, supporting easy exit at any time [logseq-docs-8]. However, hands-on community reports contradict the 'open, portable' framing: exported Markdown adds non-standard formatting that breaks compatibility with other Markdown apps like Obsidian [logseq-comm-19], and the newer Logseq DB version reportedly moves away from storing everything as plain markdown files, alarming users who relied on that for portability [logseq-comm-14, logseq-comm-9]. Missing for 10: independent verification that exports are lossless/round-trippable, clarity on whether DB-version graphs can still export to plain markdown, and confirmation the export covers all data (assets, whiteboards, plugins config).",
    "evidenceIds": [
      "logseq-docs-8",
      "logseq-comm-19",
      "logseq-comm-14",
      "logseq-comm-9"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "full-text-search-filters",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Logseq's docs describe a query system ({{query}}) for searching the knowledge base and page/block references and tags for organization (logseq-docs-4, -16, -19, -3), and it markets itself as privacy-first/local/offline (logseq-docs-23). However, hands-on community reports directly contradict the 'instant' part of the story: users report that 'indexing and general responsiveness slows down massively once you have a few million words stored' and describe persistent lag navigating pages even after months of daily use (logseq-comm-5, logseq-comm-6). Missing for 10: explicit documentation of a dedicated full-text search UI with tag/property/path filters (only generic query syntax is shown), and no independent benchmark confirming fast search at scale to offset the reported slowdowns.",
    "evidenceIds": [
      "logseq-docs-4",
      "logseq-docs-16",
      "logseq-docs-19",
      "logseq-docs-3",
      "logseq-docs-23",
      "logseq-comm-5",
      "logseq-comm-6"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "graph-view-navigation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Logseq's documented linking primitives — page/block references ([[ ]], (( ))) and simple queries ({{query}}) — provide the backbone for connecting and filtering notes, and the Whiteboard feature offers a spatial canvas with connectors for arranging knowledge visually, but no evidence explicitly documents a dedicated interactive 'graph view' with node-link visualization or filtering controls. Community reports also note serious performance degradation ('indexing and general responsiveness slows down massively once you have a few million words') which would hamper exploring a large graph. missing for 10: explicit documentation of the graph-view visualization UI and its filtering options, and independent confirmation that graph exploration performs well at scale.",
    "evidenceIds": [
      "logseq-docs-3",
      "logseq-docs-4",
      "logseq-docs-16",
      "logseq-docs-19",
      "logseq-docs-9",
      "logseq-comm-6"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "import-from-other-tools",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack documents Logseq's export formats and journal/page structure comparisons to Roam, but contains no mention of an import feature for Notion, Evernote, Roam exports, or Markdown migration with links/attachments preserved. Community comments mention switching from Roam via GitHub sync, not a structured import tool. Since import tooling is a plausible feature for a PKM app, absence of evidence means 'none' rather than 'na'.",
    "evidenceIds": [
      "logseq-docs-8",
      "logseq-docs-1",
      "logseq-comm-1"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "local-first-own-files",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Logseq's classic (file) mode stores notes as plain Markdown on local disk, exports to multiple open formats, and only publishes pages explicitly (docs-8, docs-7, docs-23), supporting the 'own your files, work offline' story; community users confirm they read/back up the raw Markdown files themselves (comm-1, comm-19, comm-7). However, the newer DB-based version raises real doubts: a user explicitly states 'I can no longer keep all my data as markdown files' with the new format (comm-14), and others cite years of stagnation, sync bugs, and performance/data-loss concerns (comm-3, comm-5, comm-6, comm-8) that undercut confidence in durable, app-independent local ownership going forward. missing for 10: clear first-party confirmation that the DB version still exposes plain-text/local files, independent verification of offline reliability at scale, and resolution of the data-loss/performance complaints.",
    "evidenceIds": [
      "logseq-docs-8",
      "logseq-docs-7",
      "logseq-docs-23",
      "logseq-comm-1",
      "logseq-comm-19",
      "logseq-comm-7",
      "logseq-comm-14",
      "logseq-comm-3",
      "logseq-comm-5"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "mobile-apps-parity",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence confirms Logseq has mobile apps (iOS/Android sync up to 10 graphs, end-to-end encrypted) but contains no evidence about the actual feature set of the mobile apps themselves — no mention of whether search, linking, queries, or full editing capabilities are present on mobile versus a stripped-down capture-only experience. Community commentary focuses on desktop performance/sync bugs, not mobile app completeness.",
    "evidenceIds": [
      "logseq-docs-10",
      "logseq-docs-28"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "note-templates",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack contains no documentation or community mentions of Logseq's template feature (e.g. `template::` property, `/template` command, or variable substitution like date/title) — only journals, page/block references, queries, plugins, sync, and publishing are covered. Since template creation is a plausible and well-known capability for a note-taking tool, its complete absence from the evidence means this axis cannot be credited as delivered.",
    "evidenceIds": []
  },
  {
    "productId": "logseq",
    "storyId": "open-format-longevity",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Logseq's docs confirm export to open, documented formats (Markdown, JSON, EDN, OPML) and its journal-based local storage model, supporting archive portability (logseq-docs-8). However, hands-on community reports contradict full open-format durability: users note the generated Markdown isn't standard-compliant/interoperable with other tools due to extra indentation (logseq-comm-19), and the newer DB-based version reportedly abandons plain Markdown as the storage format entirely, forcing users into a proprietary DB structure (logseq-comm-14). Missing for 10: confirmation that the current/default file storage (not just export) remains plain Markdown across versions, and independent verification that exported files are lossless/interoperable.",
    "evidenceIds": [
      "logseq-docs-8",
      "logseq-comm-19",
      "logseq-comm-14"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "openness-api-parity",
    "verdict": "disputed",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Logseq docs describe a local HTTP APIs server for external access to the graph, a community-documented plugin API, and a logseq:// protocol for third-party invocation, suggesting programmatic access beyond the UI (logseq-docs-6, logseq-docs-21, logseq-docs-12, logseq-docs-22). However, there's no documentation showing this API surface covers 'everything' the UI can do (queries, whiteboards, publishing, sync are UI-first features with no documented API equivalents), and a hands-on user reports that after the move to the new DB version, 'Not being able to use Claude or codex anymore to write or update pages is a real deal breaker' — a concrete failure of AI-driven read/write parity (logseq-comm-11). missing for 10: full API coverage of queries/whiteboard/publish/sync, evidence of AI tools reliably reading+writing via API in the current version, independent confirmation the HTTP API matches UI capability breadth.",
    "evidenceIds": [
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-docs-12",
      "logseq-docs-22",
      "logseq-comm-11"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Logseq's docs describe a native local-markdown storage model plus an explicit Export feature covering text, HTML, OPML, PNG, EDN, JSON and standard Markdown, which supports data portability and offline 'leave anytime' use (logseq-docs-8). However, community reports note markdown output isn't cleanly interoperable with other markdown apps due to formatting quirks (logseq-comm-19), and the newer DB-based version is criticized for moving away from plain markdown files as the source of truth, undermining the 'leave in open formats' guarantee for that version (logseq-comm-14). Missing for 10: independent verification that exported formats round-trip cleanly into other tools, and clarity on export fidelity in the new DB architecture.",
    "evidenceIds": [
      "logseq-docs-8",
      "logseq-comm-19",
      "logseq-comm-14"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "openness-open-license",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Logseq is explicitly described as \"open-source\" (logseq-docs-23), and its docs, plugin ecosystem, and marketplace are hosted publicly on GitHub, implying the source is inspectable and openly licensed; community comments corroborate \"local data and source availability are important factors\" (logseq-comm-7). missing for 10: explicit citation of the actual license name/terms (e.g., AGPL) and any independent audit or discussion of license compliance.",
    "evidenceIds": [
      "logseq-docs-23",
      "logseq-comm-7"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "openness-self-host",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Logseq is open-source and stores data locally as markdown files (docs-23), and offers a local HTTP API for accessing your own graph (logseq-docs-6, logseq-docs-21), which supports a 'run entirely on your own machine' notion of self-hosting. However, there is no official self-hosted server/web deployment: a community member explicitly wished they could self-host Logseq as a website with notes on their own server, noting this remains an open, unresolved GitHub feature request among 1.8k open issues (logseq-comm-20), and official Sync is a paid, vendor-hosted cloud service rather than a self-hostable component (logseq-docs-10, logseq-comm-2). Missing for 10: an official self-hosted server/backend deployment option, first-party documentation for hosting the app as a service, and confirmation that the open feature request has been resolved.",
    "evidenceIds": [
      "logseq-docs-23",
      "logseq-docs-6",
      "logseq-docs-21",
      "logseq-comm-20",
      "logseq-docs-10",
      "logseq-comm-2"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "plugin-developer-api",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Logseq has a documented plugin API (plugins-doc.logseq.com, described as community-driven documentation for the SDK) plus in-app tooling for loading unpacked/dev plugins and a marketplace with 617 published packages showing a real developer ecosystem. However, the core API docs are explicitly community-maintained rather than official first-party reference docs with samples, and probes show no llms.txt/openapi spec, suggesting thinner formal SDK documentation than top competitors. Missing for 10: official first-party API reference with code samples/tutorials, and machine-readable API spec (openapi/llms.txt) confirming documented completeness.",
    "evidenceIds": [
      "logseq-docs-5",
      "logseq-docs-12",
      "logseq-docs-25",
      "logseq-probe-rt-1",
      "logseq-probe-1",
      "logseq-probe-2"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "privacy-data-residency",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Logseq stores data as local markdown/EDN files by default, giving users full control over where their data physically resides (their own device, self-hosted git repos, etc.), and its optional Sync service is end-to-end encrypted, which aligns with a privacy-first, local-first posture. However, there is no documented feature letting users select a specific data-center region for the Sync service, and community reports note sync reliability issues and no self-hosting option for a hosted graph. Missing for 10: explicit region/residency selection controls for the cloud Sync product, first-party documentation on where Sync servers are physically located, and confirmation that self-hosting/regional choice is officially supported rather than just achievable via local storage or third-party git.",
    "evidenceIds": [
      "logseq-docs-23",
      "logseq-docs-10",
      "logseq-docs-28",
      "logseq-comm-1",
      "logseq-comm-2",
      "logseq-comm-20"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "privacy-no-training",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Logseq positions itself as a 'privacy-first, open-source knowledge base' with local-first storage and end-to-end encrypted sync, which implies user data isn't funneled to a cloud AI training pipeline by default, but no evidence explicitly states a policy on AI model training use of user data. Missing for 10: explicit statement addressing AI training data usage, any opt-out/consent controls for AI features, and confirmation that plugins or integrations (e.g., Claude/Codex mentioned in community posts) don't send data to third-party AI services.",
    "evidenceIds": [
      "logseq-docs-23",
      "logseq-docs-28",
      "logseq-comm-11"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "privacy-retention-controls",
    "verdict": "partial",
    "quality": 5,
    "confidence": "low",
    "rationale": "Logseq stores graphs as local Markdown files and is marketed as 'privacy-first,' implying users can delete or retain data simply by managing local files, and Export lets users extract data in multiple formats; optional Sync is end-to-end encrypted. However, there is no explicit documentation on deletion mechanics for synced/cloud data, data-retention policies, or how to purge synced copies across devices. Missing for 10: documented data-retention/deletion policy, explicit instructions for deleting synced cloud data, and independent verification that deletion is complete and irreversible.",
    "evidenceIds": [
      "logseq-docs-23",
      "logseq-docs-8",
      "logseq-docs-10",
      "logseq-docs-28"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence describes Logseq as 'privacy-first, open-source' and local-first, implying no telemetry infrastructure exists, but there is no explicit documentation of a telemetry/usage-tracking feature or an opt-out setting for it. Absence of concrete evidence of an actual telemetry toggle means this cannot be confirmed as full/partial delivery. Missing for 10: explicit telemetry/analytics policy documentation, evidence of an opt-out setting or confirmation that no tracking occurs at all.",
    "evidenceIds": [
      "logseq-docs-23"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "publish-notes-website",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Logseq's Publishing docs confirm per-page publish:: true flags to selectively expose notes, and the Publish feature generates a browsable static SPA site with working page/block references intact, matching the digital-garden use case entirely within the app. missing for 10: no independent/hands-on report confirming the exported site's link integrity or ease of workflow, and no detail on hosting/deployment specifics or custom domain support.",
    "evidenceIds": [
      "logseq-docs-7",
      "logseq-docs-14",
      "logseq-docs-3"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "rich-markdown-editing",
    "verdict": "disputed",
    "quality": 4,
    "confidence": "low",
    "rationale": "The evidence pack lacks any first-party documentation specifically describing headings, callouts, tables, code blocks, or media-embedding support, and instead shows only adjacent editor features (page/block references, journals) that imply block-based markdown editing. Concrete hands-on reports contradict the 'fast, keyboard-driven' claim: pasting multi-paragraph text broke formatting into unwanted lists and even crashed on longer pastes, and users report severe UI lag once graphs grow, undermining the 'fast' editing experience for power users. Missing for 10: explicit docs on headings/callouts/tables/code-block syntax, embedded media handling, and independent confirmation that these specific formatting features perform well at scale.",
    "evidenceIds": [
      "logseq-docs-3",
      "logseq-docs-23",
      "logseq-comm-18",
      "logseq-comm-5",
      "logseq-comm-6"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "self-host-local-only",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Logseq stores data as local Markdown/EDN files by default with no cloud requirement, and is documented as 'privacy-first' — users confirm they run it fully local or pair it with self-managed sync like GitHub instead of vendor cloud. The official Logseq Sync exists only as an optional paid vendor-hosted add-on, not a self-hosted backend, and one user explicitly notes there's no built-in way to self-host it as a server despite an open feature request. missing for 10: an officially supported self-hosted sync backend (only vendor-cloud Sync or DIY git workflows exist), and independent verification that local mode has no offline degradation.",
    "evidenceIds": [
      "logseq-docs-23",
      "logseq-docs-10",
      "logseq-docs-28",
      "logseq-comm-1",
      "logseq-comm-7",
      "logseq-comm-20"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "shared-space-collaboration",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Logseq's Sync feature is described as syncing a user's own graphs across their own devices (desktop/Android/iOS), not as multi-user real-time collaborative editing with conflict resolution; community reports describe using GitHub for personal sync/backup and note Logseq's own sync was still buggy/beta, with no evidence of concurrent multi-collaborator editing safeguards.",
    "evidenceIds": [
      "logseq-docs-10",
      "logseq-docs-28",
      "logseq-comm-1",
      "logseq-comm-2",
      "logseq-comm-8"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "structured-queries-views",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Docs confirm a core query feature ({{query}} / /query) for asking questions of the knowledge base, and structured page/block references exist, but the pack never documents property-based structured queries or dynamic table/board/list rendering views (advanced query mode, query views like {{table}}) that power users need. missing for 10: documentation of advanced/structured-property queries, table/board/list view rendering from queries, and any hands-on confirmation of these views working.",
    "evidenceIds": [
      "logseq-docs-4",
      "logseq-docs-16",
      "logseq-docs-19",
      "logseq-docs-18"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "tags-properties-metadata",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Docs confirm block/page tagging (`#Page`) and properties (e.g., `publish:: true`), plus page/block references and query blocks (`{{query}}`) that can retrieve content by tags/properties. However, the evidence pack lacks dedicated documentation on Logseq's typed-property system (property schemas, value types, advanced query filtering by property) and no independent confirmation of consistent power-user workflows using properties for retrieval. Missing for 10: explicit docs on property types/schema, advanced query examples filtering by properties, and hands-on validation of consistent tagging/property retrieval at scale.",
    "evidenceIds": [
      "logseq-docs-3",
      "logseq-docs-4",
      "logseq-docs-7",
      "logseq-docs-16",
      "logseq-docs-18",
      "logseq-docs-19"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "uri-deep-link-automation",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Logseq documents both a URI scheme (logseq://x-callback-url/quickCapture) that can be triggered from browser bookmarks or command line to capture/open notes, and a local HTTP APIs server enabling authorized external programmatic access to the graph — directly matching the story's ask for deep links and a local endpoint for scripting. Missing for 10: independent/hands-on confirmation of the HTTP API's request/response schema or third-party integration examples, and no evidence of a broader public REST API spec (openapi probes returned 404).",
    "evidenceIds": [
      "logseq-docs-6",
      "logseq-docs-11",
      "logseq-docs-17",
      "logseq-docs-21",
      "logseq-docs-22",
      "logseq-docs-27",
      "logseq-probe-2"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "version-history-recovery",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack contains no documentation of a native version-history or restore/undo-delete feature in Logseq; users instead rely on external tools like Git for backup (logseq-comm-1), and there are reports of past data-loss issues (logseq-comm-3), but no built-in mechanism to view or restore prior versions of a note is described.",
    "evidenceIds": [
      "logseq-comm-1",
      "logseq-comm-3"
    ]
  },
  {
    "productId": "logseq",
    "storyId": "web-clip-capture",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Logseq documents a 'Quick capture' feature via the logseq:// protocol that can be added as a browser bookmarklet or invoked from command line, letting users capture short text and links into notes (logseq-docs-11, logseq-docs-17, logseq-docs-27, logseq-docs-22). However, this is a lightweight bookmarklet, not a dedicated official browser-extension web clipper capable of capturing full articles, page content, or highlights as many competing tools offer. Missing for 10: an official browser extension/clipper product, support for capturing full article content or highlighted text with metadata, and any independent/hands-on evidence of researchers using this capture flow for web clipping.",
    "evidenceIds": [
      "logseq-docs-11",
      "logseq-docs-17",
      "logseq-docs-22",
      "logseq-docs-27"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agent-reads-writes-notes",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Obsidian stores notes as plain local Markdown files (obsidian-docs-20, obsidian-docs-23), which lets an agent read/write vault contents directly on disk without touching the GUI — but this is not a documented API or protocol, just an emergent property of the file format. The probe explicitly confirms Obsidian ships no official CLI or vendor MCP server, with MCP servers being community-only projects (obsidian-probe-rt-1), and the only documented headless integration (Obsidian URI, obsidian-docs-8) is for triggering GUI actions, not structured read/write. Missing for 10: an official vendor-documented local API or MCP server, first-party support for programmatic note read/write, and evidence of hands-on agent integration.",
    "evidenceIds": [
      "obsidian-docs-20",
      "obsidian-docs-23",
      "obsidian-docs-8",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-agent-docs",
    "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": "obsidian",
    "storyId": "agentic-ai-insights",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Obsidian's core product has no first-party AI-generated insights or suggestions feature; the only AI capability comes from third-party community plugins (e.g., Text-Generator), and community evidence explicitly notes 'no decent RAG functionality among Obsidian AI plugins,' indicating this is not a native, reliable capability of the product itself.",
    "evidenceIds": [
      "obsidian-comm-7",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-autonomous-automation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack shows Obsidian's plugin architecture, URI protocol for triggering actions, and a large community-plugin ecosystem, but nothing demonstrates autonomous background automation (e.g., scheduled/triggered agent-like workflows running without user interaction). The probe explicitly notes no official CLI or vendor MCP server, and Restricted Mode by default blocks third-party code execution unless manually enabled, further undercutting any 'runs autonomously in background' claim.",
    "evidenceIds": [
      "obsidian-docs-8",
      "obsidian-docs-27",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-builtin-assistant",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "There is no evidence of a built-in AI assistant in Obsidian; all AI-related capability mentioned (e.g., Text-Generator plugin) is explicitly a third-party community plugin, not a native feature, and the probe confirms no official vendor MCP server or AI tooling. Community plugins requiring full filesystem access (obsidian-comm-10) are the only AI-adjacent route, but that's an ecosystem extension, not a delegated built-in assistant.",
    "evidenceIds": [
      "obsidian-comm-7",
      "obsidian-probe-rt-1",
      "obsidian-comm-10"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-headless",
    "verdict": "disputed",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Vendor docs claim an Obsidian Sync 'headless client' explicitly designed for CI pipelines and automated agent workflows, but the independent runtime probe found Obsidian ships no official CLI or vendor automation interface, with only community-built (unofficial) tooling for programmatic access — directly contradicting the headless-CI claim. Missing for 10: independent confirmation the headless Sync client actually exists and works, official CLI documentation, and evidence of real CI usage.",
    "evidenceIds": [
      "obsidian-docs-10",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-mcp-client",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Obsidian has no first-party MCP client/server integration; the only evidence is a runtime probe noting that MCP support exists solely via unofficial community plugins, with no vendor-documented feature. missing for 10: official MCP client documentation, first-party plugin support, hands-on evidence of using MCP tools inside Obsidian.",
    "evidenceIds": [
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-mcp-server",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Obsidian is a note-taking platform (not itself an agent), so an official MCP server is a fair ecosystem question, but the evidence explicitly states Obsidian ships no official CLI or vendor MCP server, with MCP integrations existing only as community projects.",
    "evidenceIds": [
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-nl-commands",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Obsidian's own docs describe a traditional Command Palette, keyboard shortcuts, and a plugin API, but there is no first-party natural-language command interface; the probe explicitly notes Obsidian ships no official CLI or vendor MCP server, with any LLM/NL functionality (e.g. Text-Generator plugin) coming from community plugins rather than the product itself.",
    "evidenceIds": [
      "obsidian-docs-34",
      "obsidian-probe-rt-1",
      "obsidian-comm-7"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence explicitly confirms Obsidian ships no official CLI (the probe notes only community MCP servers exist, and no CLI is mentioned anywhere in docs). Missing for 10: any official CLI tool, documentation of CLI commands, or first-party automation interface for AI-native/agentic workflows.",
    "evidenceIds": [
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-public-api",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Obsidian exposes a documented TypeScript Plugin API (obsidian-api on GitHub, e.g. the Vault interface) and a custom URI protocol for triggering actions like opening/creating notes, giving programmatic control over the app. However this requires building/compiling a plugin rather than calling a simple REST/HTTP API, and the probe explicitly notes Obsidian ships no official CLI or vendor MCP server, with MCP integrations being community-built. Missing for 10: a first-party REST/HTTP or MCP API surface for external agent control, and evidence of AI-native workflows actually driving Obsidian via the documented API.",
    "evidenceIds": [
      "obsidian-docs-8",
      "obsidian-gh-1",
      "obsidian-gh-2",
      "obsidian-docs-16",
      "obsidian-docs-33",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of scoped/least-privilege API credential issuance for agents; Obsidian has no official API/credential system, and community plugins run with full filesystem/network access rather than restricted permissions (obsidian-comm-10). No mention of any credentialing or permission-scoping mechanism anywhere in the docs.",
    "evidenceIds": [
      "obsidian-comm-10",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-sdks",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Obsidian ships an official, documented Plugin API/SDK (TypeScript) with a public GitHub repo (obsidian-api) and developer docs for building plugins, themes, and extensions, giving AI-native developers a real, first-party surface to build against. However, there is no official MCP server or AI-specific SDK/CLI (confirmed absent in the probe), plugins run with full filesystem/network access without sandboxing (community-verified), and Restricted Mode blocks third-party code by default — meaning agentic integration relies on community-built connectors rather than an official agent-facing SDK. Missing for 10: an official MCP server or AI/agent SDK, an official CLI, and evidence of first-party sandboxing suitable for autonomous agent code.",
    "evidenceIds": [
      "obsidian-docs-15",
      "obsidian-docs-16",
      "obsidian-docs-26",
      "obsidian-docs-33",
      "obsidian-gh-1",
      "obsidian-gh-2",
      "obsidian-docs-27",
      "obsidian-comm-10",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence in the pack of Obsidian offering webhooks or an event-subscription API; the plugin system exposes in-app events (e.g., Vault interface) but nothing about outbound webhook subscriptions, and the probe explicitly notes no official MCP/CLI or webhook-style integration exists, only community projects.",
    "evidenceIds": [
      "obsidian-gh-1",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "ai-plugin-integrations",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Obsidian has no first-party AI/LLM connector or vendor MCP server (confirmed by probe: 'no official CLI or vendor MCP server... MCP servers for Obsidian are community projects'), but its large community plugin ecosystem (7,275 plugins) does include AI tools like the Text-Generator plugin, cited by users as a productive LLM interface. This satisfies the 'ecosystem of AI plugins' half of the story but not the 'first-party connectors' half. Missing for 10: official first-party AI/LLM integration or vendor-maintained MCP server, broader documentation of AI plugin capabilities (e.g., RAG), and evidence these plugins are robust (community notes 'no decent RAG functionality among Obsidian AI plugins').",
    "evidenceIds": [
      "obsidian-comm-7",
      "obsidian-probe-rt-1",
      "obsidian-docs-7",
      "obsidian-docs-31"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "api-interactive-docs",
    "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": "obsidian",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Obsidian has a plugin API and developer docs (TypeScript API reference), but no evidence of a downloadable machine-readable spec like OpenAPI/Swagger for any REST or programmatic interface; the probe explicitly notes no official CLI or vendor MCP server, and no OpenAPI spec is mentioned anywhere in the evidence pack.",
    "evidenceIds": [
      "obsidian-docs-16",
      "obsidian-gh-1",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "api-sandbox",
    "verdict": "disputed",
    "quality": 3,
    "confidence": "medium",
    "rationale": "Obsidian's docs claim a 'Restricted Mode' that prevents third-party code execution (obsidian-docs-27), which could be read as a sandbox safeguard, but hands-on community evidence directly contradicts this: 'there is no sandboxing at all for community plugins - every plugin has full access to your computer's filesystem and can make network requests' (obsidian-comm-10), and a third party built a separate sandboxed app specifically because Obsidian plugins run with full system access on sensitive data (obsidian-comm-11). There is no documented feature for spinning up an isolated test vault/sandbox distinct from a production vault for AI-agent testing. Missing for 10: an official sandbox/test-vault feature, evidence of isolated execution for agent actions, and resolution of the restricted-mode vs. no-sandboxing contradiction.",
    "evidenceIds": [
      "obsidian-docs-27",
      "obsidian-comm-10",
      "obsidian-comm-11"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Evidence covers Obsidian's plugin API, developer docs, and file formats, but there is no mention of a versioning scheme or documented deprecation policy for the Obsidian API. The developer docs describe building plugins but do not address API version guarantees or backward-compatibility commitments. Missing for 10: any documentation of API versioning, semver policy, or deprecation timelines/announcements.",
    "evidenceIds": []
  },
  {
    "productId": "obsidian",
    "storyId": "automation-bulk-operations",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack shows Obsidian's file-based storage, plugin/API extensibility (Vault interface, community plugins), and Bases for database-like views, but nothing documents a bulk-operation capability (e.g., batch rename, bulk tag/metadata edit, multi-note transform) that an AI-native user could invoke across many items at once. The generic plugin API and 7,275-plugin ecosystem are extensibility building blocks, not evidence of a delivered bulk-operations feature.",
    "evidenceIds": [
      "obsidian-docs-6",
      "obsidian-gh-1",
      "obsidian-gh-2",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "automation-rules-engine",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Obsidian's evidence shows a plugin API, a URI protocol for triggering actions, and a large community plugin ecosystem, but there is no documented built-in rule engine or automation system that fires actions automatically on events (e.g., note-created, tag-added triggers). Obsidian URI (obsidian-docs-8) requires an external caller, not an internal event-trigger rule system, and no plugin or first-party feature is cited that implements conditional automation.",
    "evidenceIds": [
      "obsidian-docs-8",
      "obsidian-docs-7",
      "obsidian-docs-33",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence describes any Obsidian feature for scheduling recurring jobs or workflows; core plugins (daily notes, templates, bases) and the URI protocol are for triggering/creating notes, not for time-based recurring automation. The plugin ecosystem is large but no specific scheduling/automation plugin or native scheduler is documented.",
    "evidenceIds": [
      "obsidian-docs-4",
      "obsidian-docs-8",
      "obsidian-docs-7",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "automation-versioned-workflows",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Obsidian offers file version history for notes (obsidian-docs-28) and third-party Git sync for backups (obsidian-comm-8), but there is no evidence of any built-in mechanism to version, review, or roll back 'automations' (e.g., plugin configs, Templater/QuickAdd scripts, or workflow definitions) — Obsidian has no native automation/workflow builder at all, only community plugins that could theoretically be automation-like but aren't documented with any versioning/rollback tooling. Missing for 10: any documented automation-specific versioning system, review/diff tooling for automation changes, or rollback mechanism tied to plugin/script configurations.",
    "evidenceIds": [
      "obsidian-docs-28",
      "obsidian-comm-8"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "bidirectional-links",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Obsidian's core feature set is wiki-style [[linking]] and a network of knowledge (obsidian-docs-18), backed by Graph view for visualizing note relationships (obsidian-docs-3), and this is corroborated by independent community usage reports praising Obsidian's linking/organization model (obsidian-comm-17, obsidian-comm-20). Missing for 10: explicit documentation snippet describing the 'unlinked mentions' panel/backlinks pane in context (only inferred from linking/graph docs, not directly quoted) and no independent hands-on confirmation of backlink-in-context UI specifically.",
    "evidenceIds": [
      "obsidian-docs-18",
      "obsidian-docs-3",
      "obsidian-comm-17",
      "obsidian-comm-20"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "block-references-embeds",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack only shows generic internal linking ('By linking notes, you can create a network of knowledge' — obsidian-docs-18) and graph view for whole-note relationships, but contains no documentation or community evidence of block/section-level embedding (transclusion) syntax or behavior. Missing for 10: any docs on block references (^blockid), section embeds, or confirmation that embedded content stays live-synced with the source note.",
    "evidenceIds": [
      "obsidian-docs-18"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "builtin-ai-assistant",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Obsidian's core product ships no built-in AI assistant; the only AI-related evidence describes third-party community plugins, and one commenter explicitly states 'there's no decent RAG functionality among Obsidian AI plugins,' undermining any grounded-in-notes assistant claim. There is no first-party documentation of an official AI feature with data-access controls.",
    "evidenceIds": [
      "obsidian-comm-7"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "community-plugin-ecosystem",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Obsidian's own docs describe a dedicated Community Plugins system for extending functionality (obsidian-docs-7, obsidian-docs-31, obsidian-docs-33), and a runtime probe confirms the vendor's official plugin registry lists 7,275 published community plugins, verifying the catalog's scale beyond marketing claims. Community discussion corroborates real-world reliance on specific popular plugins (Dataview, Git, Text-Generator) as everyday power-user tools, and docs also cover the security model (Restricted Mode) governing plugin installation. Missing for 10: independent step-by-step hands-on installation walkthrough/review of the browse-and-install UI flow itself.",
    "evidenceIds": [
      "obsidian-docs-7",
      "obsidian-docs-31",
      "obsidian-docs-33",
      "obsidian-docs-27",
      "obsidian-probe-rt-1",
      "obsidian-comm-5",
      "obsidian-comm-8"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "daily-notes-journal",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Obsidian's core Daily Notes plugin opens/creates a note for today's date and can be paired with the Templates core plugin to pre-fill content, directly matching the story [obsidian-docs-4][obsidian-docs-5]. Community evidence corroborates daily notes as a common power-user workflow (mixed freely with folders/Zettelkasten) [obsidian-comm-4][obsidian-comm-17]. Missing for 10: explicit first-party documentation confirming daily note as the literal 'default landing/startup' page, and independent confirmation of template auto-fill reliability at scale.",
    "evidenceIds": [
      "obsidian-docs-4",
      "obsidian-docs-5",
      "obsidian-comm-4",
      "obsidian-comm-17"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "e2ee-sync-devices",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Obsidian Sync is an official first-party add-on service documented to encrypt the remote vault and all communications, with end-to-end encryption as the default so 'no one — not even the Obsidian team — can access your notes,' directly matching the story. Missing for 10: independent third-party security audit or hands-on verification of the E2E claim, and one community report notes an Android sync edge case (files not saved until note unloads) that can cause missing content during sync, a minor reliability caveat.",
    "evidenceIds": [
      "obsidian-docs-9",
      "obsidian-docs-21",
      "obsidian-docs-32",
      "obsidian-docs-35",
      "obsidian-comm-9"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "full-export-portability",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Obsidian stores all notes as local, non-proprietary plain-text Markdown files (not a proprietary database or cloud lock-in), so a user's entire vault is always exportable/portable by simply copying the folder, and this is explicitly marketed as a future-proofing/anti-lock-in feature ('apps come and go, but your data should last'). Community testimonials corroborate this in practice (users migrated to/from Roam, Notion, Google Docs citing plain-text ownership as the reason switching was easy). Missing for 10: no independent hands-on verification of a bulk 'export' action for non-Markdown assets (attachments, plugin data) or edge cases in migration fidelity.",
    "evidenceIds": [
      "obsidian-docs-2",
      "obsidian-docs-20",
      "obsidian-docs-23",
      "obsidian-comm-19",
      "obsidian-comm-20"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "full-text-search-filters",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Evidence confirms offline-first, local plain-text storage (docs-2, docs-20, docs-23) and Bases as a database-like filtering view on note properties (docs-6), plus tag-based linking (docs-18), which together imply some filterable retrieval. However, the pack contains no explicit documentation of Obsidian's full-text search engine, search operators for tags/paths, or performance claims about instant search across large vaults. Missing for 10: dedicated full-text search docs, tag/path/property query syntax evidence, independent hands-on confirmation of search speed/completeness.",
    "evidenceIds": [
      "obsidian-docs-2",
      "obsidian-docs-6",
      "obsidian-docs-18",
      "obsidian-docs-20",
      "obsidian-docs-23"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "graph-view-navigation",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Graph view is a documented core plugin that visualizes note relationships built from internal links, and Obsidian's linking system explicitly creates a 'network of knowledge' that the graph renders; Graph view also supports filters (though filtering specifics aren't detailed in this pack). Community evidence confirms users actively rely on the linking/graph model for organizing knowledge (e.g., RPG notes, dev notes). Missing for 10: no evidence of advanced graph filtering UI details (tags/colors/query filters) or independent hands-on praise/critique specifically of graph view's filtering usability.",
    "evidenceIds": [
      "obsidian-docs-3",
      "obsidian-docs-18",
      "obsidian-comm-17"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "import-from-other-tools",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Obsidian ships dedicated first-party importers for Notion, Evernote, Roam-style Markdown, and Airtable/OneNote (obsidian-docs-1, 24, 29, 30), converting content to durable local Markdown files with links/attachments/structure preserved, and Notion databases even convert to Bases. Community evidence (obsidian-comm-20) confirms a real-world Roam→Obsidian migration went well. Missing for 10: no independent hands-on verification of attachment/link fidelity across all four sources (Notion, Evernote, Roam, plain Markdown) in one report, and no detail on edge-case fidelity issues during import.",
    "evidenceIds": [
      "obsidian-docs-1",
      "obsidian-docs-24",
      "obsidian-docs-29",
      "obsidian-docs-30",
      "obsidian-comm-20",
      "obsidian-docs-23"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "local-first-own-files",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Obsidian's core design stores notes as plain-text Markdown files locally in a user-owned vault, explicitly marketed for offline use and future-proofing/app independence, corroborated by independent community reports of migrating away from cloud apps because files are local text that outlive the app. Minor caveat is Canvas's JSON format (still local, but less human-readable than Markdown), and mobile has a save-timing quirk under sync; missing for 10: independent long-term audit of full offline reliability across all core plugins and confirmation Canvas/Bases data remain equally portable as plain Markdown.",
    "evidenceIds": [
      "obsidian-docs-20",
      "obsidian-docs-23",
      "obsidian-docs-2",
      "obsidian-comm-19",
      "obsidian-comm-14",
      "obsidian-comm-9"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "mobile-apps-parity",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Docs confirm the mobile app supports tabs, command palette, and full plugin support (docs-34) plus a customizable editing toolar (docs-14/25), indicating feature parity with desktop rather than a stripped companion, and the same Markdown vault format underlies both platforms enabling linking (docs-18, docs-20). However, community evidence surfaces a concrete reliability issue specific to the Android app (files not saved to storage until note unloads, causing lost content on sync) and general dissatisfaction with mobile UX/Electron design relative to native apps, undercutting a fully polished power-user experience. Missing for 10: explicit documentation of mobile search functionality, mobile graph view parity, and independent confirmation the Android save bug has been resolved.",
    "evidenceIds": [
      "obsidian-docs-34",
      "obsidian-docs-14",
      "obsidian-docs-25",
      "obsidian-docs-18",
      "obsidian-docs-20",
      "obsidian-comm-9",
      "obsidian-comm-18"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "note-templates",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Obsidian ships a first-party Templates core plugin for inserting reusable text snippets, and a Daily notes core plugin that creates date-based notes automatically, together covering variable-driven, recurring note templates (date/title insertion is a documented core feature of these plugins). Missing for 10: no explicit doc snippet showing custom variable syntax beyond date/title, and no independent hands-on report confirming template variable behavior in practice.",
    "evidenceIds": [
      "obsidian-docs-5",
      "obsidian-docs-4"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "open-format-longevity",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Obsidian core storage is plain-text Markdown files on local disk with no proprietary lock-in, explicitly marketed as future-proof so notes 'outlive the app,' and this is corroborated by independent user reports of migrating away and still having usable text files. missing for 10: independent long-term archival/format-stability audit and clarity on the newer Canvas JSON format's durability (community notes flag it as less readable than Markdown, a minor caveat).",
    "evidenceIds": [
      "obsidian-docs-20",
      "obsidian-docs-23",
      "obsidian-docs-2",
      "obsidian-comm-19",
      "obsidian-comm-3",
      "obsidian-comm-14",
      "obsidian-comm-15"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Obsidian exposes some programmatic surfaces — the Obsidian URI protocol for triggering actions like opening/creating notes, and a plugin API (Vault interface) for reading/writing files — but these fall short of full UI parity. There is no official CLI or vendor-provided REST/MCP API; the probe explicitly confirms no official CLI or MCP server exists, with third-party community plugins filling that gap instead. missing for 10: comprehensive first-party API/CLI covering all UI actions, official REST or MCP server, evidence of parity for non-file operations (e.g., graph view, canvas, settings) via API.",
    "evidenceIds": [
      "obsidian-docs-8",
      "obsidian-gh-1",
      "obsidian-gh-2",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "openness-full-export",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Obsidian stores all data as local plain-text Markdown files with no proprietary lock-in, explicitly marketed as future-proof so users 'can use Obsidian offline and switch to another app easily,' and this is corroborated by independent community accounts of notes outliving the app and easy migration away. Even newer formats like Canvas are open JSON under MIT license, reinforcing the open-export/leave-anytime story. Missing for 10: no independent audit of full fidelity export for all plugin-generated data (e.g., Bases, Sync metadata) beyond core notes.",
    "evidenceIds": [
      "obsidian-docs-2",
      "obsidian-docs-20",
      "obsidian-docs-23",
      "obsidian-comm-19",
      "obsidian-comm-14"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Obsidian is explicitly noted as closed-source (obsidian-comm-12), and no evidence pack item shows any open-license source availability; only the Canvas file format is MIT-licensed (obsidian-comm-14), not the app's source code itself.",
    "evidenceIds": [
      "obsidian-comm-12",
      "obsidian-comm-14"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "openness-self-host",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Obsidian's core app is closed-source (obsidian-comm-12) and Sync/Publish are proprietary paid cloud services with no documented self-hosted server alternative; the only 'local' aspect is that vault files live on-device, which is not the same as self-hosting the product's infrastructure. No evidence of an official self-hostable sync/publish server or open-source core.",
    "evidenceIds": [
      "obsidian-comm-12",
      "obsidian-docs-9",
      "obsidian-docs-12",
      "obsidian-docs-32"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "plugin-developer-api",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Obsidian has a dedicated developer docs site with a 'Build a plugin' tutorial that compiles a sample plugin from source, an official API repository (obsidian-api) documenting interfaces like Vault, and TypeScript-based plugin development guidance; the registry-verified 7,275 community plugins confirm the extension API is actively used at scale. missing for 10: independent hands-on review of doc quality/completeness, and no official CLI/scaffolding tool beyond the sample build tutorial.",
    "evidenceIds": [
      "obsidian-docs-15",
      "obsidian-docs-16",
      "obsidian-docs-26",
      "obsidian-docs-33",
      "obsidian-gh-1",
      "obsidian-gh-2",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "privacy-data-residency",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Obsidian's core value proposition is local-first storage — notes are plain-text Markdown files kept on the user's own device, giving inherent control over data location without relying on a vendor cloud (obsidian-docs-2, obsidian-docs-20, obsidian-docs-23). However, for users who opt into Obsidian Sync, there is no documented ability to choose a specific storage region/jurisdiction for the encrypted cloud vault. missing for 10: explicit region/residency selection for Obsidian Sync servers, any multi-region hosting options, independent confirmation of server locations.",
    "evidenceIds": [
      "obsidian-docs-2",
      "obsidian-docs-20",
      "obsidian-docs-23",
      "obsidian-docs-32",
      "obsidian-docs-9"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "privacy-no-training",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Obsidian's core architecture (local plain-text Markdown storage, optional end-to-end encrypted Sync where 'no one — not even the Obsidian team — can access your notes') strongly implies user data isn't harvested for AI training since it never leaves the user's control by default. However, there is no explicit vendor statement or policy addressing AI-training use of data, and Obsidian's own docs admit community plugins have unrestricted filesystem/network access with no sandboxing, meaning third-party plugins (e.g. AI plugins) could still exfiltrate data outside Obsidian's control. Missing for 10: an explicit anti-AI-training data policy statement, and any assurance/controls over what community AI plugins do with vault data.",
    "evidenceIds": [
      "obsidian-docs-20",
      "obsidian-docs-21",
      "obsidian-docs-23",
      "obsidian-comm-10",
      "obsidian-comm-12"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "privacy-retention-controls",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Obsidian's local-first, plain-text vault model (obsidian-docs-20, obsidian-docs-23, obsidian-docs-2) gives users full control to delete or retain data simply by managing files on disk, and Sync is end-to-end encrypted with version history to restore/rollback (obsidian-docs-21, obsidian-docs-28). However there's no explicit documentation on server-side retention windows, deletion guarantees for Sync/Publish-hosted data, or export/purge tooling tailored to AI-native automation. Missing for 10: explicit Sync/Publish data-retention or deletion policy, documented data-export/erasure API, and any AI-specific retention controls.",
    "evidenceIds": [
      "obsidian-docs-20",
      "obsidian-docs-23",
      "obsidian-docs-2",
      "obsidian-docs-21",
      "obsidian-docs-28"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack covers local-first storage and Sync encryption but contains no mention of telemetry, usage analytics, or an opt-out setting for such tracking. This is a fair question for any desktop app, so absence of evidence yields 'none' rather than 'na'.",
    "evidenceIds": []
  },
  {
    "productId": "obsidian",
    "storyId": "publish-notes-website",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Obsidian Publish lets users select notes from their vault and publish them as a hosted, browsable site (digital garden/wiki) at publish.obsidian.md/your-site, with working internal links preserved via Obsidian's native linking system, all configured from within the app. missing for 10: no independent hands-on account of the publish workflow or link-rendering fidelity, and Publish is a paid add-on rather than free/bundled.",
    "evidenceIds": [
      "obsidian-docs-12",
      "obsidian-docs-22",
      "obsidian-docs-18"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "rich-markdown-editing",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Evidence confirms Obsidian is a plain-text Markdown editor with linking, templates, mobile editing toolbar, and command palette (keyboard-driven), supporting the general shape of the story, but the pack never explicitly documents callouts, tables, code-block rendering, or embedded media handling. Missing for 10: explicit documentation/citations on callout syntax, table support, code block rendering, and media embedding, plus any performance/speed benchmarking of the editor.",
    "evidenceIds": [
      "obsidian-docs-20",
      "obsidian-docs-18",
      "obsidian-docs-5",
      "obsidian-docs-14",
      "obsidian-docs-34"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "self-host-local-only",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Obsidian is fundamentally local-first: notes are plain Markdown files stored on-device, fully usable offline with no vendor cloud dependency (obsidian-docs-2, obsidian-docs-20, obsidian-docs-23), and users can sync via Dropbox, iCloud, OneDrive, or Git instead of Obsidian's paid Sync service (obsidian-docs-19), confirmed by a community user who runs it fully local plus storage sync (obsidian-comm-19). However, self-hosting a sync backend is imperfect in practice — community reports note the Git plugin works for single-device backup but is 'not great for device sync or collaboration,' requiring third-party CRDT plugins to fill the gap (obsidian-comm-8). Missing for 10: an officially documented/first-party self-hosted sync backend with real-time multi-device guarantees (vs. community workarounds), and confirmation that Git/cloud-drive sync avoids conflict issues.",
    "evidenceIds": [
      "obsidian-docs-2",
      "obsidian-docs-20",
      "obsidian-docs-23",
      "obsidian-docs-19",
      "obsidian-comm-19",
      "obsidian-comm-8"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "shared-space-collaboration",
    "verdict": "disputed",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Vendor docs claim Obsidian Sync lets teams 'collaborate on a shared vault' and offers version history to restore prior versions, but this is file-sync-based rather than real-time conflict-free editing — community evidence explicitly notes that neither Sync-adjacent tools (e.g. Git plugin) are 'great for device sync or collaboration' and that a separate third-party CRDT-based plugin had to be built to achieve Google-Docs-style simultaneous editing without overwriting changes, implying native Sync doesn't guarantee non-destructive concurrent edits. missing for 10: evidence of built-in conflict-free simultaneous multi-user editing, first-party documentation on merge/conflict handling during concurrent edits, hands-on reports confirming no data loss when two collaborators edit the same note at once.",
    "evidenceIds": [
      "obsidian-docs-11",
      "obsidian-docs-28",
      "obsidian-comm-8"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "structured-queries-views",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Obsidian's core 'Bases' plugin is documented as letting users 'create database-like views of your notes' from structured properties, and community evidence corroborates it as a real, working feature comparable to the popular Dataview plugin, confirming table/board-style query views exist. However, community feedback notes Bases is 'not yet as comprehensive' as Dataview and lacks its imperative dataviewjs scripting for custom dynamic rendering, so some advanced query/view flexibility power-users expect is limited. Missing for 10: detailed first-party documentation of specific view types (table/board/list) and their query syntax, plus independent confirmation these views match the full breadth of 'live database' functionality claimed.",
    "evidenceIds": [
      "obsidian-docs-6",
      "obsidian-comm-5",
      "obsidian-comm-6"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "tags-properties-metadata",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Obsidian's Bases core plugin (database-like views of notes) and internal linking support the kind of structured organization/retrieval a power-user would want, and community evidence confirms Bases is used as a fast, if less comprehensive, alternative to Dataview for querying notes by metadata. However, the evidence pack never explicitly documents Obsidian's Properties (YAML frontmatter with typed fields) or tag system, nor how tags/properties are used consistently for retrieval. Missing for 10: explicit docs on typed Properties/frontmatter, dedicated tag-pane/tag-search documentation, and hands-on confirmation that typed properties work reliably for retrieval across a vault.",
    "evidenceIds": [
      "obsidian-docs-6",
      "obsidian-comm-5",
      "obsidian-docs-18"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "uri-deep-link-automation",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Obsidian documents a native URI protocol for triggering actions like opening or creating notes, which directly supports scripting/automation via deep links (obsidian-docs-8). However, there is no first-party local HTTP endpoint or official CLI evidenced — the probe explicitly confirms Obsidian ships no official CLI or vendor MCP server, leaving any local-endpoint automation to third-party community plugins not covered in this pack. Missing for 10: vendor-documented local REST/HTTP endpoint, independent hands-on examples of URI-driven workflows in real automation pipelines.",
    "evidenceIds": [
      "obsidian-docs-8",
      "obsidian-probe-rt-1"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "version-history-recovery",
    "verdict": "full",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Obsidian's own docs explicitly list 'Version history - View or restore previous versions of a note' as a feature of Obsidian Sync, directly matching the story's core ask for power-users who pay for Sync. Missing for 10: explicit documentation of deleted-note recovery workflow, and independent/hands-on corroboration beyond the single first-party doc line.",
    "evidenceIds": [
      "obsidian-docs-28",
      "obsidian-docs-32"
    ]
  },
  {
    "productId": "obsidian",
    "storyId": "web-clip-capture",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Obsidian ships an official free browser extension, the Web Clipper, explicitly documented to let users highlight pages and save web content directly into their vault, covering pages, articles, and highlights as described in the story. missing for 10: independent hands-on user reports specifically confirming the Web Clipper's reliability/quality beyond the vendor docs.",
    "evidenceIds": [
      "obsidian-docs-13"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agent-reads-writes-notes",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Poly ships a documented hosted MCP server (mcp.poly.app) with OAuth, exposing search, fetch, and CLI-equivalent tools, plus a CLI/agent-skill that lets agents read, write, create, and organize files headlessly, and a Claude Code plugin that loads Poly memory and connects the MCP server automatically — all confirmed live via runtime probes. missing for 10: independent (non-vendor) hands-on confirmation that write operations via MCP work reliably in practice, beyond docs and probes.",
    "evidenceIds": [
      "poly-docs-7",
      "poly-docs-14",
      "poly-docs-19",
      "poly-docs-20",
      "poly-docs-27",
      "poly-docs-29",
      "poly-probe-3",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-agent-docs",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Poly directly serves an llms.txt with a full agent-oriented documentation index, confirmed live via runtime probe (HTTP 200, structured docs list, companion llms-full.txt, /raw/*.md mirrors of every page), explicitly designed for agent consumption alongside CLI and MCP integration docs. Missing for 10: no independent third-party report of an agent actually using llms.txt to onboard, only first-party docs and probes.",
    "evidenceIds": [
      "poly-probe-1",
      "poly-probe-rt-1",
      "poly-docs-1"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Poly's docs describe natural-language search, an automatic 'second brain' memory layer, and an agent that can summarize, explain, and generate insights from indexed files (docs-2, docs-3, docs-31, docs-14), directly matching the AI-generated insights/suggestions story. Missing for 10: independent/hands-on evidence of proactive insight generation (vs. just search/summarize-on-request) and no third-party validation of insight quality beyond vendor docs.",
    "evidenceIds": [
      "poly-docs-2",
      "poly-docs-3",
      "poly-docs-14",
      "poly-docs-31",
      "poly-docs-16",
      "poly-probe-rt-1"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-autonomous-automation",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Poly's agent can perform multi-step file tasks, spawn subagents, and be invoked via CLI/MCP/plugins, but these are triggered interactively (chat requests, CLI commands, agent sessions) rather than described as scheduled or event-triggered background automations running autonomously without a user prompt. There's no documented scheduler, trigger system, or 'run this automatically every day/on file change' capability. missing for 10: explicit scheduling/trigger mechanism (cron-like, event-driven, or always-on background execution), evidence of automations persisting and running unattended over time, and independent confirmation of autonomous background operation.",
    "evidenceIds": [
      "poly-docs-14",
      "poly-docs-21",
      "poly-docs-35",
      "poly-docs-31",
      "poly-docs-19",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-builtin-assistant",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Poly ships a built-in agent that can search, read, write, edit, and organize files across multiple steps (poly-docs-14, poly-docs-27, poly-docs-31), and can even spawn subagents to delegate subtasks (poly-docs-21, poly-docs-35), directly matching the story of delegating tasks to an in-product AI assistant. This is corroborated by runtime probes confirming a live agent/MCP infrastructure (poly-probe-rt-1, poly-probe-rt-2). Missing for 10: independent hands-on user reports specifically validating the agent's task execution (community commentary focuses on search/security concerns rather than confirming agentic task delegation in practice).",
    "evidenceIds": [
      "poly-docs-14",
      "poly-docs-27",
      "poly-docs-31",
      "poly-docs-21",
      "poly-docs-35",
      "poly-probe-rt-1",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-headless",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "The `poly` CLI is explicitly described as 'scriptable from the terminal' (poly-docs-17) and supports commands like `poly search` (poly-docs-6), suggesting scriptable automation is possible, and the MCP server exists for programmatic agent access (poly-probe-rt-2). However, both the CLI and MCP server rely on browser-based OAuth authentication (poly-probe-rt-2), which is a significant barrier to headless/CI use, and there is no documentation of API keys, service accounts, or CI-specific setup for non-interactive automation. Missing for 10: documented headless/non-interactive auth method (API key or service token), explicit CI/automation examples or docs, evidence of running without a browser session.",
    "evidenceIds": [
      "poly-docs-17",
      "poly-docs-6",
      "poly-probe-rt-2",
      "poly-docs-18"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-mcp-client",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "All MCP-related evidence describes Poly exposing its own hosted MCP server (mcp.poly.app) for external AI assistants like Claude Code, Codex, ChatGPT, etc. to consume — i.e., Poly acting as the MCP *server* — not Poly acting as an MCP *client* that can plug in and use tools from third-party MCP servers. No documentation, CLI reference, or probe shows Poly's built-in agent connecting to or consuming external MCP servers.",
    "evidenceIds": [
      "poly-docs-7",
      "poly-docs-18",
      "poly-docs-19",
      "poly-docs-29",
      "poly-probe-3",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-mcp-server",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Poly documents and runtime-verifies an official hosted MCP server (mcp.poly.app/mcp) with OAuth auth, exposing search/fetch/CLI tools, and it's usable from Claude Code, ChatGPT, Codex, Gemini, and other MCP clients. missing for 10: independent third-party (non-vendor) confirmation of a successful end-to-end agent connection beyond the probe and docs.",
    "evidenceIds": [
      "poly-docs-7",
      "poly-docs-18",
      "poly-docs-19",
      "poly-docs-29",
      "poly-probe-3",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-nl-commands",
    "verdict": "full",
    "quality": 8,
    "confidence": "medium",
    "rationale": "Poly's docs describe a built-in agent operable via natural language — searching, summarizing, editing, and organizing files with plain-language requests (poly-docs-2, poly-docs-31, poly-docs-14, poly-docs-27), plus a CLI and MCP-based integrations exposing the same commands to AI assistants. This directly matches the ai-native natural-language-command story. Missing for 10: independent/hands-on verification that NL commands work reliably in practice (community evidence only discusses trust/security concerns, not functional testing of NL command execution).",
    "evidenceIds": [
      "poly-docs-2",
      "poly-docs-6",
      "poly-docs-14",
      "poly-docs-27",
      "poly-docs-31",
      "poly-probe-rt-1"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-official-cli",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Poly ships a documented official CLI (`poly`) with 25+ commands for searching, reading, creating, and organizing files from the terminal, plus an agent-skill that composes CLI commands, confirmed by both docs and a runtime probe. missing for 10: independent/hands-on community verification of the CLI itself (community evidence discusses filesystem access concerns, not CLI usage) and no visible changelog/versioning depth for the CLI beyond docs.",
    "evidenceIds": [
      "poly-docs-6",
      "poly-docs-17",
      "poly-docs-20",
      "poly-probe-4",
      "poly-probe-rt-1"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-public-api",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Poly documents a CLI (`poly` with 25+ commands) and a hosted MCP server (https://mcp.poly.app/mcp with OAuth) that let AI agents and assistants drive file search, read, write, and organization programmatically, confirmed by both docs and a live runtime probe. However, there is no conventional public REST/OpenAPI API — probes for openapi.json/swagger.json all returned 404 — so agentic access is limited to MCP/CLI surfaces rather than a general-purpose documented API. missing for 10: a REST/OpenAPI-documented API, independent third-party corroboration of API usage beyond vendor docs.",
    "evidenceIds": [
      "poly-docs-17",
      "poly-docs-6",
      "poly-docs-18",
      "poly-docs-29",
      "poly-probe-2",
      "poly-probe-3",
      "poly-probe-4",
      "poly-probe-rt-1",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Poly's MCP/agent integrations use a single OAuth login granting 'full access to your Poly files' (poly-docs-30, poly-docs-29) rather than any scoped or least-privilege credential/token mechanism; no docs mention granular permission scopes, read-only vs write tokens, or per-agent credential issuance. This axis is applicable (Poly ships agent/API integrations) but no evidence supports scoped credentialing — missing for 10: any documented scope/permission model, token-level restriction, or least-privilege API key issuance for agents.",
    "evidenceIds": [
      "poly-docs-29",
      "poly-docs-30",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-sdks",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows a CLI and an MCP server integration, but no official SDK (Python/JS/etc.) or API client library is documented; the OpenAPI probe returned 404s across all candidate paths, indicating no formal API spec developers could build an SDK against.",
    "evidenceIds": [
      "poly-probe-2",
      "poly-docs-17",
      "poly-probe-3"
    ]
  },
  {
    "productId": "poly",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any webhook or event-subscription mechanism; Poly's integration surface is limited to MCP, CLI, and file sync, none of which describes outbound event notifications via webhooks.",
    "evidenceIds": []
  },
  {
    "productId": "poly",
    "storyId": "ai-plugin-integrations",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Poly ships a first-party MCP server (mcp.poly.app) with OAuth, documented and runtime-verified as live, plus official plugins/integrations for Claude, ChatGPT, Claude Code, VS Code, and a CLI usable by agents, giving AI-native users multiple first-party ways to connect external LLMs to their notes/files. missing for 10: no independent hands-on confirmation of the plugin ecosystem working smoothly beyond docs/probe, and community feedback raises unresolved trust/security concerns rather than functional failures.",
    "evidenceIds": [
      "poly-docs-7",
      "poly-docs-18",
      "poly-docs-19",
      "poly-docs-29",
      "poly-docs-30",
      "poly-probe-3",
      "poly-probe-rt-1",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The probe explicitly found no OpenAPI/Swagger spec at any candidate path, and the evidence pack contains no mention of an interactive API reference or runnable examples anywhere in Poly's docs or CLI/MCP materials.",
    "evidenceIds": [
      "poly-probe-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "A direct probe for OpenAPI/Swagger specs at all standard paths returned 404s, and no evidence pack item mentions a downloadable API spec; Poly instead documents an MCP server and CLI, not a machine-readable REST API spec.",
    "evidenceIds": [
      "poly-probe-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "api-sandbox",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "Poly's docs describe direct agent read/write access to a user's real files, Drive/Dropbox imports, and MCP integrations, but nowhere mention a sandbox, staging, or test environment isolated from production data. Community comments even highlight anxiety about the agent having broad access to real files with no isolation layer. missing for 10: any documented sandbox/staging mode, test data set, or isolated environment separate from the user's live files.",
    "evidenceIds": [
      "poly-docs-27",
      "poly-docs-14",
      "poly-comm-2",
      "poly-comm-4"
    ]
  },
  {
    "productId": "poly",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any versioned public API or documented deprecation policy — probes for OpenAPI/Swagger specs all returned 404, and docs only cover CLI/MCP/agent integrations, not API versioning or deprecation guarantees. missing for 10: versioned API reference, deprecation policy documentation, changelog/versioning scheme.",
    "evidenceIds": [
      "poly-probe-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "automation-bulk-operations",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Poly's CLI is described as 'scriptable from the terminal' (poly-docs-17) and the agent can chain multi-step tasks like 'organizing a folder' or spawning subagents to handle work in parallel (poly-docs-14, poly-docs-21, poly-docs-31, poly-docs-35), which implies some automation across sets of files, but there is no explicit documentation of a true bulk/batch operation (e.g., 'rename/tag/move N files at once') or a dedicated batch API/command. Missing for 10: an explicit bulk-operation example or batch command, evidence of scale (many items processed in one call), and independent/hands-on confirmation that automation reliably spans large item sets.",
    "evidenceIds": [
      "poly-docs-14",
      "poly-docs-17",
      "poly-docs-21",
      "poly-docs-31",
      "poly-docs-35"
    ]
  },
  {
    "productId": "poly",
    "storyId": "automation-rules-engine",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Poly's docs describe on-demand agent actions (search, summarize, edit, organize) and multi-step task execution, but there is no evidence of a rules/trigger system that fires actions automatically on defined events (e.g., file-added, schedule, webhook-based automation). Automation is user-initiated per request, not event-driven.",
    "evidenceIds": [
      "poly-docs-14",
      "poly-docs-31",
      "poly-docs-21"
    ]
  },
  {
    "productId": "poly",
    "storyId": "automation-scheduled-jobs",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Poly's docs describe agent-driven task automation (multi-step tasks, subagents, organizing folders) but there is no mention of recurring/scheduled execution, cron-like triggers, or workflow scheduling anywhere in the evidence pack.",
    "evidenceIds": []
  },
  {
    "productId": "poly",
    "storyId": "automation-versioned-workflows",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Poly documents file-level version history and rollback (flashback mode, conflict-preserving recovery) that would cover changes made by its agent when it edits files, but there is no evidence of a first-class 'automation' object (e.g., saved workflows/skills) that can be versioned, reviewed, or rolled back as a unit — only raw file state is versioned. missing for 10: dedicated automation/workflow versioning UI, diff/review of agent actions before execution, rollback of multi-step agent tasks (not just files) as an atomic unit.",
    "evidenceIds": [
      "poly-docs-10",
      "poly-docs-5",
      "poly-docs-14",
      "poly-docs-27"
    ]
  },
  {
    "productId": "poly",
    "storyId": "bidirectional-links",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Poly's 'Mind' feature supports journaling, importing notes from other PKM tools, and semantic search, but nothing in the evidence pack mentions [[wiki-style]] linking, backlink panels, or unlinked-mention detection — core PKM/wiki-linking features. Since Poly Mind explicitly targets note-taking/second-brain use cases, this axis is a fair question for the product, but no evidence shows it delivers wiki-links or backlinks.",
    "evidenceIds": [
      "poly-docs-3",
      "poly-docs-22",
      "poly-docs-26",
      "poly-docs-32"
    ]
  },
  {
    "productId": "poly",
    "storyId": "block-references-embeds",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Poly's docs describe file search, an agent, a CLI/MCP integration, and a Markdown-based Mind/journal folder, but nothing in the evidence describes block- or section-level transclusion between notes that stays synced (no backlinks, embeds, or live-sync block references are mentioned anywhere in the docs pack).",
    "evidenceIds": [
      "poly-docs-12",
      "poly-docs-26",
      "poly-docs-32",
      "poly-docs-22"
    ]
  },
  {
    "productId": "poly",
    "storyId": "builtin-ai-assistant",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Poly's built-in agent clearly summarizes, explains, drafts, and edits notes grounded in the user's own files (poly-docs-31, poly-docs-14, poly-docs-27, poly-docs-3), and Mind/journaling gives a personal-notes corpus for it to draw on (poly-docs-12, poly-docs-26, poly-docs-32). However, evidence for granular controls over *what the assistant itself sees* is thin: docs describe the agent getting 'full access to your Poly files' (poly-docs-30) rather than scoped visibility, and the only access controls documented are sharing/revoke permissions for other people (poly-docs-9, poly-docs-33), not data-scoping for the AI itself — a gap community users flag as a trust concern (poly-comm-2, poly-comm-4). Missing for 10: explicit per-folder/file visibility toggles or exclusion settings for the assistant, and independent confirmation that such controls work as intended.",
    "evidenceIds": [
      "poly-docs-31",
      "poly-docs-14",
      "poly-docs-27",
      "poly-docs-3",
      "poly-docs-12",
      "poly-docs-30",
      "poly-docs-9",
      "poly-docs-33",
      "poly-comm-2",
      "poly-comm-4"
    ]
  },
  {
    "productId": "poly",
    "storyId": "community-plugin-ecosystem",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence shows Poly ships its own integrations (CLI, MCP server, plugins for Claude/ChatGPT/VS Code) that let Poly connect into other tools, but there is no mention of a marketplace or catalog of third-party/community-built plugins that extend Poly itself with new features.",
    "evidenceIds": [
      "poly-docs-4",
      "poly-docs-7",
      "poly-docs-18",
      "poly-docs-29",
      "poly-probe-3"
    ]
  },
  {
    "productId": "poly",
    "storyId": "daily-notes-journal",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Poly Mind's journaling feature provides a manual 'quiet place' to write daily thoughts and syncs entries as Markdown files, which loosely matches the capture/journaling theme, but there's no evidence of automatic daily note creation, template pre-fill, or it being the default landing screen. missing for 10: automatic daily note generation, template pre-fill mechanism, evidence of default-landing behavior on app open.",
    "evidenceIds": [
      "poly-docs-12",
      "poly-docs-26",
      "poly-docs-32"
    ]
  },
  {
    "productId": "poly",
    "storyId": "e2ee-sync-devices",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Poly's docs describe file sync (desktop folder sync, Finder tag sync, sharing, MCP/CLI integrations) but nowhere claim end-to-end encryption that the vendor itself cannot read; in fact the architecture explicitly routes files through Poly's servers for indexing/search, and community comments explicitly worry that Poly's remote servers read and analyze all files, contradicting the premise of vendor-blind E2EE. No evidence of an E2EE sync mechanism exists in the pack.",
    "evidenceIds": [
      "poly-docs-23",
      "poly-docs-8",
      "poly-comm-2",
      "poly-comm-4",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "full-export-portability",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Poly stores files as real files that sync to a local Finder/Explorer folder (poly-docs-23) and journal entries are plain Markdown (poly-docs-12), implying your data always exists in accessible, mostly-original formats rather than a locked proprietary export. However, there is no explicit 'export my knowledge base' feature, bulk-export tool, or open-format guarantee for the indexed metadata/second-brain layer — only import pathways (poly-docs-1, poly-docs-22) are documented. Missing for 10: an explicit export/backup command or API, confirmation that indexed metadata (tags, memory, search index) can be exported, and any open-format guarantee beyond raw file sync.",
    "evidenceIds": [
      "poly-docs-23",
      "poly-docs-12",
      "poly-docs-1",
      "poly-docs-22"
    ]
  },
  {
    "productId": "poly",
    "storyId": "full-text-search-filters",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Poly documents natural-language full-text search (down to timestamp/page/paragraph), a CLI 'poly search' command, visual similarity search, and Finder-tag syncing, but nowhere combines these into documented filter syntax on tags/properties/paths, nor claims search works offline (files instead 'download on demand' and sync back, implying online-first indexing). missing for 10: explicit support for combined tag/property/path filters in search queries, explicit documentation of offline full-text search capability.",
    "evidenceIds": [
      "poly-docs-2",
      "poly-docs-6",
      "poly-docs-13",
      "poly-docs-8",
      "poly-docs-23"
    ]
  },
  {
    "productId": "poly",
    "storyId": "graph-view-navigation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Poly's docs describe a 'second brain' with search, journaling, tagging, multiple folder views (Icon, Grid, Feed, Detail, Tree, etc.), and Notion/Obsidian import, but nowhere mention a graph visualization of notes/connections or filtering such a graph — this is a plausible axis for a notes/second-brain product but no evidence supports it.",
    "evidenceIds": [
      "poly-docs-3",
      "poly-docs-25",
      "poly-docs-22",
      "poly-docs-26"
    ]
  },
  {
    "productId": "poly",
    "storyId": "import-from-other-tools",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Poly's docs explicitly state you can 'bring existing notes and memory archives into Poly Mind from Notion, Obsidian, Evernote, Bear, and more,' directly covering two of the four named sources, and general file import (Google Drive/Dropbox/local) plus native Markdown journal files supports plain Markdown ingestion. However, Roam is never explicitly named, and there is no documented detail on how structure, internal links, or attachments are preserved during the import process, nor any hands-on/community confirmation of import fidelity. Missing for 10: explicit Roam support, documented handling of internal links/structure/attachments during migration, independent corroboration of import fidelity.",
    "evidenceIds": [
      "poly-docs-22",
      "poly-docs-1",
      "poly-docs-12"
    ]
  },
  {
    "productId": "poly",
    "storyId": "local-first-own-files",
    "verdict": "disputed",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Docs describe files/journal entries as real local files (synced Finder folder, Markdown notes in a 'Mind' folder), suggesting some local-first storage, but the core search/indexing/agent stack is cloud-hosted (remote MCP server at mcp.poly.app, OAuth-gated, server-side parsing/transcribing/indexing) — and a hands-on community reviewer explicitly notes 'your service, by nature, is reading and analyzing all of my files using a remote server,' directly contradicting a fully offline, locally-owned workflow. Missing for 10: no documentation of an offline mode, no evidence local files remain fully functional/searchable without the cloud service, and no rebuttal to the community's remote-dependency observation.",
    "evidenceIds": [
      "poly-docs-23",
      "poly-docs-12",
      "poly-docs-28",
      "poly-docs-29",
      "poly-comm-4",
      "poly-comm-6",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "mobile-apps-parity",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Evidence pack extensively documents desktop, CLI, web/MCP, and Finder/Explorer integration, but contains no mention whatsoever of iOS or Android apps, mobile capture, or mobile search/linking capability. missing for 10: any evidence of iOS app, Android app, or mobile-specific capture/search/linking features.",
    "evidenceIds": []
  },
  {
    "productId": "poly",
    "storyId": "note-templates",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Poly's Mind/journaling docs describe creating markdown journal entries and importing notes, but there is no evidence of a reusable template system with variables (date, title) for recurring note types.",
    "evidenceIds": [
      "poly-docs-12",
      "poly-docs-26",
      "poly-docs-32",
      "poly-docs-22"
    ]
  },
  {
    "productId": "poly",
    "storyId": "open-format-longevity",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Poly's Mind journal entries are explicitly stored as plain Markdown files synced to a folder (poly-docs-12), and the desktop client exposes all Poly files as a real Finder/Explorer folder that syncs back automatically (poly-docs-23), so notes aren't locked in a proprietary blob. However there is no documented bulk-export feature, no JSON export format, and no explicit statement about long-term archival or vendor-independence beyond this folder-sync mechanism; import from other note apps (poly-docs-22) is one-way and does not evidence export-out portability. Missing for 10: explicit JSON/structured export option, a documented full-archive export or backup mechanism, and any statement guaranteeing data portability/format stability if the vendor shuts down.",
    "evidenceIds": [
      "poly-docs-12",
      "poly-docs-23",
      "poly-docs-22"
    ]
  },
  {
    "productId": "poly",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Poly ships a scriptable CLI (25+ commands) and a hosted MCP server exposing search, fetch, and a virtual `poly` CLI as tools, giving programmatic access to core file search/read/write/organize workflows that mirror the UI's agent capabilities (poly-docs-17, poly-probe-rt-2, poly-probe-4). However there is no documented REST/OpenAPI API (openapi probes all 404'd), and no evidence that UI-only features like sharing/permissions management, the eight folder views, flashback/version history, or journaling are exposed programmatically. Missing for 10: a general-purpose REST/OpenAPI surface, API parity for sharing/permissions, version history, and Mind/journaling features.",
    "evidenceIds": [
      "poly-docs-17",
      "poly-docs-6",
      "poly-docs-18",
      "poly-docs-20",
      "poly-probe-rt-2",
      "poly-probe-2",
      "poly-probe-4",
      "poly-docs-9",
      "poly-docs-5"
    ]
  },
  {
    "productId": "poly",
    "storyId": "openness-full-export",
    "verdict": "partial",
    "quality": 4,
    "confidence": "low",
    "rationale": "Poly's desktop sync exposes files as a real folder in Finder/Explorer with files kept in their original formats and synced back automatically (poly-docs-23), and journal entries are stored as plain Markdown files (poly-docs-12), which implies some natural portability rather than lock-in. However, there is no explicit documentation of a bulk 'export all data' feature, data-export API, or guarantee that a user can fully extract their indexed memory/context in open formats and leave — missing for 10: an explicit export/data-portability feature, documentation of exporting the 'second brain'/index data, and any mention of account deletion/data takeout.",
    "evidenceIds": [
      "poly-docs-23",
      "poly-docs-12",
      "poly-docs-8"
    ]
  },
  {
    "productId": "poly",
    "storyId": "openness-open-license",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence of any open-source license or public source repository for Poly; it appears to be a closed, proprietary SaaS/desktop product with only documentation and API/MCP endpoints disclosed. Missing for 10: any open-source license file, public code repository, or statement of source availability.",
    "evidenceIds": []
  },
  {
    "productId": "poly",
    "storyId": "openness-self-host",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "All evidence describes Poly as a hosted SaaS (cloud sync, hosted MCP endpoint at mcp.poly.app requiring OAuth, subscription-based) with no mention of a self-hosted or on-prem deployment option anywhere in the docs or probes.",
    "evidenceIds": [
      "poly-probe-rt-2",
      "poly-docs-29",
      "poly-comm-1",
      "poly-comm-4"
    ]
  },
  {
    "productId": "poly",
    "storyId": "plugin-developer-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Poly ships an MCP server, a CLI, and an agent-skill file for its own CLI, but nothing documents a first-party extension API/SDK for developers to build their own Poly plugins — the 'plugin' references are about installing Poly's plugin into other agents (Claude, ChatGPT, VS Code), not the reverse. A direct probe for an OpenAPI/Swagger spec returned 404 on all candidate paths, and no developer SDK, plugin manifest format, or extension samples are mentioned anywhere in the docs pack.",
    "evidenceIds": [
      "poly-docs-4",
      "poly-docs-16",
      "poly-probe-2",
      "poly-probe-4",
      "poly-probe-3"
    ]
  },
  {
    "productId": "poly",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack addresses data residency, region selection, or storage location choice for Poly's cloud-hosted service; documentation focuses on features, sync, and MCP/CLI integrations without any regional/residency controls. Missing for 10: any mention of data center regions, residency options, or compliance-driven storage location settings.",
    "evidenceIds": []
  },
  {
    "productId": "poly",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "No evidence in the pack of any data-training opt-out, privacy policy, or model-training exclusion commitment from Poly; docs focus on file search/agent features, not data-usage privacy controls. Community comments raise general trust/security concerns but don't confirm or deny a training-opt-out policy, so this is an unaddressed gap rather than a dispute.",
    "evidenceIds": []
  },
  {
    "productId": "poly",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack covers file import, search, sharing, versioning, and MCP/CLI integrations, but contains no documentation on data retention policies, permanent deletion, or export/purge controls for an AI-native privacy-conscious user. Community comments raise general trust/security concerns but don't confirm or deny specific retention/deletion mechanisms. missing for 10: retention policy docs, account/file deletion controls, data export or purge guarantees, any first-party statement on how long data is kept or how to fully erase it.",
    "evidenceIds": [
      "poly-docs-10",
      "poly-docs-33",
      "poly-comm-4"
    ]
  },
  {
    "productId": "poly",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence in the pack addresses telemetry, analytics, or usage-tracking opt-out settings for Poly; the docs and community discussion cover file syncing, search, MCP integrations, and general privacy/security concerns about filesystem access, not telemetry controls.",
    "evidenceIds": []
  },
  {
    "productId": "poly",
    "storyId": "publish-notes-website",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Poly's evidence covers sharing individual files/folders via links or team drives (poly-docs-9, poly-docs-24, poly-docs-33) and journaling/Mind notes storage, but there is no mention of publishing a collection of notes as a browsable, interlinked website (digital garden) with working cross-links. Sharing appears to be file/folder link-based, not a rendered site with navigable note-to-note links.",
    "evidenceIds": [
      "poly-docs-9",
      "poly-docs-24",
      "poly-docs-33",
      "poly-docs-32"
    ]
  },
  {
    "productId": "poly",
    "storyId": "rich-markdown-editing",
    "verdict": "partial",
    "quality": 3,
    "confidence": "low",
    "rationale": "Poly supports Markdown-based journaling (auto-synced .md files in the Mind folder) and offers Vim keybindings for file editing, suggesting some keyboard-driven text editing capability, but there is no documentation of rich formatting elements like callouts, tables, code blocks, or embedded media in a dedicated note editor. Missing for 10: explicit support for headings/callouts/tables/code blocks, embedded media, and any description of a fast dedicated editor UI beyond basic Markdown journaling.",
    "evidenceIds": [
      "poly-docs-12",
      "poly-docs-15",
      "poly-docs-26",
      "poly-docs-32"
    ]
  },
  {
    "productId": "poly",
    "storyId": "self-host-local-only",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "All evidence points to Poly being a cloud-backed service (hosted MCP server at mcp.poly.app requiring OAuth login to Poly's cloud, cloud-based indexing/search) with no documented local-only mode or self-hosted sync backend option; community comments even complain that files/data must go through Poly's remote servers rather than staying local.",
    "evidenceIds": [
      "poly-probe-rt-2",
      "poly-docs-29",
      "poly-comm-4",
      "poly-comm-6"
    ]
  },
  {
    "productId": "poly",
    "storyId": "shared-space-collaboration",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Poly supports sharing files/folders and creating team Shared Drives with members and roles, and it preserves conflicting edits so any version can be recovered, which addresses collaborative access and non-destructive conflict handling. However, this is file-versioning-based (conflicts are preserved as separate recoverable versions, not merged live), with no evidence of real-time co-editing, presence awareness, or seamless merge like a true multiplayer notes app. Missing for 10: real-time simultaneous editing support, live presence/cursor indicators, and conflict-free merge (vs. version preservation) for concurrent note edits.",
    "evidenceIds": [
      "poly-docs-9",
      "poly-docs-33",
      "poly-docs-34",
      "poly-docs-10",
      "poly-docs-24"
    ]
  },
  {
    "productId": "poly",
    "storyId": "structured-queries-views",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Poly's docs describe file search, tagging, journaling, and multiple folder 'views' (Icon, Grid, Feed, Detail, Tree, etc.) but there is no evidence of structured/custom properties on notes nor of live query-driven database views like tables or boards built from property filters — the 'eight ways to look at a folder' are display modes, not queryable schema-based views.",
    "evidenceIds": [
      "poly-docs-25",
      "poly-docs-8",
      "poly-docs-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "tags-properties-metadata",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Poly documents tag support that syncs bidirectionally with Finder tags and colors, and search/retrieval features (natural language, visual similarity), but there is no evidence of 'typed properties' (structured metadata fields/schemas) or of consistent, structured tag-based retrieval workflows beyond basic color/tag sync. missing for 10: typed/structured property fields, evidence of consistent tag-based filtering or retrieval UI, cross-file property schemas.",
    "evidenceIds": [
      "poly-docs-8",
      "poly-docs-25",
      "poly-docs-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "uri-deep-link-automation",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Poly ships a scriptable `poly` CLI (poly-docs-6, poly-docs-17, poly-probe-4) and a local/hosted MCP endpoint (poly-docs-29, poly-probe-rt-2) that let external scripts search, read, and create/edit files including Mind journal notes, satisfying the 'local endpoint for workflows' part of the story. However there is no documented URI scheme or OS-level deep-link mechanism for opening/creating notes, only CLI/MCP paths. Missing for 10: URI scheme/deep-link support, explicit CLI subcommand for creating a note by title/URI, independent confirmation of CLI scripting reliability.",
    "evidenceIds": [
      "poly-docs-6",
      "poly-docs-17",
      "poly-docs-18",
      "poly-docs-29",
      "poly-probe-4",
      "poly-probe-rt-2"
    ]
  },
  {
    "productId": "poly",
    "storyId": "version-history-recovery",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Poly's docs explicitly describe file-level version history and recovery: 'flashback mode' lets you see exactly what files looked like at any past point, and edits/conflicts are preserved so 'you can recover any version of any file at any time' (poly-docs-5, poly-docs-10). Since notes (journal entries, Mind files) are just files synced in Poly, this recovery/versioning applies to them too. Missing for 10: no independent/hands-on verification of the restore UX specifically for notes, and no explicit mention of undeleting a note versus just reverting content.",
    "evidenceIds": [
      "poly-docs-5",
      "poly-docs-10",
      "poly-docs-12"
    ]
  },
  {
    "productId": "poly",
    "storyId": "web-clip-capture",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Poly's docs describe importing from Drive/Dropbox/iCloud/local files and from note apps like Notion/Obsidian/Evernote, but there is no mention of a browser extension, web clipper, or capture flow for saving web pages/articles/highlights directly into Poly. This is a fair capability for a 'second brain' note tool, so absence of evidence means it is not delivered.",
    "evidenceIds": [
      "poly-docs-1",
      "poly-docs-22",
      "poly-docs-26"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "agent-reads-writes-notes",
    "verdict": "partial",
    "quality": 4,
    "confidence": "medium",
    "rationale": "Reflect documents a real OAuth2/PKCE REST API (confirmed live via runtime probe) that supports appending data to notes and returning bookmarked links, giving agents a write path. However, the same probe notes the API is append-only by design because end-to-end encryption prevents Reflect's servers from reading note content — so headless READ of actual notes is not possible via the documented API, and no MCP server is documented. Missing for 10: a documented way to read/retrieve full note content headlessly, and an official MCP server integration.",
    "evidenceIds": [
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-rt-1",
      "reflect-docs-35"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "agentic-agent-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "There's no llms.txt (404 confirmed by probe) and no agent-oriented documentation aimed at AI agents; Reflect's docs are human-facing product docs, not machine-consumable agent instructions.",
    "evidenceIds": [
      "reflect-probe-1"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "agentic-ai-insights",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Reflect's AI palette lets users summarize meeting notes into action items/key takeaways, ask free-form questions, chat with filtered notes, and choose between GPT-4o and Claude 3.5 Sonnet — clear AI-generated insight/suggestion features built into the product. Missing for 10: independent/hands-on validation of insight quality and any proactive (vs. purely on-demand) suggestion generation.",
    "evidenceIds": [
      "reflect-docs-5",
      "reflect-docs-20",
      "reflect-docs-31",
      "reflect-docs-32",
      "reflect-docs-37",
      "reflect-docs-7",
      "reflect-docs-28"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "agentic-autonomous-automation",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Reflect is a note-taking app with integrations, deep links, and an append-only API, but there is no evidence of any automation/workflow engine, scheduler, or trigger system that runs autonomously in the background without user action. Integrations (Trello, Asana, calendar sync) are passive data pulls, not user-configured autonomous automations.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "agentic-builtin-assistant",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Reflect ships a built-in 'AI palette' that can summarize notes, list action items, answer custom prompts, and let users 'chat' with their notes using GPT-4o or Claude 3.5 Sonnet — a real in-app AI assistant a user can delegate simple analysis/writing tasks to. However, this is limited to text generation/QA over notes rather than broader agentic task execution (no evidence of multi-step autonomous actions, tool use, or task automation beyond note content). Missing for 10: evidence of autonomous multi-step task delegation, agentic tool-use/actions beyond text Q&A, and independent hands-on verification of the AI assistant's reliability.",
    "evidenceIds": [
      "reflect-docs-5",
      "reflect-docs-20",
      "reflect-docs-31",
      "reflect-docs-32",
      "reflect-docs-37",
      "reflect-docs-7"
    ]
  },
  {
    "productId": "reflect",
    "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": "reflect",
    "storyId": "agentic-mcp-client",
    "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": "reflect",
    "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": "reflect",
    "storyId": "agentic-nl-commands",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Reflect's AI palette lets users type natural-language prompts to summarize, extract action items, or chat with notes (cmd-j palette, custom prompts), and search supports semantic natural-language queries. However, this NL support is limited to content Q&A/summarization rather than controlling the app's actions—actual app commands are exposed via structured deep-link URLs (reflect://...&command=...) rather than natural language, so full agentic NL control is not evidenced. Missing for 10: evidence of NL commands driving app actions (e.g., creating/organizing notes, triggering integrations) beyond querying/summarizing content, and any independent/hands-on confirmation of this NL interface's reliability.",
    "evidenceIds": [
      "reflect-docs-20",
      "reflect-docs-31",
      "reflect-docs-32",
      "reflect-docs-7",
      "reflect-docs-28",
      "reflect-docs-38"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "agentic-official-cli",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "The axis applies to this product kind (peer products hold positive or none verdicts on this story), so lack of evidence for an applicable capability is \"none\", never \"na\". (na/none harmonized at arena bring-up — see pipeline/scripts/na-harmonize.ts.)",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "agentic-public-api",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Reflect documents a public REST API with OAuth2 (including PKCE) authentication for building third-party clients, and a runtime probe confirms the API endpoint is live and enforces auth as documented. However the API is explicitly limited to appending data and listing bookmarked links (not full CRUD due to E2E encryption), and there is no formal OpenAPI/swagger spec or llms.txt discoverability (both probed and returned 404s). Missing for 10: comprehensive OpenAPI/swagger schema, broader read/write API coverage beyond append-only actions, official SDKs, and machine-readable API discovery file.",
    "evidenceIds": [
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-rt-1",
      "reflect-probe-1",
      "reflect-probe-2"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "agentic-scoped-keys",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Reflect's API docs describe OAuth2 with PKCE (no secret keys needed) for authenticating a client, but there is no mention of scopes, granular permissions, or the ability to issue least-privilege credentials limited to specific actions/data for an agent — the API is described as a general append/list interface, not a scoped credentialing system.",
    "evidenceIds": [
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "agentic-sdks",
    "verdict": "partial",
    "quality": 3,
    "confidence": "medium",
    "rationale": "Reflect exposes a documented REST API with OAuth2/PKCE authentication that developers can build against, confirmed live via probe, but there is no dedicated SDK package, no OpenAPI/swagger spec, and no llms.txt for AI-native tooling — the API itself is limited (append-only, no note read due to E2E encryption). missing for 10: official SDK libraries, OpenAPI spec, llms.txt/AI-friendly docs, read access to note content.",
    "evidenceIds": [
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-1",
      "reflect-probe-2",
      "reflect-probe-rt-1"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "agentic-webhooks",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Reflect's API docs describe OAuth2-based REST access for appending/reading data, but there is no mention of webhooks or event subscriptions anywhere in the docs or probes; the API is described as append-only and pull-based, not event-driven.",
    "evidenceIds": [
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-rt-1"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "ai-plugin-integrations",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Reflect ships first-party AI features letting users toggle between GPT-4o and Claude 3.5 Sonnet for in-app AI palette actions (summarize, chat with notes), and exposes an OAuth2/PKCE API for building custom clients. However there's no evidence of a broader plugin ecosystem or first-party connectors letting external AI tools/agents read and act on notes — the API is documented as append-only and scoped narrowly (bookmarks, appending data), not an AI integration surface, and no third-party AI plugin marketplace is mentioned. Missing for 10: a documented AI-plugin ecosystem, evidence of external AI tools consuming notes via API, and richer API scope beyond append-only actions.",
    "evidenceIds": [
      "reflect-docs-37",
      "reflect-docs-31",
      "reflect-docs-32",
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-rt-1"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "api-interactive-docs",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Reflect's API docs (reflect.academy/api) describe OAuth2 endpoints and PKCE support in prose, but there is no evidence of an interactive API reference with runnable examples — probes confirm no OpenAPI/Swagger spec (404s) and no llms.txt, and nothing in the docs shows a live sandbox or try-it-now console.",
    "evidenceIds": [
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-1",
      "reflect-probe-2",
      "reflect-probe-rt-1"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "api-machine-spec",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Reflect has an API with OAuth2/PKCE docs, but probes confirm no OpenAPI/Swagger spec or machine-readable schema is published (all candidate paths 404, llms.txt 404); documentation is prose-only.",
    "evidenceIds": [
      "reflect-probe-2",
      "reflect-probe-1",
      "reflect-docs-2",
      "reflect-docs-18"
    ]
  },
  {
    "productId": "reflect",
    "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": "reflect",
    "storyId": "api-versioning-policy",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The API docs describe OAuth2/PKCE authentication and basic endpoints, but there is no evidence of any versioning scheme (e.g., v1/v2 paths), changelog, or documented deprecation policy anywhere in the docs or probes; OpenAPI/spec probes also 404. missing for 10: API version numbering, changelog/release notes, explicit deprecation policy or backward-compatibility guarantees.",
    "evidenceIds": [
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-2",
      "reflect-probe-rt-1"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "automation-bulk-operations",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Reflect's API supports appending data to individual notes and returning bookmark lists, but there is no evidence of any bulk/batch operation capability (e.g., batch update, multi-note transformation, or scripted bulk edits across many items at once); the API is explicitly append-only per note due to E2E encryption.",
    "evidenceIds": [
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-rt-1"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "automation-rules-engine",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Reflect's docs describe integrations (Trello/Asana/calendar sync), deep links, and an API, but nowhere is there a rules engine or event-trigger/action automation system (e.g., 'when X happens, do Y'). No evidence supports this capability.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "automation-scheduled-jobs",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Reflect is a personal note-taking/journaling app, not an automation/workflow platform; there is no scheduler, cron, or recurring-job concept in its feature set (daily notes are manually created journaling prompts, not scheduled jobs). Scheduling recurring workflows is a category error for this product type.",
    "evidenceIds": [
      "reflect-docs-26",
      "reflect-docs-36"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "automation-versioned-workflows",
    "verdict": "na",
    "quality": 0,
    "confidence": "high",
    "rationale": "Reflect is a note-taking/knowledge-management app with API, integrations, and note history (version/revert notes), but it has no automation/workflow-building feature (e.g., triggers/actions pipelines) that could be versioned, reviewed, or rolled back — the axis doesn't apply to this product category.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "bidirectional-links",
    "verdict": "partial",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Docs confirm [[ ]] wiki-link shortcut, backlinks as incoming links, and filtering notes by where they're backlinked to/from, covering the core linking-graph story. However, evidence never explicitly mentions detection/surfacing of 'unlinked mentions' in context, which is a specific part of the story. Missing for 10: explicit unlinked-mention detection/surfacing, independent hands-on demonstration of backlink UI in context.",
    "evidenceIds": [
      "reflect-docs-4",
      "reflect-docs-24",
      "reflect-docs-25",
      "reflect-docs-15",
      "reflect-docs-22",
      "reflect-docs-27"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "block-references-embeds",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence shows Reflect supports note-to-note linking and backlinks ([[ shortcuts, backlinks list) but nowhere documents block- or section-level transclusion/embedding that stays synced across notes — only whole-note linking and filtering by backlink is described.",
    "evidenceIds": [
      "reflect-docs-4",
      "reflect-docs-24",
      "reflect-docs-25"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "builtin-ai-assistant",
    "verdict": "full",
    "quality": 7,
    "confidence": "medium",
    "rationale": "Docs show a built-in AI palette (cmd-j) that can summarize meeting notes, list action items, answer custom prompts, and 'chat' with filtered/specific notes grounded in the user's own content, with model choice (GPT-4o/Claude 3.5). Data-scoping control is shown via search filters before chatting with a subset of notes, and E2E encryption is claimed for note content, though community evidence notes files/images are excluded from encryption. Missing for 10: independent hands-on review of AI answer quality/grounding, explicit UI controls for restricting AI's data access beyond search filters, and no clarification on how E2E encryption interacts with cloud-based AI processing.",
    "evidenceIds": [
      "reflect-docs-5",
      "reflect-docs-7",
      "reflect-docs-20",
      "reflect-docs-28",
      "reflect-docs-31",
      "reflect-docs-32",
      "reflect-docs-37",
      "reflect-docs-6",
      "reflect-docs-35",
      "reflect-comm-8"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "community-plugin-ecosystem",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "There is no evidence of a plugin/extension marketplace; instead community evidence explicitly states Reflect is designed to be 'fully functional without any plugins' as a differentiator from Obsidian, indicating no such catalog exists.",
    "evidenceIds": [
      "reflect-comm-2"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "daily-notes-journal",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Reflect's docs explicitly confirm automatic daily notes created every day as the journaling landing place, and multiple features (voice transcription, bookmarking, calendar sync, integrations) are documented as auto-filling into that daily note, showing it's the default capture surface. Missing for 10: explicit confirmation of a customizable daily-note *template* pre-filling structure/content, and independent hands-on verification of the daily-note experience beyond docs.",
    "evidenceIds": [
      "reflect-docs-26",
      "reflect-docs-36",
      "reflect-docs-34",
      "reflect-docs-29",
      "reflect-docs-13",
      "reflect-docs-14",
      "reflect-docs-39"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "e2ee-sync-devices",
    "verdict": "disputed",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Reflect markets end-to-end encryption 'no one else can read them (not even us)' and syncs notes across devices as a core feature, but a founder-sourced community comment reveals a concrete carve-out: files/images uploaded are NOT end-to-end encrypted, contradicting the blanket vendor claim. Missing for 10: explicit documentation of sync architecture/conflict resolution across devices, independent security audit report details, and a full accounting of what content types are/aren't encrypted.",
    "evidenceIds": [
      "reflect-docs-16",
      "reflect-docs-35",
      "reflect-comm-8",
      "reflect-comm-6",
      "reflect-comm-3"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "full-export-portability",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Reflect explicitly documents export into open formats (HTML, Markdown) at any time, and the founder corroborates this as an anti-lock-in feature in community discussion. missing for 10: independent hands-on verification of a full/bulk knowledge-base export (vs per-note export) and confirmation that all note types/attachments are included.",
    "evidenceIds": [
      "reflect-docs-44",
      "reflect-comm-7"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "full-text-search-filters",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Reflect documents semantic + full-text search with filters on tags, backlinks, date, daily notes, and pinned status (reflect-docs-6,15,22,27,41), covering most of the story. However, no explicit filter on \"properties\" (beyond tags) or \"paths\" is documented, and offline capability/search-while-offline is never mentioned anywhere in the evidence. Missing for 10: explicit property-based filtering, path-based filtering, and any documentation of offline search support.",
    "evidenceIds": [
      "reflect-docs-6",
      "reflect-docs-15",
      "reflect-docs-22",
      "reflect-docs-27",
      "reflect-docs-41",
      "reflect-docs-28"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "graph-view-navigation",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Reflect's docs describe backlinks, [[ ]] linking, and filtering notes by tags/date/backlinks, but nowhere is an interactive visual graph view of the knowledge base mentioned or shown — the evidence only covers list-style backlinks and search filters, not a graph exploration UI.",
    "evidenceIds": [
      "reflect-docs-4",
      "reflect-docs-25",
      "reflect-docs-15",
      "reflect-docs-22",
      "reflect-docs-27"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "import-from-other-tools",
    "verdict": "partial",
    "quality": 6,
    "confidence": "medium",
    "rationale": "Reflect's docs confirm native import support for Evernote (ENEX), Roam (JSON), and Markdown files, three of the four sources named in the story, plus Apple Notes and Workflowy. However, Notion import is not mentioned anywhere in the import/export documentation, and there is no explicit confirmation that internal links or attachments are preserved through the import process for any of these formats. Missing for 10: Notion import support, explicit evidence that links and attachments (not just note text) survive import.",
    "evidenceIds": [
      "reflect-docs-1",
      "reflect-docs-33",
      "reflect-docs-19",
      "reflect-docs-44"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "local-first-own-files",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Reflect is a cloud-synced, end-to-end-encrypted note service (docs-16/35) with export-to-Markdown/HTML available (docs-44, comm-7), but there is no evidence notes are stored as local files or in a local-first store the user can read without the app, nor evidence of full offline functionality — the API and encryption model imply server-mediated sync rather than local-first ownership.",
    "evidenceIds": [
      "reflect-docs-16",
      "reflect-docs-35",
      "reflect-docs-44",
      "reflect-comm-7",
      "reflect-comm-8"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "mobile-apps-parity",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack covers imports, API, AI features, publishing, security, and integrations extensively, but contains no mention of iOS or Android apps, their feature set, or mobile-specific capture/search/linking capabilities. Without any documentation or community evidence describing dedicated mobile apps (full-featured or otherwise), there is nothing to substantiate this story.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "note-templates",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "The evidence pack shows daily notes, backlinks, tags, filters, imports, and AI palette features, but nowhere mentions reusable note templates with variable substitution (e.g., date/title placeholders) for creating recurring note types. Missing for 10: any documentation of a templates feature, variable/placeholder syntax, or ability to save/apply templates to new notes.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "open-format-longevity",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Reflect explicitly documents export to open formats (Markdown, HTML) and import from Markdown/JSON-based formats, and the founder publicly confirms notes can always be exported to Markdown/HTML to avoid lock-in. Missing for 10: no independent hands-on verification of export fidelity/completeness, and export format is somewhat limited (HTML/Markdown only, not full JSON archive of all metadata).",
    "evidenceIds": [
      "reflect-docs-1",
      "reflect-docs-33",
      "reflect-docs-44",
      "reflect-comm-7"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "openness-api-parity",
    "verdict": "partial",
    "quality": 3,
    "confidence": "medium",
    "rationale": "Reflect does expose an OAuth2/PKCE REST API confirmed live via runtime probe, but by its own docs it only supports appending data to notes and returning bookmarked links plus 'a few other things' — a small subset of UI capabilities (semantic search, AI chat, publishing, backlinks, calendar/integrations, deep links) with no evidence these are API-accessible. The API is also explicitly append-only for note content since E2E encryption prevents server-side reads, meaning even reading/editing existing notes via API is not possible as it is in the UI. Missing for 10: API endpoints for search/AI features, note reading/editing, publishing, and integrations parity with the UI.",
    "evidenceIds": [
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-rt-1",
      "reflect-docs-6",
      "reflect-docs-9"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "openness-full-export",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Reflect explicitly documents export to open formats (HTML, Markdown) and the founder confirms this is a deliberate anti-lock-in policy, directly matching the story. missing for 10: no independent hands-on verification of a full data export/migration, and export is confined to notes (E2E-encrypted files/images may not be fully portable per reflect-comm-8).",
    "evidenceIds": [
      "reflect-docs-44",
      "reflect-docs-1",
      "reflect-comm-7",
      "reflect-comm-8"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "openness-open-license",
    "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": "reflect",
    "storyId": "openness-self-host",
    "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": "reflect",
    "storyId": "plugin-developer-api",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Reflect documents a limited OAuth2 REST API for appending data/links and deep-linking (reflect-docs-2,17,18,38), but this is not a plugin extension SDK, and community evidence explicitly states Reflect is 'fully functional without any plugins' by design, unlike Obsidian (reflect-comm-2). No plugin architecture, extension samples, or plugin developer docs exist.",
    "evidenceIds": [
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-comm-2"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "privacy-data-residency",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence anywhere in the pack mentions data residency, region selection, or storage location choices; Reflect discusses E2E encryption and export options but nothing about choosing where data is stored geographically.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "privacy-no-training",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Reflect advertises end-to-end encryption of note content (reflect-docs-16, reflect-docs-35), which limits Reflect's own server-side access, but there is no explicit statement anywhere in the evidence about whether note content sent to third-party AI models (GPT-4o, Claude 3.5 Sonnet per reflect-docs-37) is used for model training, nor any opt-out/data-processing policy addressing AI training use. Community evidence even notes files/images are excluded from E2E encryption (reflect-comm-8), raising unaddressed questions rather than resolving them.",
    "evidenceIds": [
      "reflect-docs-16",
      "reflect-docs-35",
      "reflect-docs-37",
      "reflect-comm-8"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "privacy-retention-controls",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "Evidence covers export/backup, encryption, and API access, but there is no documentation or mention of account/data deletion, retention settings, or right-to-erasure controls anywhere in the pack.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "privacy-telemetry-optout",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "No evidence pack item discusses telemetry, analytics, usage tracking, or an opt-out/privacy settings toggle for such tracking; the evidence covers encryption, imports, AI features, and API access instead. Missing for 10: any mention of telemetry collection, opt-out settings, or a privacy policy addressing usage tracking.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "publish-notes-website",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Reflect docs confirm one-click publishing of individual notes to a public URL with minimal branding, which supports sharing selected notes without leaving the app, but there is no evidence of a browsable multi-page 'digital garden' site (index/navigation) or confirmation that backlinks between published notes remain functional as working links. Missing for 10: evidence of a site-level index/navigation across multiple published notes, confirmation that internal links/backlinks resolve correctly between published pages, and any custom-domain or site-branding options.",
    "evidenceIds": [
      "reflect-docs-9",
      "reflect-docs-23",
      "reflect-docs-25"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "rich-markdown-editing",
    "verdict": "none",
    "quality": 0,
    "confidence": "low",
    "rationale": "The evidence pack covers linking/backlinks, daily notes, import/export in Markdown, AI features, and encryption, but contains no documentation or community evidence about core rich-text editing capabilities such as headings, callouts, tables, code blocks, or embedded media, nor about keyboard-driven editing speed. Missing for 10: any docs mentioning headings/callout blocks/tables/code blocks/embedded media support, and any evidence of keyboard-shortcut-driven formatting workflow.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "self-host-local-only",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Reflect is a cloud-hosted, closed-source SaaS with E2E encryption on the vendor's servers — there is no evidence of a local-only mode or self-hostable sync backend; only export to Markdown/HTML for backup is documented, not operating your own sync server.",
    "evidenceIds": [
      "reflect-docs-44",
      "reflect-comm-7",
      "reflect-docs-35"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "shared-space-collaboration",
    "verdict": "none",
    "quality": 0,
    "confidence": "medium",
    "rationale": "No evidence pack item mentions shared vaults/spaces, multi-user collaboration, or real-time co-editing/conflict resolution; Reflect's documented features are import/export, linking, AI, search, publishing, integrations, and E2E encryption for a single user's notes, with no mention of collaborative editing between multiple people.",
    "evidenceIds": []
  },
  {
    "productId": "reflect",
    "storyId": "structured-queries-views",
    "verdict": "none",
    "quality": 0,
    "confidence": "high",
    "rationale": "Reflect only supports basic filtering (tags, dates, backlinks, pinned) per reflect-docs-15/22/27, with no evidence of structured/typed properties, query language, or database-style table/board/list views like Notion or Roam-style databases. No documentation or community evidence mentions live queryable views rendered from structured properties.",
    "evidenceIds": [
      "reflect-docs-15",
      "reflect-docs-22",
      "reflect-docs-27"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "tags-properties-metadata",
    "verdict": "partial",
    "quality": 5,
    "confidence": "medium",
    "rationale": "Reflect clearly supports tags (#tags) for organization and retrieval, including automatic tagging (e.g. Kindle imports tagged #book) and filtering notes by #tags, backlinks, dates, and pinned status. However, there is no evidence of 'typed properties' (structured metadata fields with types, akin to database properties) — Reflect's organization model is built around tags, backlinks, and daily notes, not typed property schemas. Missing for 10: evidence of typed/structured properties (not just tags), evidence of consistent property schemas across notes, and any UI for defining property types.",
    "evidenceIds": [
      "reflect-docs-15",
      "reflect-docs-22",
      "reflect-docs-27",
      "reflect-docs-30",
      "reflect-docs-43"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "uri-deep-link-automation",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Reflect ships a documented custom URI scheme (reflect://reflect?command=...) for deep linking into the app, plus a REST API with OAuth2/PKCE authentication that a runtime probe confirms is live and enforcing auth, letting developers script note creation/appending from outside the app. missing for 10: independent/hands-on developer confirmation of building an external integration, and full endpoint/command reference beyond the docs snippets.",
    "evidenceIds": [
      "reflect-docs-3",
      "reflect-docs-38",
      "reflect-docs-2",
      "reflect-docs-17",
      "reflect-docs-18",
      "reflect-probe-rt-1"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "version-history-recovery",
    "verdict": "full",
    "quality": 8,
    "confidence": "high",
    "rationale": "Reflect's documentation explicitly states it continually records edits and lets users revert a note to any point in time, directly matching the version history/restore story (docs-8). Deleted note recovery isn't explicitly documented, so missing for 10: explicit documentation of deleted-note recovery/trash restoration, and independent hands-on corroboration of restore functionality.",
    "evidenceIds": [
      "reflect-docs-8"
    ]
  },
  {
    "productId": "reflect",
    "storyId": "web-clip-capture",
    "verdict": "full",
    "quality": 9,
    "confidence": "high",
    "rationale": "Reflect ships an official Chrome and Safari browser extension for bookmarking websites, capturing snippets, and highlights, which are automatically added to the daily note — directly matching the researcher's clipper/capture workflow. Documentation is detailed and first-party; missing for 10: independent hands-on review specifically validating the clipper extension's reliability/quality.",
    "evidenceIds": [
      "reflect-docs-12",
      "reflect-docs-29",
      "reflect-docs-42"
    ]
  }
]
