Repository navigation
refactor(grain): live Grain API only — the index moved to grain-indexer - #567
Merged
Merged
Conversation
The webhook-fed index (grain_meeting_recordings in Supabase), its search tool, the trigger storage and the backfill script are gone. They now live, with full transcripts, privacy rules and signed webhooks, in decocms/grain-indexer — and the old tables were dropped there. What stays: LIST_RECORDINGS, GET_RECORDING, GET_TRANSCRIPT, GET_SUMMARY, live against Grain with the connection's own key. No state, no webhooks created on anyone's Grain account, no Supabase dependency. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/blog-generator
October 27, 2026 20:17
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/content-scraper
October 27, 2026 20:17
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/deco-news-weekly-digest
October 27, 2026 20:17
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/discord-read
October 27, 2026 20:17
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-analytics
October 27, 2026 20:17
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-big-query
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-calendar
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-calendar-sa
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-drive
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-meet
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-search-console
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-sheets
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-slides
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-tag-manager
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/google-workspace
October 27, 2026 20:18
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/object-storage
October 27, 2026 20:19
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/whatsappagent
October 27, 2026 20:19
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/youtube-channel-admin
October 27, 2026 20:19
Destroyed
deco-hosting
Bot
temporarily deployed
to
preview/pr-567/youtube-search
October 27, 2026 20:20
Destroyed
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The Grain MCP's own index (a
grain_meeting_recordingstable in Supabase fed by Grain webhooks, plusSEARCH_INDEXED_RECORDINGSand trigger storage) is replaced by decocms/grain-indexer. That service keeps full transcripts, privacy rules, signed webhooks and an MCP of its own. The old tables were already migrated (as metadata only) and dropped, and the oldatlas-indexhooks were deleted from Grain.What
SEARCH_INDEXED_RECORDINGS, Mesh triggers (their storage table had 0 rows), the backfill script, and the@supabase/supabase-jsdependency.LIST_RECORDINGS,GET_RECORDING,GET_TRANSCRIPT,GET_SUMMARY. They call the Grain API live with the connection's own key, with no state.Verified
tscongrain/is clean apart from 2 errors insidenode_modules/@decocms/runtime(bindings version mismatch), which are unrelated to this change. oxlint and oxfmt pass.🤖 Generated with Claude Code
Summary by cubic
Turns the Grain MCP into a stateless, live-API-only package. The webhook-fed Supabase index (
grain_meeting_recordings),SEARCH_INDEXED_RECORDINGS, Mesh triggers, and the backfill script have moved to decocms/grain-indexer, which now owns full transcripts, privacy rules, signed webhooks, and search; the old tables were already migrated there and dropped.What stays:
LIST_RECORDINGS,GET_RECORDING,GET_TRANSCRIPT, andGET_SUMMARY, which call the Grain API live with the connection's own key and keep no state.@supabase/supabase-jsdependency.Written for commit 78f80d1. Summary will update on new commits.