> ## Documentation Index
> Fetch the complete documentation index at: https://docs.walletwall.org/llms.txt
> Use this file to discover all available pages before exploring further.

# App surface vault readiness audit

# App-Surface Vault-Readiness Relevance Audit

**Date:** 2026-06-23
**Branch:** `audit/app-surface-vault-readiness-relevance`
**Method:** static analysis only — `src/app.jsx`, `src/lib/products.js`, `src/lib/app-navigation.js`,
`src/lib/journey-sections.js`, `src/lib/seo.js`, `src/components/**`, `test/**`, `docs/**`.
**No runtime behavior was changed. No routes removed. No copy rewritten. No custody/yield/signing/
deposit/withdrawal/pooling/on-chain-write behavior added. No Dune execution changed.**

This audit inventories the **whole app** after the stablecoin-vault-readiness pivot (PRs
\#1233–#1244) and classifies each route, homepage section, product surface, component group, copy
block, test/guardrail, and docs area by its relevance to the platform thesis. It is a planning
document for a follow-up PR sequence — **not** a removal or redesign PR.

See also:

* [docs/product/vault-first-positioning.md](../product/vault-first-positioning.md) — canonical positioning (red-lines)
* [docs/audits/product-audit.md](../audits/product-audit.md) — earlier product audit
* [docs/audits/dune-vault-readiness-scope.md](../audits/dune-vault-readiness-scope.md) — Dune data-source relevance (PR #1245)
* [docs/product-pillars.md](../product-pillars.md) — product pillar definitions

***

## 1. Executive summary

The app is **structurally pivoted** to stablecoin vault readiness (the flagship `/stablecoin-vault`
leads the journey rail and nav; the readiness model/adapter/packet are wired), but several
**surfaces and copy blocks still carry pre-pivot, generic-analytics framing**, and one
**search-indexed overclaim** slips past the existing red-line guard.

Top findings:

1. **P0 — SEO meta title is a banned overclaim.** `src/lib/seo.js` ships
   `"WalletWall — Quantum-Resistant Stablecoin Vault Platform"` and a matching description. The
   phrase `"quantum-resistant stablecoin vault platform"` is **explicitly forbidden** by
   `test/hero-copy-positioning.test.mjs` — but that guard only scans the hero source, so the
   overclaim leaks into the site `<title>`, OG, and Twitter metadata. This contradicts
   [vault-first-positioning.md](../product/vault-first-positioning.md) ("read-only vault-readiness
   platform", avoid quantum-resistant/-proof/-secured). Reframing it breaks **no** test
   (`seo.test.mjs` pins URLs, not title text).
2. **P0/P1 — same overclaim in `products.js`.** `PRODUCTS.stablecoinVault.description` =
   "…quantum-resistant stablecoin vault readiness journey", and `seo.js` uses `product.description`
   for the `/stablecoin-vault` route meta — so the route description carries it too.
3. **P1 — guardrail gap.** The red-line copy guard does not cover `src/lib/seo.js` or
   `src/lib/products.js`. Extending the existing scan closes the gap that let (1)/(2) through.
4. **P1 — journey/nav order is not vault-first beyond position 01.** After Stablecoin Vault (01),
   the rail/nav run Whale Watcher (02) → Coinstellation (03) → Stable Seer (04) → Quantum (05).
   For the thesis (stablecoin exposure → custody/crypto risk → migration path → evidence), the
   stablecoin/migration surfaces (Stable Seer, Quantum) belong **above** the generic graph/whale
   surfaces.
5. **P1 — Whale Watcher and Coinstellation still read as generic analytics** ("wallet activity
   workspace", "wallet graph explorer") with no stablecoin/treasury/readiness tie.
6. **P2 — dead components.** `WalletActivityChart.jsx` and `vault/shared/QuorumProgress.jsx` have
   zero importers and zero tests → safe `remove_candidate`. `MarketTicker.jsx`, `HolderWallTile.jsx`,
   `ProductShell.jsx` are import-orphans but test-referenced → removal needs verification.
7. **P2 — legacy AI/insight surfaces.** `ConversationMode` (an "Ask a follow-up" `/api/chat` panel)
   and `InsightsPulse` are off-thesis generic surfaces tied to the graph/whale pages.
8. **P2 — stale docs.** `docs/staking-radar.md` documents a "Staking Radar" surface that **does not
   exist** in routes/nav/products; `docs/intel-mode-roadmap.md` predates the pivot.

**Runtime behavior changed by this PR: none.** Only this doc (+ an optional structural docs test)
is added.

***

## 2. Current platform thesis

> WalletWall maps stablecoin exposure, detects wallet/custody/cryptographic risk, and turns that
> intelligence into vault-ready migration paths and evidence packets.

Implications used for classification:

* **Core** = the stablecoin-exposure → risk → migration-path → evidence spine (Stablecoin Vault,
  Quantum/Migration Readiness, Readiness Packet, the hero search that feeds them).
* **Supporting** = signal/discovery surfaces that feed the spine (Stable Seer, Holder Wall, wallet
  profile, market context).
* Generic market/graph/token analytics with no readiness tie are **demote/reframe/deprecate**
  candidates.
* Read-only, no-custody, testnet-only boundaries and the banned-overclaim list are **guardrail\_only**.

Classification legend: `core` · `supporting` · `reframe` (keep, adjust copy/IA) · `demote` (reduce
nav/visual prominence) · `deprecate_candidate` (likely stale; needs follow-up removal/deprecation) ·
`remove_candidate` (dead/confusing; investigate safe removal) · `guardrail_only` (exists to enforce
safety/cost/security).

***

## 3. Route / navigation inventory

| Route / nav element                           | File                                                   | Current role                   | Classification           | Vault relevance          | User-facing risk if unchanged                            | Technical risk if changed                                        | Recommended action                                     | Follow-up PR | Priority |
| --------------------------------------------- | ------------------------------------------------------ | ------------------------------ | ------------------------ | ------------------------ | -------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------ | ------------ | -------- |
| `/stablecoin-vault`                           | `StablecoinVaultPage.jsx` (app.jsx:227)                | Flagship vault readiness       | **core**                 | Direct                   | —                                                        | —                                                                | Keep; ensure first in all nav                          | —            | —        |
| `/quantum`                                    | `QuantumPage.jsx`                                      | Migration/exposure intel       | **core**                 | Direct                   | —                                                        | Low                                                              | Keep                                                   | —            | P2       |
| `/stable-seer`                                | `StableSeerPage.jsx`                                   | Stablecoin intelligence        | **supporting**           | Direct (feeds readiness) | —                                                        | Low                                                              | Keep; raise in journey order                           | reorder PR   | P1       |
| `/holder-wall`                                | `HolderWallPage.jsx`                                   | Concentration/holder discovery | **supporting**           | Indirect                 | —                                                        | Med (hero content)                                               | Keep                                                   | —            | P2       |
| `/whale-watcher`                              | `WhaleWatcherEntryPage.jsx`, `WhaleWatcher.jsx`        | Wallet movement workspace      | **reframe**              | Indirect                 | Reads as generic whale analytics, off-thesis             | Low (copy)                                                       | Reframe → treasury/stablecoin monitoring               | reframe PR   | P2       |
| `/coinstellation`                             | `CoinstellationEntryPage.jsx`, `GalaxyView.jsx`        | Wallet graph explorer          | **demote**               | Low                      | Prominent generic graph dilutes thesis                   | Med (shared graph used by wallet profile)                        | Demote in nav/journey; decide role                     | demote PR    | P1/P2    |
| `/vault`                                      | `VaultPage.jsx`                                        | Sepolia rehearsal simulator    | **supporting**           | Direct (rehearsal)       | Two "vault" routes can confuse                           | Med (seal transition keys off `/vault`)                          | Keep as detail route; reduce journey prominence        | —            | P2       |
| `/watchlist`                                  | `WatchlistPage.jsx`                                    | Saved wallets/tokens utility   | **demote**               | Low                      | —                                                        | Low                                                              | Keep; utility, not a journey peer                      | —            | P3       |
| `/token/:chain/:addr`                         | `TokenDetailPage.jsx`                                  | Generic token detail           | **deprecate\_candidate** | Low                      | Generic token page off-thesis                            | Med (linked from coin mode)                                      | Confirm role vs Stable Seer; deprecate if redundant    | deprecate PR | P2       |
| `/wallet/:chain/:addr`                        | galaxy/profile flow                                    | Wallet profile → graph         | **supporting**           | Indirect                 | —                                                        | Med                                                              | Keep                                                   | —            | P3       |
| `/icons` (DEV only)                           | `IconGallery.jsx`                                      | Dev icon gallery               | **guardrail\_only**      | None                     | —                                                        | —                                                                | Keep DEV-gated (already `import.meta.env.DEV`)         | —            | —        |
| Top nav "Walk" dropdown                       | `LandingNav.jsx`                                       | Primary product nav            | **reframe**              | —                        | Flagship vault buried in dropdown; order not vault-first | Low                                                              | Surface Stablecoin Vault directly; reorder             | nav PR       | P1       |
| Journey rail                                  | `LandingScreen.jsx`, `products.js` `PRODUCT_NAV_ITEMS` | Homepage product rail          | **reframe**              | —                        | Order places generic surfaces above core                 | Low (pinned by `pull-thru-next-section` + `journey-sections.js`) | Reorder; update `JOURNEY_SECTION_IDS` + tests together | reorder PR   | P1       |
| Subdomain routing + `?view=` legacy param     | `app-navigation.js`                                    | Canonical host + back-compat   | **supporting**           | —                        | —                                                        | High (routing core)                                              | Keep; do not break                                     | —            | —        |
| Legacy path map (`LEGACY_PATH_TO_PRODUCT_ID`) | `products.js`                                          | Back-compat redirects          | **guardrail\_only**      | —                        | —                                                        | High                                                             | Keep                                                   | —            | —        |

***

## 4. Homepage inventory

| Section / element            | File (LandingScreen.jsx)        | Current role                  | Classification | Vault relevance | Risk if unchanged                                | Recommended action                                     | Priority |
| ---------------------------- | ------------------------------- | ----------------------------- | -------------- | --------------- | ------------------------------------------------ | ------------------------------------------------------ | -------- |
| Hero search panel            | `HeroSearchPanel.jsx`           | Wallet/stablecoin/token entry | **core**       | Direct          | — (guarded by `hero-copy-positioning`)           | Keep                                                   | —        |
| Stablecoin signal tape (nav) | `StablecoinSignalTape.jsx`      | Live stablecoin ticker        | **supporting** | Direct          | —                                                | Keep                                                   | —        |
| Market context rail          | `MarketContextRail.jsx`         | Cached market snapshot        | **supporting** | Indirect        | —                                                | Keep                                                   | P3       |
| Journey rail (Pull Thru)     | inline + `journey-sections.js`  | Section navigator             | **reframe**    | —               | Order not vault-first                            | Reorder with journey                                   | P1       |
| Snap 01 — Stablecoin Vault   | inline `StablecoinVaultMini`    | Flagship lead                 | **core**       | Direct          | "Pooled Sepolia ETH" wording; illustrative stats | Keep; review "pooled" phrasing for custody-implication | P2       |
| Snap 02 — Whale Watcher      | `WhaleWatcherSignalFeed`        | "networks that move markets"  | **reframe**    | Indirect        | Generic whale framing                            | Reframe toward treasury/stablecoin flows               | P2       |
| Snap 03 — Coinstellation     | `CoinstellationTracePath`       | "relationships legible"       | **demote**     | Low             | Generic graph high in journey                    | Move below stablecoin/migration                        | P1       |
| Snap 04 — Stable Seer        | `StableSeerPegSimulator`        | Stablecoin/market structure   | **supporting** | Direct          | Sits below generic surfaces                      | Raise above Whale/Coinstellation                       | P1       |
| Snap 05 — Quantum Intel      | `QuantumExposureSimulator`      | Cryptographic exposure        | **supporting** | Direct          | Sits last of products                            | Raise toward vault/migration cluster                   | P1       |
| Snap — Vault Rehearsal       | `VaultSigningSimulator`         | Sepolia testnet rehearsal     | **supporting** | Direct          | "signing" must stay clearly simulated            | Keep; preserve testnet/simulated labels                | P2       |
| Docs footer                  | inline                          | Docs link                     | **supporting** | —               | —                                                | Keep                                                   | —        |
| Recently-explored rail       | inline + `recently-explored.js` | Recents                       | **supporting** | —               | —                                                | Keep                                                   | P3       |

***

## 5. Product-surface inventory

| Surface                     | Primary file(s)                                                                                                     | Current role                           | Classification           | Vault relevance | Recommended action                                                                 | Priority |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ------------------------ | --------------- | ---------------------------------------------------------------------------------- | -------- |
| Stablecoin Vault            | `StablecoinVaultPage.jsx`, `vault/*`                                                                                | Readiness journey + rehearsal          | **core**                 | Direct          | Keep; fix "quantum-resistant" in `products.js` desc                                | P0/P1    |
| Migration Readiness         | `MigrationPathPanel.jsx`, `VaultReadinessWorkflow.jsx`                                                              | Migration path + readiness             | **core**                 | Direct          | Keep                                                                               | —        |
| Readiness Packet / evidence | `buildVaultReadinessPacket`, `ProofArtifactStatusCard.jsx`, `PQVerifierEvidenceCard.jsx`, `VaultReadinessBadge.jsx` | Evidence artifacts                     | **core**                 | Direct          | Keep                                                                               | —        |
| Quantum Intelligence        | `QuantumPage.jsx`, `QuantumExposure*`, `QuantumScoreRing.jsx`                                                       | Exposure scoring                       | **core**                 | Direct          | Keep                                                                               | —        |
| Stable Seer                 | `StableSeerPage.jsx`, `StableSeer*`                                                                                 | Stablecoin intelligence                | **supporting**           | Direct          | Keep; raise prominence                                                             | P1       |
| Holder Wall                 | `HolderWallPage.jsx`, `HolderWall*`                                                                                 | Concentration discovery                | **supporting**           | Indirect        | Keep                                                                               | P2       |
| Whale Watcher               | `WhaleWatcher.jsx` (1639 loc), `WhaleWatcherEntryPage.jsx`                                                          | Wallet movement                        | **reframe**              | Indirect        | Reframe as treasury/stablecoin monitoring                                          | P2       |
| Coinstellation / graph      | `CoinstellationEntryPage.jsx`, `GalaxyView.jsx`, `NodeDetailPanel.jsx`                                              | Wallet graph                           | **demote**               | Low             | Decide role; demote prominence                                                     | P1/P2    |
| Vault Simulator (`/vault`)  | `VaultPage.jsx`                                                                                                     | Testnet rehearsal detail               | **supporting**           | Direct          | Keep as detail; reduce journey weight                                              | P2       |
| Watchlist                   | `WatchlistPage.jsx`                                                                                                 | Saved items                            | **demote**               | Low             | Keep utility                                                                       | P3       |
| Token detail                | `TokenDetailPage.jsx`, `CoinResultsSection.jsx`                                                                     | Generic token analytics                | **deprecate\_candidate** | Low             | Confirm vs Stable Seer; deprecate if redundant                                     | P2       |
| Proof-of-Readiness rewards  | `ProofOfReadinessRewardsPanel.jsx`, `ProofOfReadinessCampaignPreview.jsx`                                           | Rewards/campaign preview (on `/vault`) | **demote**               | Low             | Gamification is off the core readiness spine; reduce prominence, keep behind vault | P2       |

***

## 6. Component / copy inventory (notable)

| Component / copy                                  | File                                                                       | Status                                                  | Classification                     | Note / recommended action                                                                               | Priority |
| ------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------- | -------- |
| SEO meta title/description                        | `src/lib/seo.js`                                                           | Ships banned overclaim                                  | **reframe**                        | "Quantum-Resistant Stablecoin Vault Platform" → vault-**readiness** framing; align to positioning       | **P0**   |
| `stablecoinVault.description`                     | `src/lib/products.js`                                                      | "quantum-resistant…journey"                             | **reframe**                        | Drop "quantum-resistant"; feeds route SEO                                                               | **P1**   |
| Whale Watcher entry copy                          | `WhaleWatcherEntryPage.jsx`                                                | "Wallet activity workspace"                             | **reframe**                        | Treasury/stablecoin monitoring framing                                                                  | P2       |
| Coinstellation entry copy                         | `CoinstellationEntryPage.jsx`                                              | "Wallet graph explorer"                                 | **demote**                         | Generic; tie to readiness or demote                                                                     | P2       |
| `WalletActivityChart.jsx`                         | components                                                                 | **0 importers, 0 tests**                                | **removed**                        | Deleted in `chore/remove-dead-stale-components`                                                         | —        |
| `vault/shared/QuorumProgress.jsx`                 | components/vault/shared                                                    | **0 importers, 0 tests**                                | **removed**                        | Deleted in `chore/remove-dead-stale-components`                                                         | —        |
| `MarketTicker.jsx`                                | components                                                                 | 0 src importers; has `market-ticker-component.test.mjs` | **remove\_candidate**              | Superseded by `StablecoinSignalTape`; remove with its test after verify                                 | P2       |
| `HolderWallTile.jsx`                              | components                                                                 | 0 src importers; name-collides with data model in tests | **remove\_candidate**              | Verify tests target data model not JSX before removal                                                   | P2       |
| `ProductShell.jsx`                                | components                                                                 | 0 src importers; referenced in 2 vault-transition tests | **remove\_candidate**              | Superseded by app.jsx routing; verify before removal                                                    | P3       |
| `ConversationMode.jsx` (+`GeneratedAnalysisNote`) | components                                                                 | Live in `NodeDetailPanel` (graph)                       | **demote** / `deprecate_candidate` | Legacy "Ask a follow-up" AI chat (`/api/chat`); off-thesis, disclaimed; re-evaluate with Coinstellation | P2       |
| `InsightsPulse.jsx`                               | components                                                                 | Live in `WhaleWatcherEntryPage`                         | **reframe**                        | Generic insight pulse; align to readiness signals                                                       | P2       |
| `SynthesisOverlay.jsx`                            | components                                                                 | Live in `GalaxyView`                                    | **demote**                         | Legacy AI synthesis visual; tie to Coinstellation decision                                              | P3       |
| Duplicate primary-CTA pattern                     | `LandingScreen.jsx` inline `ww-button-primary` vs shared CTA hooks (#1238) | Mixed                                                   | **reframe**                        | Consolidate journey CTAs onto shared `ww-cta-*` (preserve mobile behavior)                              | P1       |
| Brand / loaders                                   | `WalletWallLoadingSvg.jsx`, `loading/*`, `VaultModeTransition.jsx`         | On-brand                                                | **supporting**                     | Keep (vault seal transition is on-thesis)                                                               | —        |

***

## 7. Test / guardrail inventory

| Test                                                                                                                                                   | Role                                                           | Classification      | Note                                                                                                               |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `hero-copy-positioning.test.mjs`                                                                                                                       | Forbids vault/custody/quantum-resistant hero copy              | **guardrail\_only** | **Extend scan to `src/lib/seo.js` + `products.js`** (closes the P0/P1 gap)                                         |
| `product-pages-vault-alignment.test.mjs`, `homepage-vault-platform-alignment.test.mjs`                                                                 | Forbids overclaims on pages/home                               | **guardrail\_only** | Keep; consider adding `seo.js` coverage                                                                            |
| `methodology-coverage.test.mjs`                                                                                                                        | Methodology disclosure (FingerprintBadge, StablecoinVaultPage) | **guardrail\_only** | Narrow file scope; keep                                                                                            |
| `vault-pq-integration-safety.test.mjs`, `stablecoin-vault-disclosure-copy.test.mjs`, `pq-verifier-evidence.test.mjs`, `proof-artifact-status.test.mjs` | Vault/PQ safety + no-overclaim                                 | **guardrail\_only** | Keep                                                                                                               |
| `cta-taxonomy.test.mjs`, `coin-cta.test.mjs`                                                                                                           | CTA label taxonomy                                             | **guardrail\_only** | Update if CTAs consolidated                                                                                        |
| `product-nav-consistency.test.mjs`, `product-subdomain-navigation.test.mjs`, `mobile-cta-nav-consistency.test.mjs`                                     | Nav parity (incl. mobile)                                      | **guardrail\_only** | Preserve mobile behavior on any reorder                                                                            |
| `product-journey-homepage.test.mjs`, `pull-thru-next-section.test.mjs`, `home-journey-simulators.test.mjs`                                             | Journey section order/sims                                     | **reframe**         | Must be updated **together** with any journey reorder                                                              |
| `seo.test.mjs`                                                                                                                                         | Canonical URLs/sitemap/robots/OG                               | **reframe**         | Does **not** pin title text → add a positive assertion that the title is readiness-framed (no "quantum-resistant") |
| Route tests (`api-route-registration`, `*-route`, `route-config-error`)                                                                                | Route registration/regression                                  | **guardrail\_only** | Keep; do not break routes                                                                                          |

***

## 8. Docs / SEO inventory

| Doc / asset                               | Current role                                                                          | Classification                                       | Recommended action                                                      | Priority                                          |    |
| ----------------------------------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------- | -- |
| `src/lib/seo.js`                          | Site meta title/description/OG                                                        | **reframe**                                          | Remove "Quantum-Resistant…Platform" overclaim                           | **P0**                                            |    |
| `docs/product/vault-first-positioning.md` | Canonical positioning / red-lines                                                     | **core**                                             | Keep as source of truth; cite in guard                                  | —                                                 |    |
| `docs/product-pillars.md`                 | Six co-equal pillars                                                                  | **reframe**                                          | Re-anchor around vault-first hierarchy (Vault flagship, others feed it) | P2                                                |    |
| `docs/intel-mode-roadmap.md`              | Pre-pivot "Intel Mode" roadmap                                                        | **deprecate\_candidate**                             | Supersede/annotate with vault-readiness roadmap                         | P2                                                |    |
| `docs/staking-radar.md`                   | "Staking Radar" surface                                                               | **deprecate\_candidate**                             | No such route/nav/product exists → archive or mark not-built            | P2                                                |    |
| `docs/mint.json` (Mintlify nav)           | docs.walletwall.org nav                                                               | **supporting**                                       | Verify nav leads with vault readiness                                   | P3                                                |    |
| `docs/stable-seer.md`, `docs/quantum*.md` | Surface docs                                                                          | **supporting**                                       | Keep; minor reframing                                                   | P3                                                |    |
| "radar" internal identifiers              | `CoinResultsSection.jsx`, `useCoinModeController.js`, `constants.js` `RADAR_EXAMPLES` | Internal naming remnant (Market Radar → Stable Seer) | **reframe**                                                             | Low-priority rename for clarity (not user-facing) | P3 |

***

## 9. Classification summary counts

Counts are by distinct audited item across §3–§8 (shared items counted once in dominant role).

| Classification           | Count | Representative items                                                                                                                                                                    |
| ------------------------ | ----: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **core**                 |     6 | Stablecoin Vault, Migration Readiness, Readiness Packet, Quantum, hero, vault-first-positioning doc                                                                                     |
| **supporting**           |    14 | Stable Seer, Holder Wall, wallet profile, market context rail, signal tape, `/vault` rehearsal, watchlist\*, loaders, route compat                                                      |
| **reframe**              |    11 | SEO title (P0), `products.js` desc, Whale Watcher copy, journey/nav order, journey rail, CTA consolidation, `seo.test.mjs`, journey tests, product-pillars, InsightsPulse, radar naming |
| **demote**               |     5 | Coinstellation, Watchlist, Proof-of-Readiness rewards, ConversationMode, SynthesisOverlay                                                                                               |
| **deprecate\_candidate** |     4 | Token detail route, ConversationMode (AI chat), intel-mode-roadmap, staking-radar doc                                                                                                   |
| **removed**              |     2 | `WalletActivityChart`, `vault/shared/QuorumProgress` (deleted in `chore/remove-dead-stale-components`)                                                                                  |
| **remove\_candidate**    |     3 | `MarketTicker`, `HolderWallTile`, `ProductShell` (test-referenced; verify before removal)                                                                                               |
| **guardrail\_only**      |    10 | Red-line copy guards, vault/PQ safety tests, CTA/nav/route tests, `/icons` dev route, legacy path map                                                                                   |

> Items appearing under two lenses (e.g. ConversationMode is both demote and deprecate\_candidate)
> are listed in both rows but represent \~45 distinct audited items: **12 routes/nav elements,
> 12 homepage sections, 13 product surfaces, \~13 notable component/copy items, \~9 test/guardrail
> groups, 8 docs/SEO items** (≈67 inventory rows, deduped to the distinct surfaces above).

***

## 10. P0 / P1 / P2 follow-up recommendations

**P0 — fix confusing/overclaiming search-indexed language (copy-only):**

* Reframe `src/lib/seo.js` title/description: drop "Quantum-Resistant … Platform" → readiness
  framing (e.g. "WalletWall — Stablecoin Vault Readiness, powered by wallet intelligence").
* Drop "quantum-resistant" from `PRODUCTS.stablecoinVault.description` in `src/lib/products.js`.

**P1 — alignment & consolidation:**

* Extend the red-line copy guard (`hero-copy-positioning` or a new `seo-copy-positioning` test) to
  scan `src/lib/seo.js` and `src/lib/products.js` so overclaims can't regress.
* Reorder the journey/nav so stablecoin + migration surfaces sit directly under the vault
  (update `PRODUCT_NAV_ITEMS`, `JOURNEY_SECTION_IDS`, `LandingScreen.jsx`, and
  `product-journey-homepage` + `pull-thru-next-section` tests **together**).
* Surface the flagship Stablecoin Vault directly in the top nav (not only inside "Walk").
* Consolidate duplicate journey CTAs onto the shared `ww-cta-*` pattern (#1238) — **preserve mobile
  CTA/nav behavior** (`mobile-cta-nav-consistency.test.mjs`).

**P2 — reframe / demote / clean:**

* Reframe Whale Watcher → treasury/stablecoin movement monitoring.
* Decide Coinstellation's role; demote prominence; resolve the legacy AI surfaces (ConversationMode,
  SynthesisOverlay, InsightsPulse) with it.
* Confirm Token detail vs Stable Seer; deprecate if redundant.
* ~~Remove the two clean-dead components (`WalletActivityChart`, `vault/shared/QuorumProgress`)~~ — **done** (`chore/remove-dead-stale-components`). Next: verify the test-referenced orphans (`MarketTicker`, `HolderWallTile`, `ProductShell`) and remove with their tests if safe.
* Annotate/supersede `docs/intel-mode-roadmap.md`; archive `docs/staking-radar.md`.

**P3 — polish after IA is clean:** internal "radar" rename; watchlist nav weight; docs pillar/nav
re-anchoring; visual polish.

***

## 11. "Do not remove yet" notes (risky surfaces)

* **`/vault` simulator** — visually distinct from `/stablecoin-vault`, but the `VaultModeTransition`
  seal animation keys off `isVaultRoute(path === '/vault')` (`app.jsx`). Demote in journey, **do not
  delete the route** without untangling the transition + `ProductShell`/`VaultMode*` tests.
* **Coinstellation / GalaxyView / NodeDetailPanel** — `GalaxyView` is reused by the wallet-profile
  flow (`/wallet/*`), not only `/coinstellation`. Demote, **do not remove** the graph engine.
* **`HolderWallTile.jsx` / `MarketTicker.jsx` / `ProductShell.jsx`** — import-orphans but referenced
  by tests (`holder-wall-tile-mapping`, `market-ticker-component`, `stablecoin-signal-tape`,
  `vault-visual-mode`, `vault-seal-transition`); verify whether tests hit the JSX or a same-named
  data model/util before removal. Intentionally left as `remove_candidate` for a follow-up PR.
* **Legacy path map + `?view=` param + subdomain routing** — back-compat for indexed/shared links;
  keep.
* **Quantum / PQ rehearsal copy** — governed by vault/PQ safety guards; any reframing must keep the
  testnet/simulated/no-custody boundaries and pass `vault-pq-integration-safety` + `pq-verifier-evidence`.

***

## 12. Known stale or confusing surfaces

* SEO title overclaim (P0) — confusing **and** off-positioning.
* Two "vault" entry points (`/vault` simulator vs `/stablecoin-vault` flagship) — potential user
  confusion; mitigated by distinct labels, but worth an IA note.
* Journey order implies Whale/Coinstellation are more central than Stable Seer/Quantum.
* `docs/staking-radar.md` documents a non-existent product.
* ~~Dead components: `WalletActivityChart`, `vault/shared/QuorumProgress`.~~ (Removed in `chore/remove-dead-stale-components`.)
* Legacy AI "Ask a follow-up" chat is reachable but unframed within the new thesis.

***

## 13. Suggested next PR sequence

1. **PR A (P0, copy-only):** reframe `seo.js` + `products.js` vault description off the
   "quantum-resistant platform" overclaim. Tiny, no behavior change.
2. **PR B (P1, guardrail):** extend the red-line copy guard to `seo.js`/`products.js`; add a positive
   `seo.test.mjs` assertion. Locks PR A in.
3. **PR C (P1, IA):** reorder journey + nav vault-first; surface flagship in top nav; update journey
   tests together. Preserve mobile behavior.
4. **PR D (P1, consolidation):** unify journey CTAs onto shared `ww-cta-*`.
5. **PR E (P2, reframe):** Whale Watcher → treasury/stablecoin monitoring; Coinstellation role +
   legacy AI surfaces decision.
6. **PR F (P2, cleanup):** remove the two clean-dead components; verify + remove the test-referenced
   orphans; token-detail decision.
7. **PR G (P2, docs):** re-anchor product-pillars; archive/annotate intel-mode-roadmap +
   staking-radar.
8. **PR H (P3):** internal "radar" rename, watchlist nav weight, visual polish.

> **Recommended immediate next implementation PR: PR A** (the P0 SEO/positioning copy fix) — highest
> user-facing impact, smallest/safest diff, and it removes a live overclaim. PR B should follow
> immediately to prevent regression.

***

## 14. Confirmation

* **No runtime behavior changed** — this is a docs (+ optional structural docs test) audit only.
* **No routes removed, no UI redesigned, no copy rewritten, no Dune execution changed**, and no
  custody/yield/signing/deposit/withdrawal/pooling/on-chain-write behavior added.
* `remove_candidate` / `deprecate_candidate` items are flagged for a follow-up PR with verification,
  **not** removed here.
* Stablecoin-vault alignment copy is preserved; the red-line findings move copy **toward** the
  approved positioning, never away from it.
