# Landing-page comparison: sourced Harvey-ball ratings

Access date: **2026-11-06** · TensorCraft version **2.5.0** (TensorCraft row re-rated for v2.5.0 by an independent rater; competitor rows unchanged)

> [!IMPORTANT]
> These ratings are the TensorCraft authors' assessment of public vendor documentation and of the TensorCraft repository and live edge deployment (v2.5.0), as of the access date. They may be out of date or incomplete. Vendors change products often; check the cited sources before relying on any rating. Product names are trademarks of their owners.

**Adverse results for TensorCraft (stated first):** TensorCraft scores **0 on compliance**: no independent third-party audit or certification (no SOC 2, no ISO 27001, no HIPAA attestation) of TensorCraft exists, and inherited Cloudflare infrastructure attestations are not an audit of TensorCraft. No TensorCraft cell scores 4 except open source. **Local-first / offline stays at 2**: a fresh offline tab shows the app shell but no issues, and offline-replay dedup is not atomic. **AI is 2**: three AI endpoints plus deterministic rules, not autonomous agents or automatic ticket resolution. ITSM (3) lacks SLA pause and a post-approval change lifecycle, and JIT access, KB and intake still answer HTTP 501 on the edge (container only). CMDB (3) has no automated discovery agents. The container edition has no production deployment, and the GCP Terraform module is PLANNED.

**What changed in v2.5.0:** ITSM 2→3, CMDB 2→3 and AI 1→2, because those modules now run live on the Cloudflare edge (production E2E verdict PASS, manifest `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/manifest.json`, SHA-256: 442c9fb1e62a90f4423585a654f7603f171d3998c0928d2eadecce14328e11ec). Keyboard-first, local-first, self-hosting and engineering tracking were reviewed and **not raised** (reasons in the TensorCraft table).

## Rating scale

| Balls | Value | Meaning |
| --- | --- | --- |
| ○ | 0/4 | none / not found |
| ◔ | 1/4 | minimal |
| ◑ | 2/4 | partial |
| ◕ | 3/4 | substantial |
| ● | 4/4 | full / core strength |

Dimensions: **Keyboard-first** (`keyboard_first`); **Local-first / offline** (`local_first_offline`); **Open source (OSI)** (`open_source`); **Self-hosting** (`self_hosting`); **ITSM processes** (`itsm`); **CMDB / assets** (`cmdb`); **AI agents / automation** (`ai_automation`); **Engineering tracking** (`eng_tracking`); **Compliance attestations** (`compliance`).

TensorCraft `availability`: **edge** = live on https://tensorcraft.pages.dev; **container** = only in the container/self-hosted edition (HTTP 501 on the edge); **edge+container** = live on the edge and in the container edition; **none** = not available.

## Summary matrix

| Product | Keyboard-first | Local-first / offline | Open source (OSI) | Self-hosting | ITSM processes | CMDB / assets | AI agents / automation | Engineering tracking | Compliance attestations |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| TensorCraft (v2.5.0) | ◕ 3 | ◑ 2 | ● 4 | ◕ 3 | ◕ 3 | ◕ 3 | ◑ 2 | ◕ 3 | ○ 0 |
| Linear | ● 4 | ◕ 3 | ○ 0 | ○ 0 | ◔ 1 | ○ 0 | ◕ 3 | ● 4 | ● 4 |
| Serval | ◕ 3 | ○ 0 | ○ 0 | ○ 0 | ◕ 3 | ◕ 3 | ● 4 | ○ 0 | ◕ 3 |
| Jira (Cloud and Data Center) | ◕ 3 | ○ 0 | ○ 0 | ◑ 2 | ○ 0 | ○ 0 | ◕ 3 | ● 4 | ● 4 |
| ServiceNow ITSM | ◑ 2 | ◔ 1 | ○ 0 | ◑ 2 | ● 4 | ● 4 | ● 4 | ◑ 2 | n/v |
| Atlassian Jira Service Management | ◑ 2 | ○ 0 | ○ 0 | ◑ 2 | ● 4 | ◕ 3 | ◕ 3 | ○ 0 | ● 4 |

`n/v` = not verified (see the ServiceNow compliance row).

## Per-product ratings

### TensorCraft (v2.5.0)

