Skip to content

chore: demote Whale Watcher to public-safe fixture-only surface - #7

Merged
sirmrdrgod merged 1 commit into
mainfrom
chore/demote-whale-watcher-to-demo-surface
Jun 30, 2026
Merged

chore: demote Whale Watcher to public-safe fixture-only surface#7
sirmrdrgod merged 1 commit into
mainfrom
chore/demote-whale-watcher-to-demo-surface

Conversation

@sirmrdrgod

Copy link
Copy Markdown
Contributor

Why

Aligns walletwall-whale-watcher with the strategy already used by walletwall-stable-seer, walletwall-holder-wall, and walletwall-coinstellation: open-source the product surface to build trust, keep the implementation private as the moat.

Today this repo is the odd one out — it published a near-verbatim copy of the private backend (live Dune proxy, scoring/heuristic engines, quota/caching strategy) plus a README documenting the Dune query column schema. No secrets or query IDs leaked, but it handed competitors the full reconstruction recipe. This PR reduces it to a UI surface + synthetic fixture, exactly like the sibling repos.

Production is unaffected: whales.walletwall.org is served by the private walletwall Vercel project, which keeps its own copy of the real implementation. This repo was a standalone published mirror, not a runtime dependency.

Removed (now private-only)

  • api/ backend, server.js, scripts/, vercel.json — live Dune proxy, rate-limit/quota/caching strategy, execution guards
  • src/ heuristic + signal engines, scoring / quantum-readiness logic, proof-of-readiness system, 9 live /api/* fetch paths
  • README Dune query column schema, .env.example provider matrix, SECURITY_AUDIT_REPORT.md

Added (fixture-only surface, mirrors sibling repos)

  • React 18 + Vite 6 surface over a synthetic src/data/whale-watcher.fixture.json — KPIs, entity-type filter, watched-wallet leaderboard, per-wallet detail, 12-week activity cadence chart
  • docs/PUBLIC_SAFE_SCOPE.md, SURFACE_OVERVIEW.md, DATA_FIXTURES.md
  • tests/no-secrets.test.js, public-safety.test.jsx, whale-watcher.test.jsx26 passing
  • Demo-safe README / SECURITY / AGENTS / CONTRIBUTING; CI lint step dropped (no lint script in fixture-only scope)

Verification

  • npm run test → 26/26 passing (no-secrets scan, disclaimer/read-only assertions, surface behavior)
  • npm run build → clean (32 modules)
  • Leak sweep: no DUNE_QUERY*, queryId, SCORE_WEIGHT*, process.env, /api/, real addresses, or provider hosts remain (only the guard docs/tests that list banned patterns)

Note for maintainer

The real backend remains recoverable in this repo's git history (it was public 2026-06-20 → now). If that history is itself considered sensitive, a history scrub / repo re-init is a separate follow-up — flag if you want it.

🤖 Generated with Claude Code

Align walletwall-whale-watcher with the other public surface repos
(stable-seer, holder-wall, coinstellation): publish the product surface,
keep the implementation as the private moat.

Removed (now private-only):
- api/ backend, server.js, scripts/, vercel.json — live Dune proxy,
  rate-limit/quota/caching strategy, execution guards
- src/ heuristic + signal engines, scoring/quantum-readiness logic,
  proof-of-readiness system, 9 live /api/* fetch paths
- README Dune query column schema, .env.example provider matrix,
  SECURITY_AUDIT_REPORT.md

Added (fixture-only surface, mirrors sibling repos):
- React 18 + Vite 6 surface on a synthetic whale-watcher.fixture.json
  (KPIs, type filter, watched-wallet leaderboard, 12-week cadence chart)
- docs/PUBLIC_SAFE_SCOPE.md, SURFACE_OVERVIEW.md, DATA_FIXTURES.md
- tests/no-secrets, public-safety, and surface tests (26 passing)
- demo-safe README/SECURITY/AGENTS/CONTRIBUTING; CI lint step dropped

No secrets, Dune query IDs, scoring weights, or backend remain. The real
implementation stays in the private walletwall app, which already serves
whales.walletwall.org.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sirmrdrgod
sirmrdrgod marked this pull request as ready for review June 30, 2026 01:24
@sirmrdrgod
sirmrdrgod merged commit 19583dd into main Jun 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant