Files
explorer-monorepo/docs/EXPLORER_DEADENDS_GAPS_ORPHANS_AUDIT_2026-04-11.md

5.5 KiB

Explorer Dead-Ends, Gaps, and Orphans Audit

Date: 2026-04-11

This audit records the remaining pruning surface after the frontend trust, freshness, and deployment-path cleanup work. The goal is to distinguish high-signal cleanup targets from compatibility or historical assets that should not be deleted casually.

Canonical Live Paths

  • Frontend deploy: scripts/deploy-next-frontend-to-vmid5000.sh
  • Frontend runtime: solacescanscout-frontend.service
  • Shared freshness/trust model:
    • frontend/src/utils/explorerFreshness.ts
    • frontend/src/components/common/FreshnessTrustNote.tsx
    • frontend/src/components/common/ActivityContextPanel.tsx
  • Explorer-owned freshness backend:
    • backend/api/freshness/
    • backend/api/rest/stats.go
    • backend/api/track1/bridge_status_data.go

Pruned in This Cleanup Series

  • Deprecated static deploy scripts now fail fast and point to the canonical Next deploy path:
    • scripts/deploy-frontend-to-vmid5000.sh
    • scripts/deploy.sh
  • Removed relay-summary compatibility helpers from:
    • frontend/src/services/api/missionControl.ts
  • Removed duplicate route action from:
    • frontend/src/data/explorerOperations.ts
  • Hardened deploy build-lock behavior in:
    • scripts/deploy-next-frontend-to-vmid5000.sh

Dead-End Guidance Fixed

The following docs were updated to stop presenting deprecated static frontend deployment as a current operator path:

  • docs/README.md
  • docs/INDEX.md
  • docs/DEPLOYMENT.md
  • README_DEPLOYMENT.md

Remaining Historical / Compatibility Assets To Keep For Now

These are not current primary paths, but they still serve compatibility, reference, or audit roles and should not be removed without a deliberate migration decision:

  • frontend/public/index.html
  • frontend/public/explorer-spa.js
  • frontend/public/chain138-command-center.html
  • deployment/common/nginx-api-location.conf

Remaining Gaps

0. Static compatibility assets are not orphaned yet

The following assets are still part of the runtime or deployment surface and cannot be deleted safely in a pure pruning pass:

  • frontend/public/index.html
  • frontend/public/explorer-spa.js
  • frontend/public/chain138-command-center.html

Current hard blockers:

  • canonical deploy script still copies them:
    • scripts/deploy-next-frontend-to-vmid5000.sh
  • live product still links the command center:
    • frontend/src/components/common/Navbar.tsx
    • frontend/src/components/common/Footer.tsx
    • frontend/src/data/explorerOperations.ts
    • frontend/src/pages/docs/index.tsx
  • compatibility/runtime verification still expects them:
    • scripts/verify-explorer-api-access.sh
  • several legacy remediation scripts still push the static SPA to /var/www/html/index.html:
    • scripts/deploy-frontend-fix.sh
    • scripts/fix-explorer-remote.sh
    • scripts/fix-explorer-complete.sh
    • scripts/complete-explorer-api-access.sh

Recommendation:

  • treat retirement of these assets as an explicit migration
  • first decide whether the command center remains a supported public artifact
  • then remove static-SPA push logic from the remediation scripts
  • only after that delete the files and clean the remaining references

1. Historical docs still describe the old static SPA as if it were primary

These are not the best operator entry points anymore, but they appear to be historical records, troubleshooting notes, or code-review artifacts rather than active runbooks:

  • docs/FRONTEND_DEPLOYMENT_FIX.md
  • docs/FRONTEND_FIXES_COMPLETE.md
  • docs/API_ERRORS_FIX.md
  • docs/EXPLORER_LOADING_TROUBLESHOOTING.md
  • docs/EXPLORER_API_ACCESS.md
  • docs/EXPLORER_CODE_REVIEW.md
  • docs/EXPLORER_FRONTEND_TESTING.md
  • docs/STRUCTURE.md
  • docs/TIERED_ARCHITECTURE_IMPLEMENTATION.md

Recommendation:

  • keep them for now
  • a first banner-stamp sweep has already been applied to the highest-signal set
  • only rewrite/delete them if we decide to retire the compatibility assets

2. Compatibility assets still create pruning ambiguity

The repo still contains both:

  • the live Next frontend path
  • the historical static SPA assets

Recommendation:

  • keep the compatibility assets until all docs and operators no longer depend on them for rollback/reference
  • when retired, remove the assets and do a repo-wide frontend/public/index.html reference cleanup in one explicit migration

3. Public routing ownership is still split

Freshness truth is now much cleaner, but public route ownership still spans:

  • Blockscout-owned public API behavior
  • explorer-owned track1 / mission-control behavior
  • Next frontend presentation logic

Recommendation:

  • continue consolidating around the explorer-owned freshness contract
  • treat backend source-of-truth wiring as the next cleanup frontier, not more shell polish

Orphaned / Removed Compatibility Paths Confirmed Gone

These frontend compatibility abstractions were fully removed and should not be reintroduced:

  • getRelaySummary in frontend/src/services/api/missionControl.ts
  • subscribeRelaySummary in frontend/src/services/api/missionControl.ts

Suggested Next Pruning Sweep

  1. Stamp the historical static-SPA docs above with a clear banner: Historical static-SPA guidance; not the canonical deployment path.
  2. Decide whether frontend/public/index.html and frontend/public/explorer-spa.js still have an operational rollback role.
  3. If not, remove them in one explicit migration and clean all remaining references repo-wide.
  4. After that, re-run the dead-end/orphan audit and remove the remaining compatibility mentions from troubleshooting docs.