| Dimension | Rating | Availability | Rationale | Sources / repo evidence |
| --- | --- | --- | --- | --- |
| Keyboard-first | ◕ 3/4 | edge+container | Cmd/Ctrl+K palette with module commands, a ? cheat sheet generated from the keymap registry, g-chords, x multi-select with bulk actions, and per-user remapping saved server-side (collision, reserved-key and chord-prefix checks). Not raised to 4: fewer bindings than Linear, and the real key-event UI run was on a preview branch; production E2E covers the served bundle and the prefs API. | [2], [116], [105]; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/offline/04_spa_bundle_offline_keyboard.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/offline/27_prefs_post_valid.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/offline/29_prefs_collision_409.json`; `reports/v2.5.0_workstreams/offline/README.md` |
| Local-first / offline | ◑ 2/4 | edge+container | Live on the edge: app-shell service worker, IndexedDB outbox, idempotent batch replay (/api/v2/commands), delta pull and Rust CRDT merge. Kept at 2: a fresh offline tab shows the shell but no issues (no issue snapshot is persisted), the dedup claim and the write are not atomic, and labels removed during a conflict are kept by the union merge. | [109], [105], [7]; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/offline/manifest.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/offline/10_batch_replay_second_all_duplicate.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/offline/20_conflict_stale_client_loses.json`; `reports/v2.5.0_workstreams/offline/README.md` |
| Open source (OSI) | ● 4/4 | edge+container | Apache-2.0 (LICENSE at repo root; SPDX headers). The licence applies to both editions. | `LICENSE#L1-L3`; `web/public/sw.js#L1` |
| Self-hosting | ◕ 3/4 | edge+container | Hardened OCI image proven locally on SQLite and PostgreSQL 16; selfhost.sh deployed the whole edge edition into a throwaway Cloudflare project in about 49 s (readyz, version and deployment checked, then torn down). Not raised to 4: the edge self-host needs a Cloudflare account, the container edition has no production deployment, and the GCP Terraform module is PLANNED. | [1], [114]; `reports/v2.5.0_selfhost/selfhost_live_readback.json`; `reports/v2.5.0_selfhost/teardown.log`; `docs/DEPLOYMENT_GUIDE.md#L7-L9`; `deploy/cloudflare/README.md#L39-L41` |
| ITSM processes | ◕ 3/4 | edge+container | Live on the edge: incidents (impact x urgency priority, major incidents with postmortem, timeline), problems/KEDB, changes with multi-principal CAB approval and freeze windows, service catalog requests, and SLA policies with live clocks. Not 4: no SLA pause, the change lifecycle stops at approved/scheduled (no implement/review/close), and JIT access, KB and intake are container-only (501 on edge). | [100], [106], [119], [4], [111], [112], [113]; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/itsm/manifest.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/itsm/27_major_resolve_with_postmortem.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/itsm/43_cab_second_distinct_approver.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/itsm/64_sla_report_matches_incident_clocks.json`; `deploy/cloudflare/src/modules/itsm.ts#L264-L269`; `deploy/cloudflare/src/modules/itsm.ts#L682`; `reports/v2.5.0_workstreams/itsm/README.md` |
| CMDB / assets | ◕ 3/4 | edge+container | Live on the edge: CIs with typed relationships, multi-hop blast radius with cycle detection, idempotent import with reconciliation (stale marking), hardware asset lifecycle and software entitlements, seats and reclamation. Not 4: no automated discovery agents (discovery is import only). | [101], [5], [118], [115]; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/cmdb/manifest.json`; `reports/v2.5.0_workstreams/cmdb/README.md` |
| AI agents / automation | ◑ 2/4 | edge+container | Live on the edge: three Workers AI endpoints (issue triage suggestion, incident summary, change risk using the CMDB blast radius), each logged in agent_runs, plus deterministic automation rules (comment, notify, set incident field, loop guard). Not autonomous agents and no automatic ticket resolution. | [103], [107], [6]; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/ai/manifest.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/ai/13_ai_triage_issue_200.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/ai/26_ai_change_risk_200.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/ai/32_executions_rule3_matched.json`; `reports/v2.5.0_workstreams/ai/README.md` |
| Engineering tracking | ◕ 3/4 | edge+container | Live on the edge: issues, cycles with rollover, projects, milestones, initiatives, project updates, relations with cycle checks, sub-issues, a triage inbox and signed GitHub webhooks. Not raised to 4: breadth and maturity are below Linear and Jira (no velocity or burndown reporting found in the edge planning module). | [102], [3]; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/eng/manifest.json`; `reports/v2.5.0_workstreams/eng/README.md`; `deploy/cloudflare/src/modules/eng.ts` |
| Compliance attestations | ○ 0/4 | none | No independent third-party audit or certification of TensorCraft (0 external CPA/ISO audits). Live technical controls on the edge: hash-chained audit log with a verify endpoint, DSAR export, erasure, retention, SBOM, and a controls endpoint that marks SOC 2, ISO 27001 and HIPAA as EXTERNAL_AUDIT_NOT_PERFORMED. Inherited Cloudflare infrastructure attestations are not an audit of TensorCraft. | [104], [108], [117], [120]; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/compliance/manifest.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/compliance/04_controls_honest_status.json`; `reports/deploy_cloudflare_pages_v2.5.0_20261106T201342Z/e2e/compliance/02_ws1_verify_chain.json`; `reports/v2.5.0_workstreams/compliance/README.md` |

**Rating change from the previous (v2.2.0) row:**

| Dimension | v2.2.0 | v2.5.0 | Change |
| --- | --- | --- | --- |
| Keyboard-first | 3 (edge) | 3 (edge+container) | unchanged |
| Local-first / offline | 2 (container) | 2 (edge+container) | unchanged |
| Open source (OSI) | 4 (edge) | 4 (edge+container) | unchanged |
| Self-hosting | 3 (container) | 3 (edge+container) | unchanged |
| ITSM processes | 2 (container) | 3 (edge+container) | raised |
| CMDB / assets | 2 (container) | 3 (edge+container) | raised |
| AI agents / automation | 1 (container) | 2 (edge+container) | raised |
| Engineering tracking | 3 (container) | 3 (edge+container) | unchanged |
| Compliance attestations | 0 (none) | 0 (none) | unchanged |

