Decide whether @dossier/docs keeps @vercel/analytics now that the landing (its only consumer) moved to @dossier/app

task-docs-vercel-analytics-after-strip

task confidence verified status done 2026-06-17 owner forward-deployed-engineer
source log-auditor — surfaced auditing the DEC-0043 Phase-5 docs strip; @vercel/analytics stayed a @dossier/docs dep after its only consumer (index.astro) was deleted (verified — zero source usage in packages/site/src). CLOSED 2026-06-17 (FDE) — DECIDED: DROP. The dep was removed from packages/site/package.json + the lockfile (-8 lines, docs edge gone; @dossier/app's own snapshot retained); docs build green (95 pages). DEC-0027's analytics intent is honored in @dossier/app (injectAnalytics), not the docs surface.

Decide @dossier/docs's @vercel/analytics fate after the landing moved

Add Vercel Web Analytics to the public marketing landing (a cookieless demand signal — landing surface only, not the KB or product) added @vercel/analytics (^2.0.1) to @dossier/site for a cookieless demand signal on the marketing landing, via an <Analytics /> component in index.astrothe landing only, never the docs/KB surface.

The drift

Migrate chrome-light app surfaces to SvelteKit; docs stay on Astro/Starlight (two apps, one origin) Phase 4 moved the landing to @dossier/app (where the analytics became injectAnalytics()) and Phase 5 deleted index.astro. So the now-docs-only @dossier/docs package still declares @vercel/analytics (packages/site/package.json:23) with zero source usage — a grep of packages/site/src is empty; the only remaining matches are stale dist/ + .vercel/ build artifacts. A declared dep with no consumer is exactly the kind of quiet orphan that rots a manifest.

Why a task (flag, not auto-drop)

Dropping a dependency is mechanically trivial, but whether to drop it is a small judgment: DEC-0027's analytics intent moved to @dossier/app, but there may be a planned docs-side analytics use that justifies keeping it. So this is confirm-then-decide, deliberately surfaced rather than auto-pruned by the auditor — owner Principal Forward Deployed Engineer (drove the migration), assignee Astro Starlight Engineer (owns the docs surface / its package.json). confidence: inferred (agent-surfaced, verified against the filesystem). Depends on (ordering hint) Execute the SvelteKit app migration (DEC-0043) — phased, no big-bang, apex domain moved only at final cutover — the strip that orphaned the dep.

Board globbed before filing — no open task covered the orphaned analytics dependency.

Closed 2026-06-17 — decided: DROP

Confirmed @vercel/analytics had zero source consumer in @dossier/docs (grep of packages/site/src = 0; the only matches were stale dist/ + .vercel/ artifacts) and that the landing/funnel analytics now lives in @dossier/app (injectAnalytics), so Add Vercel Web Analytics to the public marketing landing (a cookieless demand signal — landing surface only, not the KB or product)'s intent is honored there. With no planned docs-side analytics use, dropped the dead dep: removed it from packages/site/package.json and ran pnpm installpnpm-lock.yaml lost the @dossier/docs importer edge and its vite@7 variant snapshot (−8 lines); @dossier/app's own vite@8 snapshot stayed, so the app's analytics is untouched. pnpm -F @dossier/docs build95 pages, Complete, no errors. A clean manifest, no silent orphan. Closed by the Principal Forward Deployed Engineer.