www.linear.app
Scored by v3 · source-of-truth hashes: score db860d6ac94e · thresholds e94f8b33e500 — verifiable against the canonical scorer.
The 28-day score is the p75 of nightly runs — the stable number to cite. Deterministic metrics (CRR/SSD/TC) show their latest value (they move only when the site changes); timing (TTFUT) and answer-fidelity (AF) are smoothed by 28-day p75 — the same lab-vs-field split Core Web Vitals uses. Synthetic daily measurement, not real-user field data.
An agent is likely to fabricate missing details rather than say “I don’t know”. 0/3 applicable facts come from machine-readable structured data.
Metrics
Token Cost breakdown
Where the page's tokens go (≈5,912 across regions). Most tokens are real content — the agent isn't paying much for chrome.
Final screenshot
Diagnostics
pre-JS raw HTML
Fix: Server-render or statically generate the main content so a non-JS agent still receives it; make client rendering a progressive enhancement, not the source of truth.
content vs chrome/boilerplate
Fix: Wrap the real content in <main>/<article>, cut repeated nav/boilerplate, and keep the primary content dense and early in the DOM.
Rendered profile: headless
Metrics
Token Cost breakdown
Where the page's tokens go (≈5,915 across regions). Most tokens are real content — the agent isn't paying much for chrome.
Final screenshot
Diagnostics
pre-JS raw HTML
Fix: Server-render or statically generate the main content so a non-JS agent still receives it; make client rendering a progressive enhancement, not the source of truth.
content vs chrome/boilerplate
Fix: Wrap the real content in <main>/<article>, cut repeated nav/boilerplate, and keep the primary content dense and early in the DOM.
Rendered profile: headless
Access & discovery checks — separate from the gated CAV metrics above. Click an issue for business impact, what we measured, and how to fix. · Take the Agent Readiness course →
Agent files & endpoints
Issues (1)
✗ Structured data (JSON-LD) medium impact No JSON-LD found
Business impact Schema.org JSON-LD tells agents what a page IS (product, article, business) with typed fields (price, rating, hours). Without it agents extract less reliably.
What we measured We parse <script type=application/ld+json>, validate it, and check for populated @type fields.
How to fix Add JSON-LD: Organization/LocalBusiness on the homepage, Product on product pages, Article on posts.
<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Your Co","url":"https://example.com"}</script>Spec: https://schema.org/
Passed audits (11)
Transport & Trust (SEC 1.0.0)
HTTPS, HSTS, CSP, sniffing, referrer and CORS posture. Diagnostic only — this does not affect the CAV score. A security header does not make a page more legible to an agent, so scoring it would reward a CDN toggle that changes nothing an agent can recover. We measure it and say so.
Per-header findings (6)
| Header | Evidence |
|---|---|
| ✅ HTTPS | served over HTTPS |
| ✅ HSTS | max-age=63072000; includeSubDomains |
| ⚠️ Content-Security-Policy | script-src allows 'unsafe-inline' |
| ❌ X-Content-Type-Options | missing nosniff |
| ✅ Referrer-Policy | same-origin |
| ➖ CORS exposure | no CORS headers on the document (normal for an HTML page) |
How to improve
DefaultRenderer-CHRfes1m.js — 107 KiB transferred, 80.9% unused
longest task 163 ms (9 total)
3.1 MB total
Wasted JavaScript (by bundle)
Transfer-accurate — each bundle's transfer size × its unused %, ranked by wasted bytes (the biggest code-splitting wins). Unused JS also inflates Token Cost (TC).
| Bundle | Transfer | Unused | Wasted |
|---|---|---|---|
| https://static.linear.app/web/_next/static/chunks/DefaultRenderer-CHRfes1m.js | 107 KiB | 80.9% | 87 KiB |
| https://static.linear.app/web/_next/static/chunks/RootActionBoundary-BZpVTzpS.js | 66 KiB | 83.5% | 55 KiB |
| https://static.linear.app/web/_next/static/chunks/framework-CjFkntPc.js | 67 KiB | 62.2% | 42 KiB |
| https://static.linear.app/web/_next/static/chunks/module-DYjh5FNu.js | 55 KiB | 70% | 38 KiB |
| https://static.linear.app/web/_next/static/chunks/index-B-ahiwZ8.js | 62 KiB | 47.9% | 30 KiB |
| https://static.linear.app/web/_next/static/chunks/vinext-DNwWJSFw.js | 46 KiB | 63.6% | 29 KiB |
| https://e.linear.app/static/surveys.js?v=1.257.1 | 35 KiB | 83.6% | 29 KiB |
| https://static.linear.app/web/_next/static/chunks/client-mO8OUDRH.js | 32 KiB | 80.5% | 26 KiB |
| https://static.linear.app/web/_next/static/chunks/dist-BPeK2maz.js | 28 KiB | 81.8% | 23 KiB |
| https://static.linear.app/web/_next/static/chunks/code-diff-B8O9bXWk.js | 25 KiB | 82% | 20 KiB |
| https://static.linear.app/web/_next/static/chunks/schemas-DjXhKnyP.js | 24 KiB | 81.6% | 20 KiB |
| https://static.linear.app/web/_next/static/chunks/MediaPlayer-BkfYoWg5.js | 21 KiB | 89.9% | 19 KiB |
| https://static.linear.app/web/_next/static/chunks/Providers-pjaIWOr7.js | 105 KiB | 17.4% | 18 KiB |
| https://static.linear.app/web/_next/static/chunks/SidePanel-D2onhsLJ.js | 22 KiB | 78.9% | 18 KiB |
| https://static.linear.app/web/_next/static/chunks/HeroIllustration-PtUjyTNz.js | 33 KiB | 46.1% | 15 KiB |
Network
Heaviest requests (30)
| URL | Type | Status | Transfer |
|---|---|---|---|
| https://static.linear.app/web/_next/static/media/grain-default.mxaw2efG.png | Image | 200 | 681 KiB |
| https://linear.app/api/search-index | Fetch | 200 | 208 KiB |
| https://linear.app/homepage | Document | 200 | 176 KiB |
| https://static.linear.app/fonts/Berkeley-Mono-Variable.woff2?v=3.2 | Font | 200 | 158 KiB |
| https://static.linear.app/web/_next/static/chunks/DefaultRenderer-CHRfes1m.js | Script | 200 | 107 KiB |
| https://static.linear.app/web/_next/static/chunks/Providers-pjaIWOr7.js | Script | 200 | 105 KiB |
| https://static.linear.app/web/_next/static/chunks/framework-CjFkntPc.js | Script | 200 | 67 KiB |
| https://static.linear.app/web/_next/static/chunks/RootActionBoundary-BZpVTzpS.js | Script | 200 | 66 KiB |
| https://static.linear.app/web/_next/static/chunks/index-B-ahiwZ8.js | Script | 200 | 62 KiB |
| https://static.linear.app/web/_next/static/chunks/module-DYjh5FNu.js | Script | 200 | 55 KiB |
| https://linear.app/customers?_rsc=olkCpsUiiOqNbCEh | Fetch | 200 | 51 KiB |
| https://linear.app/now?_rsc=olkCpsUiiOqNbCEh | Fetch | 200 | 50 KiB |
| https://static.linear.app/web/_next/static/chunks/vinext-DNwWJSFw.js | Script | 200 | 46 KiB |
| https://e.linear.app/static/surveys.js?v=1.257.1 | Script | 200 | 35 KiB |
| https://static.linear.app/web/_next/static/chunks/HeroIllustration-PtUjyTNz.js | Script | 200 | 33 KiB |
| https://static.linear.app/web/_next/static/chunks/client-mO8OUDRH.js | Script | 200 | 32 KiB |
| https://static.linear.app/web/_next/static/chunks/dist-BPeK2maz.js | Script | 200 | 28 KiB |
| https://linear.app/cdn-cgi/imagedelivery/fO02fVwohEs9s9UHFwon6A/c7fa8f5f-d439-4329-6a65-de549b51e300/f=auto,fit=scale-down,metadata=none,width=2560 | Image | 200 | 26 KiB |
| https://static.linear.app/web/_next/static/chunks/code-diff-B8O9bXWk.js | Script | 200 | 25 KiB |
| https://static.linear.app/web/_next/static/chunks/schemas-DjXhKnyP.js | Script | 200 | 24 KiB |
| https://webassets.linear.app/images/ornj730p/production/f79251b06e9edeeacbf2875384defe629e000b3c-352x352.png?w=72&q=95&auto=format&dpr=2 | Image | 200 | 24 KiB |
| https://static.linear.app/web/_next/static/chunks/SidePanel-D2onhsLJ.js | Script | 200 | 22 KiB |
| https://static.linear.app/web/_next/static/chunks/proxy-Dz_JLKQJ.js | Script | 200 | 22 KiB |
| https://static.linear.app/assets/pwa/icon_180.png?v=3 | Other | 200 | 21 KiB |
| https://static.linear.app/web/_next/static/chunks/MotionConfigContext-CR5RYqEK.js | Script | 200 | 21 KiB |
| https://static.linear.app/web/_next/static/chunks/MediaPlayer-BkfYoWg5.js | Script | 200 | 21 KiB |
| https://static.linear.app/web/_next/static/chunks/PlanFeature-yPgB8Xbk.js | Script | 200 | 18 KiB |
| https://static.linear.app/web/_next/static/chunks/Logos-DcKvdXlS.js | Script | 200 | 17 KiB |
| https://linear.app/now/introducing-loops?_rsc=olkCpsUiiOqNbCEh | Fetch | 200 | 16 KiB |
| https://static.linear.app/web/_next/static/chunks/tsx-D0-aSICp.js | Script | 200 | 16 KiB |
Long tasks (>50 ms)
| Start | Duration |
|---|---|
| 731 ms | 163 ms |
| 911 ms | 69 ms |
| 269 ms | 61 ms |
| 1175 ms | 57 ms |
| 1261 ms | 54 ms |
| 1392 ms | 54 ms |
| 1323 ms | 53 ms |
| 1026 ms | 52 ms |
| 1088 ms | 52 ms |