**How TensorCraft differs:** Reference row (v2.5.0). Re-rated by an independent rater from the repository, the live Cloudflare edge deployment and the production E2E run, not from marketing copy. These remain the TensorCraft authors' assessment.

Authenticated evidence is cited from the production E2E step files (the rater did not log in). Unauthenticated live checks and their SHA-256 values: `docs/research/proofs/landing_comparison_v2.5.0_20261106T201736Z/manifest.json`.

### Linear

| Dimension | Rating | Rationale | Sources |
| --- | --- | --- | --- |
| Keyboard-first | ● 4/4 | Actions available via keyboard shortcuts and the Cmd/Ctrl+K command menu across the product. | [10], [11] |
| Local-first / offline | ◕ 3/4 | Offline mode in desktop and web; realtime sync engine. Offline write-queue behaviour is not documented in the pages reviewed. | [12], [13] |
| Open source (OSI) | ○ 0/4 | The public repo holds MIT-licensed tools, SDKs and plugins; application source not found published. | [14] |
| Self-hosting | ○ 0/4 | Not found in public sources reviewed; offered as a hosted service. | — |
| ITSM processes | ◔ 1/4 | Linear Asks turns internal requests (including IT needs) into issues; no incident/problem/change processes found. | [15] |
| CMDB / assets | ○ 0/4 | Not found in public sources reviewed. | — |
| AI agents / automation | ◕ 3/4 | Agent platform (agents can open PRs and act on issues) and Triage Intelligence that can auto-apply suggestions. | [16], [17] |
| Engineering tracking | ● 4/4 | Core product: issues, cycles, projects and initiatives. | [18] |
| Compliance attestations | ● 4/4 | SOC 2 Type II and ISO/IEC 27001:2022 stated by the vendor. | [19], [20] |

**How TensorCraft differs:** Linear is a hosted, proprietary tracker with a mature keyboard-driven UI, an offline mode and vendor-stated SOC 2 Type II and ISO/IEC 27001 attestations. TensorCraft is Apache-2.0 code you can run yourself, and its container edition adds early-stage ITSM and CMDB modules. TensorCraft has a smaller feature set and no attestations; its hosted edge edition now also runs planning, ITSM, CMDB, AI and offline-sync modules, at an earlier stage than Linear's product.

### Serval

| Dimension | Rating | Rationale | Sources |
| --- | --- | --- | --- |
| Keyboard-first | ◕ 3/4 | Documented Cmd+K command palette and global shortcuts; the product is primarily positioned as AI-first rather than keyboard-first. | [30] |
| Local-first / offline | ○ 0/4 | Not found in public sources reviewed. | — |
| Open source (OSI) | ○ 0/4 | Not found in public sources reviewed. | — |
| Self-hosting | ○ 0/4 | Vendor-operated in two data center regions; no self-hosted option found. | [37] |
| ITSM processes | ◕ 3/4 | Incident, problem, change and request ticketing documented. Change-ticket experience redesigned in Oct 2026; depth relative to long-established suites not assessed. | [31], [32], [33], [34] |
| CMDB / assets | ◕ 3/4 | CMDB database template with relationships, plus hardware-asset template. | [35], [36] |
| AI agents / automation | ● 4/4 | AI triage, routing and automatic resolution of routine requests; automated JIT access provisioning. | [34], [39] |
| Engineering tracking | ○ 0/4 | Not found in public sources reviewed (no sprints/cycles or engineering projects). | — |
| Compliance attestations | ◕ 3/4 | SOC 2 Type II certified per vendor docs. ISO 27001 not found; trust center is JS-rendered and could not be verified. | [38] |

**How TensorCraft differs:** Serval is a hosted, AI-first service-management platform. Its docs cover incident, problem and change tickets, a CMDB template, automated request resolution and a SOC 2 Type II certification. TensorCraft is open source, can be self-hosted, and centres on engineering issue tracking with a keyboard-first client backed by a local replica. Its ITSM, CMDB and LLM features are earlier-stage (now live on the edge as well as in the container edition), and it carries no attestations.

### Jira (Cloud and Data Center)

| Dimension | Rating | Rationale | Sources |
| --- | --- | --- | --- |
| Keyboard-first | ◕ 3/4 | Cmd/Ctrl+K command palette and single-key shortcuts (C to create); mouse-driven UI remains primary. | [50], [51] |
| Local-first / offline | ○ 0/4 | Not found in public sources reviewed. | — |
| Open source (OSI) | ○ 0/4 | Not found in public sources reviewed (no OSI-licensed source). | — |
| Self-hosting | ◑ 2/4 | Jira Software Data Center is self-managed, but new customers could no longer buy it after 30 Mar 2026; end of life 28 Mar 2029. | [56], [53], [54], [55] |
| ITSM processes | ○ 0/4 | ITSM is provided by the separate Jira Service Management product (see that row). | — |
| CMDB / assets | ○ 0/4 | Assets/CMDB is a Jira Service Management capability (see that row). | — |
| AI agents / automation | ◕ 3/4 | Rovo agents automate workflow steps across Atlassian products. | [59] |
| Engineering tracking | ● 4/4 | Sprints, boards, epics; core product. | [52] |
| Compliance attestations | ● 4/4 | Atlassian publishes SOC reports (via its Trust Portal) and ISO/IEC 27001:2022 certification. | [57], [58] |

