From 319e8895779f4ef436a23883c511f113b3e5010b Mon Sep 17 00:00:00 2001 From: arcabotai <261107832+arcabotai@users.noreply.github.com> Date: Fri, 29 May 2026 20:19:36 -0400 Subject: [PATCH] chore: shelve superanon Dune worker (keep, don't run) Superanon was a Supercast-only feature; @superanon (fid 862100) has been dormant since 2025-10-28 and the original Dune query was never in this fork, so there is no live data to index (the anon-posting idea lives on independently as Anoncast / Anon World / $ANON). Mark the route as deliberately SHELVED (kept for possible revival), remove its now-pointless daily cron from vercel.json, and document the decision + the Farcaster DM (Direct Cast) realities in AGENTS.md. --- AGENTS.md | 10 ++++++++++ .../api/index-superanon-scores-from-dune/route.ts | 14 +++++++++++++- vercel.json | 7 +------ 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 72abf6e..dc9b3dc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -68,6 +68,16 @@ npm run dev # http://localhost:3000 `@/utils/drafts`). The cron auth + `CRON_SECRET` (set in Vercel prod/dev) are already in place. Be careful: these post casts / cancel Stripe subscriptions / send DMs — test behind a flag, and only add to `vercel.json` crons with explicit sign-off. + - **`index-superanon-scores-from-dune` is SHELVED** (kept, not removed). Superanon was a + Supercast-only feature; its account `@superanon` (fid 862100) has been dormant since + 2025-10-28 and the Dune query was never in this fork, so there is no live data to index. The + anon-posting idea lives on independently as Anoncast / Anon World ($ANON). Removed from + vercel.json crons. Do NOT reconstruct unless a live scoring source returns. The leaderboard + routes + `SuperanonScore` model + `NEXT_PUBLIC_SUPERANON_FID` are dormant legacy. + - **Direct Casts (DMs):** `@/utils/direct-casts.ts` sends via `api.warpcast.com/v2/ext-send-direct-cast` + with a Farcaster app API key (`WARPCAST_DM_API_KEY` — rename to `FARCASTER_DM_*` when wiring it). + Send-only and account-bound; there is no official read/receive DM API, so full native DM parity + inside Castora is not feasible today. Fine for one-off sends like expiration reminders. - Other tech debt: two query libs coexist (`react-query` v3 + `@tanstack/react-query` v5 — converge); Next.js is 13.5 (upgrade path to 15/16); `reactStrictMode` and ESLint-on-build are disabled (`next.config.js`, "todo switch back"). diff --git a/src/app/api/index-superanon-scores-from-dune/route.ts b/src/app/api/index-superanon-scores-from-dune/route.ts index 4a39b16..a5395d3 100644 --- a/src/app/api/index-superanon-scores-from-dune/route.ts +++ b/src/app/api/index-superanon-scores-from-dune/route.ts @@ -3,13 +3,25 @@ import { isCronAuthorized } from '@/utils/auth/requireCronAuth'; export const maxDuration = 240; +/** + * SHELVED — intentionally disabled, kept in the repo for possible future revival. + * + * This indexed Supercast's "Superanon" leaderboard scores from a Dune query. + * Superanon was a Supercast-only feature; its account (@superanon, fid 862100) + * has been dormant since 2025-10-28, and the original Dune query was never part + * of this fork — so there is no live data source to index. The anonymous-posting + * idea now lives on independently as Anoncast / Anon World ($ANON). + * + * Removed from vercel.json crons (no longer scheduled). Revive only if a live + * scoring source returns. See AGENTS.md (roadmap) for full context. + */ export async function GET(request: NextRequest) { if (!isCronAuthorized(request)) { return Response.json({ error: 'Unauthorized' }, { status: 401 }); } return Response.json( - { success: false, error: 'indexSuperanonScoresFromDune worker is disabled in Castora bootstrap' }, + { success: false, error: 'indexSuperanonScoresFromDune is shelved (Superanon dormant; see AGENTS.md)' }, { status: 501 }, ); } diff --git a/vercel.json b/vercel.json index a74de79..f6218dd 100644 --- a/vercel.json +++ b/vercel.json @@ -1,8 +1,3 @@ { - "crons": [ - { - "path": "/api/index-superanon-scores-from-dune", - "schedule": "0 6 * * *" - } - ] + "crons": [] }