The problem: type: strategy is a graveyard. 37 docs, only 7 with any status, 30 with none — so shipped plans, dead ideas, and live work all pile into one "planned" list and you can't find anything. (Digests are the only clean group because they're append-only + dated.)
The fix (below): classify all 37, archive the done + dead, split living references out of "planned," leaving ~8 genuinely-active plans. Verified the no-signal ones against the actual codebase so nothing live gets killed.
| Verdict | Count | What to do |
|---|---|---|
| DONE (shipped/verified) | 20 | status: done → move to archive/ |
| DEAD (never built / superseded / not worth it) | 4 | decide: revive or delete |
| PARKED (real, deferred) | 4 | status: parked → keep, out of the active view |
| REFERENCE (living, not a "plan") | 3 | retype reference → stop cluttering "planned" |
| ACTIVE (current work) | 6 | keep in "planned" — this is the real list |
Net: "planned" goes from 37 → ~8 (6 active + a couple parked you'd still glance at).
| Doc | Why done |
|---|---|
| forms-upgrade | status:done; shipped |
| responsive-cta | status:done; shipped |
| wcag-accessibility-brief | done + promoted (site is 0-violations, gated) |
| content-differentiation | done + superseded by later content work |
| engagement-toast-module | done; shipped |
| domain-broker-action-plan-validation | done; shipped; stale |
| conversion-tracking-architecture | done; obsolete (server-side conv. live, note #177) |
| provider-plan-streamline | complete; shipped |
| domain-broker-recovery | complete; shipped |
| domain-broker-funnel-restructure | complete; stale |
| domain-broker-final-round | complete build spec; broker shipped |
| domain-broker-hero-ab-launch | superseded by domain-broker-v2-launch-runbook + note #180 (v2 live) |
| astro-7-tailwind-4-migration | promoted to prod (note #173) |
| advisor-instrumentation | shipped (note #179); advisor UI is a separate concept |
| reviving-hosting-cluster | experiment concluded (hosting revived) |
| next-50-days | dated 2026-06-04 — timeframe expired |
| meeting-takeaways-2026-07-07 | past meeting; superseded by Jul 21 takeaways |
| critical-vpn-roi-gateway-template | gateway shipped (vpn-out/src/gateway.js); tracked in memory |
| hero-trustscore-redesign | TrustScore hero shipped (note #177). Follow-up only: the Jul 21 "open score breakdown by default + swap assessment/pricing" tweak — split that into a fresh 1-line active item; archive the rest |
| final-shipment-july | July plan, mostly executed — confirm the last items landed, then archive |
| Doc | Reality check |
|---|---|
| vpn-api-docs-hub | Never built — no src/pages/api*/docs* hub exists (only internal src/data/API.md). Untouched since 2026-05-27. Kill unless the public API hub is still wanted. |
| perks-points-rewards | Never built — no points/loyalty code anywhere. Untouched since 2026-06-09. The "anti-churn loyalty engine" never happened. Kill or revive as a real initiative. |
| comparison-supercluster | Stalled/partial — a handful of vs-pages exist (proxy-vs-vpn, wireguard-vs-openvpn, com-vs-xyz) but not the provider-vs-provider matrix the doc plans. Decide: finish the matrix or drop the ambition. |
| google-ads-conversion-value-strategy | Superseded by google-ads-value-loop-plan (its own frontmatter says superseded). Archive. |
| Doc | Note |
|---|---|
| text-to-speech | Client-requested, deferred. Real, not now. |
| accessibility-toolbar | Client-requested; partially shipped, rest parked. |
| google-ads-value-loop-plan | In-progress — $1 lead leg fixed, qualified→5% leg still unvalidated (memory ads-offline-ghl-watch). Keep as active-watch, not "planned." |
| speed-lab | Still relevant + still NOT done — the pipeline emits value: 'Not tested'; Speed Lab data is fabricated. This is the root of the FAQ provenance liability (43 Mbps + 14 "we tested" answers). Reclassify as active if we act on provenance; else parked. |
reference (3)| Doc | Why |
|---|---|
| geo-ai-citations | Standing GEO/AI-citation strategy; referenced by the FAQ work. Not a plan to "finish." |
| authority-roadmap | Standing "Reviewed by VPN.com" authority strategy. |
| (speed-lab) | If kept as strategy-reference rather than an active build — author's call. |
The FAQ overhaul + the conversion principle, all current:
Plus, once split out: the provider-template tweak (from hero-trustscore-redesign) and speed-lab/provenance if we green-light it.
status on every strategy doc: active | parked | done | dead. This one field is the whole fix — the editor can then default the "planned" view to status: active.done + dead → archive/ (already exists with 7). Keeps history, clears the list.type: reference for living strategy (geo-ai-citations, authority-roadmap) so standing docs stop masquerading as open tasks.ops/README.md (or pinned index) listing only active plans + a link to archive — since digests are the only group you navigate by, give "planned" the same at-a-glance entry.status: done + moves to archive in the same commit that ships it (like the domain-broker runbook got its launch banner). The digests already work because they're disciplined; apply the same discipline here.Bottom line: ~20 of the 37 are already shipped, 4 are dead, 3 are standing references. Only ~8 are live work. The list feels unfindable because 29 of 37 shouldn't be in the "planned" view at all.