**How TensorCraft differs:** Jira is a widely used, proprietary tracker with sprints, a command palette and published Atlassian SOC and ISO/IEC 27001 materials. Its self-managed Data Center edition was closed to new customers on 30 March 2026 and reaches end of life on 28 March 2029. TensorCraft is Apache-2.0, built to be self-hosted and has a local IndexedDB replica in the browser; it is far less mature and has no attestations.

### ServiceNow ITSM

| Dimension | Rating | Rationale | Sources |
| --- | --- | --- | --- |
| Keyboard-first | ◑ 2/4 | Next Experience keyboard shortcuts exist but must be enabled and vary by screen/browser; not the primary UX. | [76] |
| Local-first / offline | ◔ 1/4 | Offline mode for mobile apps only; no local-first web client found. | [77] |
| Open source (OSI) | ○ 0/4 | Not found in public sources reviewed. | — |
| Self-hosting | ◑ 2/4 | Self-hosted (on-premise) instances exist; the vendor reports them as a minority of cases. | [79], [80] |
| ITSM processes | ● 4/4 | Incident, problem, change and request management. | [70], [71], [72], [73] |
| CMDB / assets | ● 4/4 | CMDB of CIs, services and relationships. | [74] |
| AI agents / automation | ● 4/4 | Now Assist AI agents, e.g. an incident agent that attempts self-service resolution first. | [75] |
| Engineering tracking | ◑ 2/4 | Agile Development 2.0 (Scrum), part of Strategic Portfolio Management rather than ITSM. | [78] |
| Compliance attestations | ○ 0/4 (not verified) | NOT VERIFIED: trust.servicenow.com is JS-rendered and servicenow.com marketing pages timed out over curl, so no attestation text could be fetched. Do not show this as "none" on the landing page; show "not verified". | — |

**How TensorCraft differs:** ServiceNow ITSM is a broad enterprise platform with documented incident, problem, change and request management, a CMDB and AI agents, and a minority of customers run self-hosted instances. TensorCraft is a much smaller open-source project that pairs engineering issue tracking with lightweight ITSM and CMDB modules (edge and container editions). It does not offer ServiceNow's enterprise depth.

### Atlassian Jira Service Management

| Dimension | Rating | Rationale | Sources |
| --- | --- | --- | --- |
| Keyboard-first | ◑ 2/4 | Jira Cloud platform command palette documented; no JSM-specific keyboard documentation found (JSM shortcut page returned 404). | [50] |
| Local-first / offline | ○ 0/4 | Not found in public sources reviewed. | — |
| Open source (OSI) | ○ 0/4 | Not found in public sources reviewed. | — |
| Self-hosting | ◑ 2/4 | JSM Data Center is on the end-of-life list: no new-customer sales after 30 Mar 2026; end of life 28 Mar 2029. | [55], [53], [54] |
| ITSM processes | ● 4/4 | Request, incident, problem, change and configuration management. | [60] |
| CMDB / assets | ◕ 3/4 | Assets with dependency mapping between configuration items and services. | [61] |
| AI agents / automation | ◕ 3/4 | Rovo resolves requests automatically using organisational context. | [62] |
| Engineering tracking | ○ 0/4 | Not an engineering tracker; sprints are a Jira capability (see that row). | — |
| Compliance attestations | ● 4/4 | Atlassian-wide SOC reports and ISO/IEC 27001:2022 (product scope is set out in the vendor documents). | [57], [58] |

**How TensorCraft differs:** Jira Service Management covers request, incident, problem, change and configuration management, with Assets and Rovo AI, on Atlassian Cloud or on Data Center (end of life 28 March 2029). TensorCraft puts issue tracking and early-stage ITSM/CMDB in one Apache-2.0 codebase you can host yourself. Its ITSM depth, AI features and compliance posture are well behind JSM's.

## Sources

All fetched on 2026-11-06 with `curl -sSL --max-time 20` (verified TLS). A citation was kept only if it returned the expected HTTP status and the quote below appeared in the fetched text (whitespace and typographic quotes normalised). TensorCraft sources 1–7 and 100–120 were re-fetched for v2.5.0 with User-Agent `tensorcraft-rating-verify/2.5.0`, unauthenticated: HTTP 401 means the route is ported to the edge and requires a session; HTTP 501 means the module is absent from the edge deployment. Sources 3, 4, 5 and 7 returned 501 under v2.2.0 and return 401 under v2.5.0. TensorCraft per-source SHA-256: `docs/research/proofs/landing_comparison_v2.5.0_20261106T201736Z/manifest.json`. Competitor per-source SHA-256 and byte counts: `docs/research/proofs/landing_comparison_20261106T185521Z/sources_manifest.json`.

1. <https://tensorcraft.pages.dev/api/v2/deployment>. Accessed 2026-11-06, HTTP 200. Quote: "every other /api route answers HTTP 501 not_implemented_on_edge (container deployment only)"
2. <https://tensorcraft.pages.dev/assets/index-Dbi5zCBn.js>. Accessed 2026-11-06, HTTP 200. Quote: "Type to search"
3. <https://tensorcraft.pages.dev/api/v2/cycles>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
4. <https://tensorcraft.pages.dev/api/v2/major-incidents>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
5. <https://tensorcraft.pages.dev/api/v2/cmdb/cis>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
6. <https://tensorcraft.pages.dev/api/v2/ide/vibe/models>. Accessed 2026-11-06, HTTP 501. Quote: "GET /api/v2/ide/vibe/models is NOT IMPLEMENTED on the TensorCraft Cloudflare edge deployment (v2.5.0)"
7. POST <https://tensorcraft.pages.dev/api/v2/commands>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
10. <https://linear.app/docs/select-issues.md>. Accessed 2026-11-06, HTTP 200. Quote: "take actions on the issue using keyboard shortcuts, the command menu, or right-click to bring up the contextual menu"
11. <https://linear.app/changelog.md>. Accessed 2026-11-06, HTTP 200. Quote: "action to the Cmd/CtrlK command menu"
12. <https://linear.app/docs/get-the-app.md>. Accessed 2026-11-06, HTTP 200. Quote: "Nearly all functionality in the desktop app including offline mode is available on the web in most browsers."
13. <https://linear.app/blog/scaling-the-linear-sync-engine>. Accessed 2026-11-06, HTTP 200. Quote: "realtime sync engine work behind the scenes"
14. <https://github.com/linear/linear>. Accessed 2026-11-06, HTTP 200. Quote: "Tools, SDK's and plugins for Linear Resources Readme MIT license"
15. <https://linear.app/docs/linear-asks.md>. Accessed 2026-11-06, HTTP 200. Quote: "Asks turns requests like bug reports, questions, and IT needs into actionable issues in Linear."
16. <https://linear.app/docs/agents-in-linear>. Accessed 2026-11-06, HTTP 200. Quote: "can open PRs against issues, help write documents, and take most actions that human users can"
17. <https://linear.app/docs/triage-intelligence>. Accessed 2026-11-06, HTTP 200. Quote: "can be configured to auto-apply when suggested"
18. <https://linear.app/docs/use-cycles>. Accessed 2026-11-06, HTTP 200. Quote: "Cycles are a practice to keep up your team's momentum, similar to commonly used agile-flavored sprints."
19. <https://linear.app/security>. Accessed 2026-11-06, HTTP 200. Quote: "Linear has achieved ISO/IEC 27001:2022 certification"
20. <https://linear.app/docs/security>. Accessed 2026-11-06, HTTP 200. Quote: "Linear is compliant with GDPR, SOC 2 Type II, and HIPAA."
30. <https://docs.serval.com/sections/documentation/platform/keyboard-shortcuts.md>. Accessed 2026-11-06, HTTP 200. Quote: "The command palette searches tickets, workflows, users, and more, and runs commands."
31. <https://docs.serval.com/sections/documentation/ticketing/incident-management.md>. Accessed 2026-11-06, HTTP 200. Quote: "Track service disruptions with incident tickets, group related reports with AI, and promote a widespread outage to an approval-gated major incident"
32. <https://docs.serval.com/sections/documentation/ticketing/problem-management.md>. Accessed 2026-11-06, HTTP 200. Quote: "Investigate recurring issues or cause of incidents, and use AI to remediate and prevent future disruption"
33. <https://docs.serval.com/sections/documentation/ticketing/change-management.md>. Accessed 2026-11-06, HTTP 200. Quote: "Change tickets enforce a structured lifecycle from submission through implementation, with configurable approvals, automations, and transition conditions at every stage."
34. <https://docs.serval.com/sections/documentation/ticketing/overview.md>. Accessed 2026-11-06, HTTP 200. Quote: "Serval automatically triages, routes, and resolves routine requests so your team can focus on the work that matters."
35. <https://docs.serval.com/sections/documentation/databases/cmdb.md>. Accessed 2026-11-06, HTTP 200. Quote: "CMDB relationships are built into the schema"
36. <https://docs.serval.com/sections/documentation/databases/hardware-assets.md>. Accessed 2026-11-06, HTTP 200. Quote: "A database template for hardware asset management."
37. <https://docs.serval.com/sections/documentation/platform/data-residency.md>. Accessed 2026-11-06, HTTP 200. Quote: "Serval operates two data center regions."
38. <https://docs.serval.com>. Accessed 2026-11-06, HTTP 200. Quote: "SOC 2 Type II certified"
39. <https://docs.serval.com/sections/access-management/overview.md>. Accessed 2026-11-06, HTTP 200. Quote: "Serval automates just-in-time (JIT) role-based access provisioning and deprovisioning directly from help desk requests."
50. <https://support.atlassian.com/jira-software-cloud/docs/what-is-the-command-palette/>. Accessed 2026-11-06, HTTP 200. Quote: "The command palette lets you seamlessly work in Jira with just your keyboard."
51. <https://support.atlassian.com/jira-software-cloud/docs/use-keyboard-shortcuts/>. Accessed 2026-11-06, HTTP 200. Quote: "Press C to create a new work item."
52. <https://support.atlassian.com/jira-software-cloud/docs/what-is-a-sprint/>. Accessed 2026-11-06, HTTP 200. Quote: "A sprint — also known as an iteration — is a short period in which the development team implements and delivers"
53. <https://www.atlassian.com/licensing/data-center-end-of-life>. Accessed 2026-11-06, HTTP 200. Quote: "End of life for impacted Data Center products* will take place on March 28, 2029"
54. <https://www.atlassian.com/licensing/data-center-end-of-life>. Accessed 2026-11-06, HTTP 200. Quote: "new customers will no longer be able to purchase new Data Center subscriptions"
55. <https://www.atlassian.com/licensing/data-center-end-of-life>. Accessed 2026-11-06, HTTP 200. Quote: "which include: Jira Software Data Center Jira Service Management Data Center"
56. <https://www.atlassian.com/enterprise/data-center>. Accessed 2026-11-06, HTTP 200. Quote: "Atlassian Data Center Self-managed products, built for the enterprise"
57. <https://www.atlassian.com/trust/compliance/resources/soc2>. Accessed 2026-11-06, HTTP 200. Quote: "Access all of our SOC reports on our Trust Portal"
58. <https://www.atlassian.com/trust/compliance/resources/iso27001>. Accessed 2026-11-06, HTTP 200. Quote: "Certifications / Attestations Documentation ISO/IEC 27001 Certificate"
59. <https://www.atlassian.com/software/rovo>. Accessed 2026-11-06, HTTP 200. Quote: "Rovo agents keep your workflows moving, handling next steps and keeping everything on track."
60. <https://www.atlassian.com/software/jira/service-management/features>. Accessed 2026-11-06, HTTP 200. Quote: "streamline ITSM practices like request, incident, problem, change, and configuration management."
61. <https://www.atlassian.com/software/jira/service-management/features/itsm>. Accessed 2026-11-06, HTTP 200. Quote: "View the dependencies between configuration items or assets and services to assess the risk of changes"
62. <https://www.atlassian.com/software/jira/service-management/product-guide/tips-and-tricks/artificial-intelligence>. Accessed 2026-11-06, HTTP 200. Quote: "Rovo pulls in your unique organizational context to resolve requests accurately and automatically."
70. <https://www.servicenow.com/docs/api/khub/maps/MlbQAgTiiiMOLOw9T36wJg/topics/J3jMXzfs2aKRr2rNcpKb0Q/content> (reader view: https://www.servicenow.com/docs/r/zurich/it-service-management/incident-management/c_IncidentManagement.html). Accessed 2026-11-06, HTTP 200. Quote: "Incident Management restores normal service operation while minimizing impact to business operations and maintaining quality."
71. <https://www.servicenow.com/docs/api/khub/maps/MlbQAgTiiiMOLOw9T36wJg/topics/vRK9uFypcaXLdIK3VrxDPw/content> (reader view: https://www.servicenow.com/docs/r/zurich/it-service-management/problem-management/c_ProblemManagement.html). Accessed 2026-11-06, HTTP 200. Quote: "helps you identify the cause of errors in the IT infrastructure that are reported as occurrences of related incidents."
72. <https://www.servicenow.com/docs/api/khub/maps/MlbQAgTiiiMOLOw9T36wJg/topics/xiLgHYY7R5x0M3ZUiUEREA/content> (reader view: https://www.servicenow.com/docs/r/zurich/it-service-management/change-management/c_ITILChangeManagement.html). Accessed 2026-11-06, HTTP 200. Quote: "provides a systematic approach to control the life cycle of all changes"
73. <https://www.servicenow.com/docs/api/khub/maps/MlbQAgTiiiMOLOw9T36wJg/topics/QgujsXaK4CmHOF90BVkyrg/content> (reader view: https://www.servicenow.com/docs/r/zurich/it-service-management/request-management/c_RequestManagement.html). Accessed 2026-11-06, HTTP 200. Quote: "Request Management allows catalog items to be requested and fulfilled based on defined flows."
74. <https://www.servicenow.com/docs/api/khub/maps/zS6yb8e~gR8BPjeviYdV9g/topics/q73IYnUo5mPAo5ZfvtnICQ/content> (reader view: https://www.servicenow.com/docs/r/zurich/servicenow-platform/configuration-management-database-cmdb/c_ITILConfigurationManagement.html). Accessed 2026-11-06, HTTP 200. Quote: "build logical representations of assets, services, and the relationships between them"
75. <https://www.servicenow.com/docs/api/khub/maps/MlbQAgTiiiMOLOw9T36wJg/topics/pvxVVhGRZBJrNF7RZcE81g/content> (reader view: https://www.servicenow.com/docs/r/zurich/it-service-management/now-assist-for-it-service-management-itsm/itsm-create-incident-ai-agent.html). Accessed 2026-11-06, HTTP 200. Quote: "This agent first attempts to resolve the problem with self-service solutions."
76. <https://www.servicenow.com/docs/api/khub/maps/VSGj5uf15r1UFmxfhJoyeg/topics/oJlzReWWhJYV0jJ1d0nYBg/content> (reader view: https://www.servicenow.com/docs/r/zurich/platform-user-interface/next-experience-keyboard-shortcuts.html). Accessed 2026-11-06, HTTP 200. Quote: "You can use keyboard shortcuts to quickly perform common actions in the user interface."
77. <https://www.servicenow.com/docs/api/khub/maps/cLMoKyg1fxHieVWfxXRuxg/topics/787Xbw9bAJIutWlw033gOw/content> (reader view: https://www.servicenow.com/docs/r/zurich/mobile/mobile-offline-mode.html). Accessed 2026-11-06, HTTP 200. Quote: "Configure offline mode to enable your users who have no internet connection to continue working from a mobile device."
78. <https://www.servicenow.com/docs/api/khub/maps/cVzHwL~N5hQ70Ca9r7fiZg/topics/bt7fzjNGuN93QDU_7mWy6g/content> (reader view: https://www.servicenow.com/docs/r/zurich/it-business-management/agile-development/agile-landing-page.html). Accessed 2026-11-06, HTTP 200. Quote: "ServiceNow Agile Development 2.0 provides an agile software development environment for product-based or project-based efforts, using the Scrum framework."
79. <https://www.servicenow.com/docs/api/khub/maps/7LhbZn3yz3Q58qhjZoU9iQ/topics/z_OlzT7smUSw_RH9v2YU1A/content> (reader view: https://www.servicenow.com/docs/r/zurich/platform-administration/getting-apps-on-prem.html). Accessed 2026-11-06, HTTP 200. Quote: "If you have an on-premise (self-hosted) instance, you can procure apps from the ServiceNow Store"
80. <https://www.sec.gov/Archives/edgar/data/1373715/000137371526000007/now-20251231.htm>. Accessed 2026-11-06, HTTP 200. Quote: "In a minority of cases, we allow our customers to host our software by themselves or through a third-party service provider."
100. <https://tensorcraft.pages.dev/api/v2/deployment>. Accessed 2026-11-06, HTTP 200. Quote: "ITSM: GET/POST /api/v2/incidents, /problems, /changes (+ /:id/approve|reject CAB), /change-windows, /catalog, /requests, /sla/policies, /sla/reports"
101. <https://tensorcraft.pages.dev/api/v2/deployment>. Accessed 2026-11-06, HTTP 200. Quote: "CMDB: GET/POST /api/v2/cmdb/cis, /cmdb/relationships, GET /api/v2/cmdb/impact/:id, POST /api/v2/cmdb/import, /api/v2/assets, /api/v2/software/entitlements, /api/v2/software/reclamation"
102. <https://tensorcraft.pages.dev/api/v2/deployment>. Accessed 2026-11-06, HTTP 200. Quote: "Planning: GET/POST /api/v2/cycles, /projects, /milestones, /initiatives, /projects/:id/updates, /relations, /issues/:id/parent, /triage, POST /api/v2/integrations/github/webhook"
103. <https://tensorcraft.pages.dev/api/v2/deployment>. Accessed 2026-11-06, HTTP 200. Quote: "AI: POST /api/v2/ai/triage, /ai/incident-summary, /ai/change-risk (Cloudflare Workers AI), GET /api/v2/ai/runs; automation: /api/v2/automation/rules, /executions, /notifications"
104. <https://tensorcraft.pages.dev/api/v2/deployment>. Accessed 2026-11-06, HTTP 200. Quote: "Compliance: GET /api/v2/compliance/verify-chain, /audit-log, /dsar-export, /retention, /sbom, /controls; POST /api/v2/compliance/erasure, /retention/run; GET /api/v2/backup/export, POST /api/v2/backup/import"
105. <https://tensorcraft.pages.dev/api/v2/deployment>. Accessed 2026-11-06, HTTP 200. Quote: "Offline: POST /api/v2/commands (idempotent batch replay), POST /api/v2/sync/merge-crdt, GET/POST /api/v2/prefs/keybindings"
106. <https://tensorcraft.pages.dev/api/v2/incidents>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
107. <https://tensorcraft.pages.dev/api/v2/automation/rules>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
108. <https://tensorcraft.pages.dev/api/v2/compliance/controls>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
109. <https://tensorcraft.pages.dev/sw.js>. Accessed 2026-11-06, HTTP 200. Quote: "TensorCraft offline app-shell service worker (v2.5.0, workstream F)."
110. <https://tensorcraft.pages.dev/api/v2/ide/fs/tree>. Accessed 2026-11-06, HTTP 501. Quote: "GET /api/v2/ide/fs/tree is NOT IMPLEMENTED on the TensorCraft Cloudflare edge deployment (v2.5.0)"
111. <https://tensorcraft.pages.dev/api/v2/access-requests>. Accessed 2026-11-06, HTTP 501. Quote: "GET /api/v2/access-requests is NOT IMPLEMENTED on the TensorCraft Cloudflare edge deployment (v2.5.0)"
112. <https://tensorcraft.pages.dev/api/v2/kb/search>. Accessed 2026-11-06, HTTP 501. Quote: "GET /api/v2/kb/search is NOT IMPLEMENTED on the TensorCraft Cloudflare edge deployment (v2.5.0)"
113. <https://tensorcraft.pages.dev/api/v2/intake/slack>. Accessed 2026-11-06, HTTP 501. Quote: "GET /api/v2/intake/slack is NOT IMPLEMENTED on the TensorCraft Cloudflare edge deployment (v2.5.0)"
114. <https://tensorcraft.pages.dev/api/v2/version>. Accessed 2026-11-06, HTTP 200. Quote: ""version":"2.5.0""
115. <https://tensorcraft.pages.dev/assets/enterprise-ops-BCVMjR6J.js>. Accessed 2026-11-06, HTTP 200. Quote: "/api/v2/cmdb/impact/"
116. <https://tensorcraft.pages.dev/api/v2/prefs/keybindings>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
117. <https://tensorcraft.pages.dev/api/v2/compliance/verify-chain>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
118. <https://tensorcraft.pages.dev/api/v2/assets>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
119. <https://tensorcraft.pages.dev/api/v2/changes>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"
120. <https://tensorcraft.pages.dev/api/v2/compliance/sbom>. Accessed 2026-11-06, HTTP 401. Quote: "authentication required"

### TensorCraft repository evidence

Repo and report paths in the TensorCraft table are files in this repository (no public remote is configured, so they are given as paths, not URLs). For v2.5.0 the rater performed no VCS operations, so evidence is pinned by the SHA-256 values in the proof manifests rather than by a commit id. The v2.2.0 row referred to commit `29baa53bd0cc6e84f0f7b220bf07213628524ec1`; its archived copy is in `docs/research/archive/`.

> v2.4.0 re-host note: TensorCraft moved from `tensorcraft.keyexchange.workers.dev` to `tensorcraft.pages.dev`. Sources 1–7 (the TensorCraft edge evidence) were re-fetched on the new host, with the same status and the quote present (proof: `docs/research/proofs/landing_comparison_rehost_20261106T193211Z/manifest.json`). Competitor sources are unchanged.

## Method & limitations

- **Starting point.** URLs came from `docs/research/competitors/{linear,serval,servicenow_itsm,market_context}.md` and `docs/research/COMPETITIVE_ANALYSIS.md`. Each one was re-fetched on the access date. Pages that returned 404 or only a JS shell were replaced with server-rendered equivalents: Linear `.md` doc variants, Serval `.md` docs, and Atlassian support and licensing pages. ServiceNow's docs portal (`/docs/r/...`) returns a JS shell, so the same topics were read through its public docs content API (`/docs/api/khub/maps/.../content`). The human-readable reader URL is listed next to each one.
- **Dropped (not cited).** These returned 404 on the access date: `linear.app/docs/keyboard-shortcuts`, `linear.app/docs/offline-mode` and `linear.app/docs/command-menu` (all still linked from the Linear nav), plus `support.atlassian.com/jira-service-management-cloud/docs/use-keyboard-shortcuts/`, `.../what-is-assets/` and `.../what-is-the-virtual-service-agent/`. Every curl attempt at `www.servicenow.com/products/itsm.html` and at the ServiceNow trust/compliance pages failed (HTTP/2 stream error or timeout). `trust.servicenow.com` and `trust.serval.com` are JS-rendered, with no attestation text in the HTML.
- **Evidence gaps.** The following were *not found in public sources* and are rated 0 conservatively: Linear self-hosting and CMDB; Serval local-first, open source and engineering tracking; Jira/JSM local-first and open source; ServiceNow open source. **ServiceNow compliance is marked not verified, not "none"**: the pages that would state it could not be fetched as text.
- **TensorCraft ratings (v2.5.0)** were re-rated by a rater independent of the engineers who built v2.5.0, applying the same 0–4 rubric and comparing each cell with the best-in-class competitor in that column (ServiceNow/JSM for ITSM and CMDB, ServiceNow/Serval for AI, Linear for keyboard, offline and engineering tracking). Inputs: source code, the v2.5.0 workstream proof READMEs and their stated known gaps, the self-host proof, the production E2E run (PASS) and unauthenticated verified-TLS checks of the live edge. A rating was raised only if the feature is live on the edge and proven by the production E2E. Container-edition features are proven only by local runs; the container edition has no production deployment (`docs/DEPLOYMENT_GUIDE.md`). These remain the TensorCraft authors' assessment.
- **Compliance column** counts independent third-party audits or certifications of the product only. Live technical controls (hash-chained audit log with a verify endpoint, DSAR export, erasure, retention, SBOM, and a controls endpoint that reports SOC 2, ISO 27001 and HIPAA as `EXTERNAL_AUDIT_NOT_PERFORMED`) do not count, and neither do Cloudflare's own infrastructure attestations, which are not an audit of TensorCraft.
- **Subjectivity.** A Harvey ball compresses breadth and maturity into one value. Ratings for incumbents reflect only the pages cited, not hands-on testing. "Keyboard-first" weighs whether the keyboard is a primary design goal, not merely whether shortcuts exist.
- **Wording.** Descriptions of competitors are neutral summaries of their own public documentation. Corrections are welcome; any change must cite a fetched public URL.

