[
 {
  "id": "fn-memory",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 82,
  "outTok": 16,
  "ms": 562,
  "answer": "The maximum memory available to a Supabase Edge Function is 512 MB.",
  "trace": []
 },
 {
  "id": "fn-wallclock-paid",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 87,
  "outTok": 21,
  "ms": 305,
  "answer": "The maximum wall clock duration of a Supabase Edge Function worker on paid plans is 30 seconds.",
  "trace": []
 },
 {
  "id": "fn-cpu",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 19,
  "ms": 229,
  "answer": "A Supabase Edge Function can use up to 30 seconds of CPU time per request.",
  "trace": []
 },
 {
  "id": "fn-count-free",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 18,
  "ms": 391,
  "answer": "A Supabase project on the Free plan can have up to 5 Edge Functions.",
  "trace": []
 },
 {
  "id": "fn-size-cli",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 89,
  "outTok": 23,
  "ms": 330,
  "answer": "The maximum size of a Supabase Edge Function when it is bundled locally with the CLI is 50 MB.",
  "trace": []
 },
 {
  "id": "fn-secret-prefix",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 19,
  "ms": 305,
  "answer": "Supabase Edge Function secret names are not allowed to start with the prefix \"supabase:\".",
  "trace": []
 },
 {
  "id": "fn-ports",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": true,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 79,
  "ms": 489,
  "answer": "Supabase Edge Functions are not allowed to connect to ports 22 (SSH), 25 (SMTP), 53 (DNS), 110 (POP3), 119 (NNTP), 143 (IMAP), 465 (SMTPS), 587 (SMTP), 993 (IMAPS), 995 (POP3S), and 3306 (MySQL) by default.",
  "trace": []
 },
 {
  "id": "fn-log-len",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 18,
  "ms": 409,
  "answer": "The maximum log message length for a Supabase Edge Function is 4096 characters.",
  "trace": []
 },
 {
  "id": "fn-idle",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 94,
  "outTok": 35,
  "ms": 337,
  "answer": "A Supabase Edge Function that has not sent a response will return a 504 Gateway Timeout after 60 seconds (1 minute) due to the request idle timeout setting.",
  "trace": []
 },
 {
  "id": "rt-conn-free",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 14,
  "ms": 740,
  "answer": "The Supabase Free plan allows 10 concurrent Realtime connections.",
  "trace": []
 },
 {
  "id": "rt-bcast-free",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 85,
  "outTok": 19,
  "ms": 250,
  "answer": "The maximum Realtime Broadcast payload size on the Supabase Free plan is 1 MB.",
  "trace": []
 },
 {
  "id": "rt-replay",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 16,
  "ms": 183,
  "answer": "Messages are retained for 24 hours for Supabase Realtime Broadcast replay.",
  "trace": []
 },
 {
  "id": "rt-too-many",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 88,
  "outTok": 26,
  "ms": 423,
  "answer": "The WebSocket message Supabase Realtime sends when a single connection has joined too many channels is \"error: too many channels\".",
  "trace": []
 },
 {
  "id": "st-free-size",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 85,
  "outTok": 19,
  "ms": 350,
  "answer": "The maximum file size limit for Supabase Storage on the Free plan is 100 MB.",
  "trace": []
 },
 {
  "id": "st-pro-size",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 85,
  "outTok": 19,
  "ms": 264,
  "answer": "The maximum file size limit for Supabase Storage on the Pro plan is 5 GB.",
  "trace": []
 },
 {
  "id": "fn-tmp",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": true,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 18,
  "ms": 291,
  "answer": "A Supabase Edge Function can write ephemeral files to the `/tmp` directory.",
  "trace": []
 },
 {
  "id": "fn-s3-prefix",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 99,
  "outTok": 35,
  "ms": 630,
  "answer": "In a Supabase Edge Function with an S3 bucket mounted as persistent storage, you would use the path prefix `/persistent-storage/<bucket-name>/<path-to-file>`.",
  "trace": []
 },
 {
  "id": "fn-region-header",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 25,
  "ms": 311,
  "answer": "The HTTP header that makes a Supabase Edge Function execute in a specific region is \"X-Supabase-Region\".",
  "trace": []
 },
 {
  "id": "fn-region-param",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 98,
  "outTok": 21,
  "ms": 507,
  "answer": "The query parameter that forces a Supabase Edge Function to run in a specific region is `region`.",
  "trace": []
 },
 {
  "id": "vb-dims",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 16,
  "ms": 306,
  "answer": "The maximum vector dimension supported by Supabase Storage vector buckets is 128.",
  "trace": []
 },
 {
  "id": "vb-batch",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 87,
  "outTok": 27,
  "ms": 488,
  "answer": "According to Supabase documentation, up to 100 vectors can be inserted in a single request to a Supabase Storage vector bucket.",
  "trace": []
 },
 {
  "id": "fn-waituntil",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 90,
  "outTok": 35,
  "ms": 504,
  "answer": "To keep an Edge Function running until a background task finishes in Supabase, you would call the `supabase.supabase.io/edge/keep-alive` API.",
  "trace": []
 },
 {
  "id": "mcp-readonly",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 89,
  "outTok": 26,
  "ms": 953,
  "answer": "The URL parameter that makes the Supabase MCP server execute all queries as a read-only Postgres user is `readonly=true`.",
  "trace": []
 },
 {
  "id": "mcp-project",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 19,
  "ms": 368,
  "answer": "The URL parameter that scopes the Supabase MCP server to a single project is `project`.",
  "trace": []
 },
 {
  "id": "mcp-features",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 21,
  "ms": 452,
  "answer": "The URL parameter that enables only specific tool groups on the Supabase MCP server is `tool_groups`.",
  "trace": []
 },
 {
  "id": "q-archive",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 92,
  "outTok": 31,
  "ms": 542,
  "answer": "The name pattern of the archive table created for a queue in Supabase Queues (pgmq) is \"pgq_archives_<queue_name>\".",
  "trace": []
 },
 {
  "id": "q-unlogged",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 27,
  "ms": 1617,
  "answer": "The SQL function that creates an unlogged queue in Supabase Queues (pgmq) is `CREATE UNLOGGED TABLE`.",
  "trace": []
 },
 {
  "id": "cron-pgver",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 19,
  "ms": 297,
  "answer": "Supabase Cron jobs can be scheduled with a seconds interval from Postgres version 13.",
  "trace": []
 },
 {
  "id": "fn-verify-jwt",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": true,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 25,
  "ms": 310,
  "answer": "The setting in config.toml that turns off JWT verification for a Supabase Edge Function is `verify_jwt = false`.",
  "trace": []
 },
 {
  "id": "br-remotes",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 25,
  "ms": 386,
  "answer": "The configuration for a persistent branch in Supabase's config.toml is held in the `persistent_branches` block.",
  "trace": []
 },
 {
  "id": "fn-memory",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 849,
  "outTok": 32,
  "ms": 1382,
  "answer": "The maximum memory available to a Supabase Edge Function is 256MB.",
  "trace": [
   {
    "query": "edge functions memory limit",
    "resultChars": 1487
   }
  ]
 },
 {
  "id": "fn-wallclock-paid",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1087,
  "outTok": 41,
  "ms": 852,
  "answer": "The maximum wall clock duration of a Supabase Edge Function worker on paid plans is 400 seconds.",
  "trace": [
   {
    "query": "edge functions paid plans maximum wall clock duration",
    "resultChars": 2290
   }
  ]
 },
 {
  "id": "fn-cpu",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 994,
  "outTok": 34,
  "ms": 561,
  "answer": "The maximum CPU time an Edge Function can use per request is 2 seconds.",
  "trace": [
   {
    "query": "edge functions cpu time limit",
    "resultChars": 2113
   }
  ]
 },
 {
  "id": "fn-count-free",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 906,
  "outTok": 40,
  "ms": 702,
  "answer": "The Supabase Free plan does not have a specific limit on the number of Edge Functions a project can have.",
  "trace": [
   {
    "query": "Edge Functions free plan limit",
    "resultChars": 1636
   }
  ]
 },
 {
  "id": "fn-size-cli",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 995,
  "outTok": 44,
  "ms": 820,
  "answer": "The maximum size of a Supabase Edge Function when it is bundled locally with the CLI is 20MB.",
  "trace": [
   {
    "query": "edge functions memory limit when bundled locally with CLI",
    "resultChars": 2028
   }
  ]
 },
 {
  "id": "fn-secret-prefix",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1036,
  "outTok": 38,
  "ms": 854,
  "answer": "Supabase Edge Function secret names are not allowed to start with the prefix `SUPABASE_`.",
  "trace": [
   {
    "query": "edge functions secret names prefix",
    "resultChars": 2142
   }
  ]
 },
 {
  "id": "fn-ports",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1081,
  "outTok": 36,
  "ms": 770,
  "answer": "Outgoing connections to ports 25 and 587 are not allowed for Supabase Edge Functions.",
  "trace": [
   {
    "query": "edge functions outgoing ports",
    "resultChars": 2426
   }
  ]
 },
 {
  "id": "fn-log-len",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1237,
  "outTok": 37,
  "ms": 756,
  "answer": "The maximum log message length for a Supabase Edge Function is 10,000 characters.",
  "trace": [
   {
    "query": "edge functions log message length limit",
    "resultChars": 2879
   }
  ]
 },
 {
  "id": "fn-idle",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 967,
  "outTok": 43,
  "ms": 563,
  "answer": "A Supabase Edge Function that has not sent a response returns 504 Gateway Timeout after 150 seconds (request idle timeout).",
  "trace": [
   {
    "query": "edge functions request idle timeout",
    "resultChars": 1717
   }
  ]
 },
 {
  "id": "rt-conn-free",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1126,
  "outTok": 33,
  "ms": 797,
  "answer": "The Supabase Free plan allows 200 concurrent Realtime connections.",
  "trace": [
   {
    "query": "Realtime connections Supabase Free plan",
    "resultChars": 3238
   }
  ]
 },
 {
  "id": "rt-bcast-free",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1079,
  "outTok": 41,
  "ms": 778,
  "answer": "The maximum Realtime Broadcast payload size on the Supabase Free plan is 256 KB.",
  "trace": [
   {
    "query": "Realtime Broadcast payload size limit Supabase Free plan",
    "resultChars": 2982
   }
  ]
 },
 {
  "id": "rt-replay",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1193,
  "outTok": 36,
  "ms": 843,
  "answer": "Messages are retained for 72 hours for Supabase Realtime Broadcast replay.",
  "trace": [
   {
    "query": "Supabase Realtime Broadcast replay message retention",
    "resultChars": 2718
   }
  ]
 },
 {
  "id": "rt-too-many",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 2,
  "evidence": true,
  "inTok": 1967,
  "outTok": 201,
  "ms": 1952,
  "answer": "The WebSocket message Supabase Realtime sends when a single connection has joined too many channels is not explicitly mentioned in the provided documentation snippet. However, based on the information provided, it seems that the error is related to the `too_many_channels` error, which is triggered when a single connection has joined too many channels. Unfortunately, the exact WebSocket message is not specified in the provided documentation.",
  "trace": [
   {
    "query": "Realtime too many channels error",
    "resultChars": 1927
   },
   {
    "query": "Realtime too many channels WebSocket message",
    "resultChars": 1208
   }
  ]
 },
 {
  "id": "st-free-size",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 982,
  "outTok": 39,
  "ms": 799,
  "answer": "The maximum file size limit for Supabase Storage on the Free plan is 50 MB.",
  "trace": [
   {
    "query": "Supabase Storage Free plan file size limit",
    "resultChars": 1974
   }
  ]
 },
 {
  "id": "st-pro-size",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1000,
  "outTok": 40,
  "ms": 838,
  "answer": "The maximum file size limit for Supabase Storage on the Pro plan is 500 GB.",
  "trace": [
   {
    "query": "Supabase Storage Pro plan maximum file size limit",
    "resultChars": 2178
   }
  ]
 },
 {
  "id": "fn-tmp",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1148,
  "outTok": 38,
  "ms": 647,
  "answer": "A Supabase Edge Function can write ephemeral files to the `/tmp` directory.",
  "trace": [
   {
    "query": "Supabase Edge Function ephemeral files directory",
    "resultChars": 2752
   }
  ]
 },
 {
  "id": "fn-s3-prefix",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1308,
  "outTok": 54,
  "ms": 912,
  "answer": "To read a file from an S3 bucket mounted as persistent storage in a Supabase Edge Function, you use the path prefix `/s3/YOUR-BUCKET-NAME`.",
  "trace": [
   {
    "query": "edge functions s3 path prefix",
    "resultChars": 3267
   }
  ]
 },
 {
  "id": "fn-region-header",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 918,
  "outTok": 37,
  "ms": 716,
  "answer": "The HTTP header that makes a Supabase Edge Function execute in a specific region is `x-region`.",
  "trace": [
   {
    "query": "edge functions region header",
    "resultChars": 1648
   }
  ]
 },
 {
  "id": "fn-region-param",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 987,
  "outTok": 38,
  "ms": 637,
  "answer": "The query parameter that forces a Supabase Edge Function to run in a specific region is `forceFunctionRegion`.",
  "trace": [
   {
    "query": "edge function region",
    "resultChars": 2179
   }
  ]
 },
 {
  "id": "vb-dims",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1131,
  "outTok": 35,
  "ms": 626,
  "answer": "The maximum vector dimension supported by Supabase Storage vector buckets is 4096.",
  "trace": [
   {
    "query": "vector dimension limit supabase storage",
    "resultChars": 2602
   }
  ]
 },
 {
  "id": "vb-batch",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1041,
  "outTok": 44,
  "ms": 536,
  "answer": "The maximum number of vectors that can be inserted in a single request to a Supabase Storage vector bucket is 1000 vectors.",
  "trace": [
   {
    "query": "storage vector bucket insert limit",
    "resultChars": 2150
   }
  ]
 },
 {
  "id": "fn-waituntil",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 858,
  "outTok": 98,
  "ms": 1286,
  "answer": "To keep a Supabase Edge Function running until a background task finishes, you can use the `supabase functions serve` command with the `per_worker` policy in the `config.toml` file, like this:\n\n[edge_runtime]\npolicy = \"per_worker\"\n\nThis will prevent the function instance from terminating automatically after a request is completed, allowing the background task to run to completion.",
  "trace": [
   {
    "query": "edge functions keep running until background task finishes",
    "resultChars": 1581
   }
  ]
 },
 {
  "id": "mcp-readonly",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1000,
  "outTok": 52,
  "ms": 618,
  "answer": "The URL parameter that makes the Supabase MCP server execute all queries as a read-only Postgres user is `read_only=true`.",
  "trace": [
   {
    "query": "MCP server execute all queries as a read-only Postgres user",
    "resultChars": 2483
   }
  ]
 },
 {
  "id": "mcp-project",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1158,
  "outTok": 42,
  "ms": 565,
  "answer": "The URL parameter that scopes the Supabase MCP server to a single project is `project_ref=<id>`.",
  "trace": [
   {
    "query": "MCP server scope by URL parameter",
    "resultChars": 3203
   }
  ]
 },
 {
  "id": "mcp-features",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 984,
  "outTok": 42,
  "ms": 801,
  "answer": "The URL parameter that enables only specific tool groups on the Supabase MCP server is `features=<groups>`.",
  "trace": [
   {
    "query": "MCP server tool groups URL parameter",
    "resultChars": 2481
   }
  ]
 },
 {
  "id": "q-archive",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 2012,
  "outTok": 136,
  "ms": 1238,
  "answer": "The name pattern of the archive table created for a queue in Supabase Queues (pgmq) is not explicitly mentioned in the provided documentation snippet. However, based on the `drop_queue` function, it can be inferred that the archive table name is the same as the queue name.",
  "trace": [
   {
    "query": "pgmq archive table name pattern",
    "resultChars": 1487
   },
   {
    "query": "pgmq archive table name",
    "resultChars": 1487
   }
  ]
 },
 {
  "id": "q-unlogged",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1003,
  "outTok": 49,
  "ms": 1015,
  "answer": "The SQL function that creates an unlogged queue in Supabase Queues (pgmq) is `pgmq.create_unlogged(queue_name text)`.",
  "trace": [
   {
    "query": "create unlogged queue supabase",
    "resultChars": 1948
   }
  ]
 },
 {
  "id": "cron-pgver",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1107,
  "outTok": 51,
  "ms": 861,
  "answer": "You can input seconds for your Job schedule interval as long as you're on Postgres version 15.1.1.61 or later.",
  "trace": [
   {
    "query": "Postgres version Supabase Cron jobs seconds interval",
    "resultChars": 1986
   }
  ]
 },
 {
  "id": "fn-verify-jwt",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 964,
  "outTok": 43,
  "ms": 668,
  "answer": "The setting in config.toml that turns off JWT verification for a Supabase Edge Function is `verify_jwt = false`.",
  "trace": [
   {
    "query": "config.toml JWT verification off",
    "resultChars": 2041
   }
  ]
 },
 {
  "id": "br-remotes",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1154,
  "outTok": 41,
  "ms": 687,
  "answer": "The block in Supabase's config.toml that holds the configuration for a persistent branch is `[remotes]`.",
  "trace": [
   {
    "query": "persistent branch config.toml",
    "resultChars": 2792
   }
  ]
 },
 {
  "id": "fn-memory",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 4863,
  "outTok": 98,
  "ms": 1279,
  "answer": "The maximum memory available to a Supabase Edge Function is not explicitly stated in the provided documentation. However, it is mentioned that the Edge Function execution was stopped due to exceeding resource limits, which includes memory usage. To determine the exact memory limit, you may need to refer to the Supabase documentation or contact their support team.",
  "trace": [
   {
    "query": "edge functions memory limit",
    "resultChars": 6059
   },
   {
    "query": "edge functions memory limit",
    "resultChars": 6059
   }
  ]
 },
 {
  "id": "fn-wallclock-paid",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1145,
  "outTok": 41,
  "ms": 1278,
  "answer": "The maximum wall clock duration of a Supabase Edge Function worker on paid plans is 400 seconds.",
  "trace": [
   {
    "query": "edge functions paid plans maximum wall clock duration",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-cpu",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1134,
  "outTok": 34,
  "ms": 948,
  "answer": "The maximum CPU time an Edge Function can use per request is 2 seconds.",
  "trace": [
   {
    "query": "edge functions cpu time limit",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-count-free",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1136,
  "outTok": 40,
  "ms": 766,
  "answer": "According to the Supabase documentation, a project on the Free plan can have up to 100 Edge Functions.",
  "trace": [
   {
    "query": "Edge Functions free plan limit",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-size-cli",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1150,
  "outTok": 44,
  "ms": 680,
  "answer": "The maximum size of a Supabase Edge Function when it is bundled locally with the CLI is 20MB.",
  "trace": [
   {
    "query": "edge functions memory limit when bundled locally with CLI",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-secret-prefix",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1136,
  "outTok": 38,
  "ms": 467,
  "answer": "Supabase Edge Function secret names are not allowed to start with the prefix `SUPABASE_`.",
  "trace": [
   {
    "query": "edge functions secret names prefix",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-ports",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1133,
  "outTok": 34,
  "ms": 542,
  "answer": "Supabase Edge Functions are not allowed to connect to ports 25 and 587.",
  "trace": [
   {
    "query": "edge functions outgoing ports",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-log-len",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1135,
  "outTok": 37,
  "ms": 533,
  "answer": "The maximum log message length for a Supabase Edge Function is 10,000 characters.",
  "trace": [
   {
    "query": "edge functions log message length limit",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-idle",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 4847,
  "outTok": 83,
  "ms": 960,
  "answer": "The tool result does not mention the request idle timeout. The original question was not fully answered. To answer the original question, the tool needs to be called once more.\n\n{\"tool\":\"search_docs\",\"arguments\":{\"query\":\"edge functions request idle timeout\"}}",
  "trace": [
   {
    "query": "edge functions request idle timeout",
    "resultChars": 6059
   },
   {
    "query": "request idle timeout",
    "resultChars": 6059
   }
  ]
 },
 {
  "id": "rt-conn-free",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 3280,
  "outTok": 109,
  "ms": 1170,
  "answer": "Unfortunately, the tool result does not mention the number of concurrent Realtime connections allowed by the Supabase Free plan. The Supabase documentation does not provide this information.",
  "trace": [
   {
    "query": "Realtime connections Supabase Free plan",
    "resultChars": 6044
   },
   {
    "query": "Supabase Free plan Realtime connections limit",
    "resultChars": 6044
   }
  ]
 },
 {
  "id": "rt-bcast-free",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 4833,
  "outTok": 161,
  "ms": 1648,
  "answer": "Unfortunately, the tool result does not mention the maximum Realtime Broadcast payload size on the Supabase Free plan. The result only provides information about various settings and limits for Realtime, but not the payload size. \n\nSince the tool has been called twice and no relevant information was found, the answer is that the maximum Realtime Broadcast payload size on the Supabase Free plan is not specified in the Supabase documentation.",
  "trace": [
   {
    "query": "Realtime Broadcast payload size limit Supabase Free plan",
    "resultChars": 6037
   },
   {
    "query": "Realtime Broadcast payload size limit Supabase Free plan",
    "resultChars": 6037
   }
  ]
 },
 {
  "id": "rt-replay",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1460,
  "outTok": 36,
  "ms": 927,
  "answer": "Messages are retained for 72 hours for Supabase Realtime Broadcast replay.",
  "trace": [
   {
    "query": "Supabase Realtime Broadcast replay message retention",
    "resultChars": 4434
   }
  ]
 },
 {
  "id": "rt-too-many",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1467,
  "outTok": 41,
  "ms": 534,
  "answer": "The WebSocket message Supabase Realtime sends when a single connection has joined too many channels is `too_many_channels`.",
  "trace": [
   {
    "query": "Realtime too many channels",
    "resultChars": 4434
   }
  ]
 },
 {
  "id": "st-free-size",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1013,
  "outTok": 39,
  "ms": 572,
  "answer": "The maximum file size limit for Supabase Storage on the Free plan is 50 MB.",
  "trace": [
   {
    "query": "Supabase Storage Free plan file size limit",
    "resultChars": 1912
   }
  ]
 },
 {
  "id": "st-pro-size",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1014,
  "outTok": 40,
  "ms": 517,
  "answer": "The maximum file size limit for Supabase Storage on the Pro plan is 500 GB.",
  "trace": [
   {
    "query": "Supabase Storage Pro plan maximum file size limit",
    "resultChars": 1912
   }
  ]
 },
 {
  "id": "fn-tmp",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1953,
  "outTok": 39,
  "ms": 909,
  "answer": "The directory that a Supabase Edge Function can write ephemeral files to is `/tmp`.",
  "trace": [
   {
    "query": "Supabase Edge Function ephemeral files directory",
    "resultChars": 6051
   }
  ]
 },
 {
  "id": "fn-s3-prefix",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1983,
  "outTok": 54,
  "ms": 717,
  "answer": "To read a file from an S3 bucket mounted as persistent storage in a Supabase Edge Function, you use the path prefix `/s3/YOUR-BUCKET-NAME`.",
  "trace": [
   {
    "query": "edge functions s3 path prefix",
    "resultChars": 6051
   }
  ]
 },
 {
  "id": "fn-region-header",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1165,
  "outTok": 39,
  "ms": 643,
  "answer": "The HTTP header that makes a Supabase Edge Function execute in a specific region is `x-region`.",
  "trace": [
   {
    "query": "supabase edge functions region header",
    "resultChars": 2592
   }
  ]
 },
 {
  "id": "fn-region-param",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1192,
  "outTok": 40,
  "ms": 982,
  "answer": "The query parameter that forces a Supabase Edge Function to run in a specific region is `forceFunctionRegion`.",
  "trace": [
   {
    "query": "edge function region query parameter",
    "resultChars": 2592
   }
  ]
 },
 {
  "id": "vb-dims",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 868,
  "outTok": 36,
  "ms": 3785,
  "answer": "The maximum vector dimension supported by Supabase Storage vector buckets is 4096.",
  "trace": [
   {
    "query": "supabase storage vector buckets max dimension",
    "resultChars": 1797
   }
  ]
 },
 {
  "id": "vb-batch",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 876,
  "outTok": 42,
  "ms": 817,
  "answer": "The limit for inserting vectors in a single request to a Supabase Storage vector bucket is 1000 vectors.",
  "trace": [
   {
    "query": "supabase storage vector bucket insert limit",
    "resultChars": 1797
   }
  ]
 },
 {
  "id": "fn-waituntil",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1220,
  "outTok": 70,
  "ms": 1035,
  "answer": "To keep an Edge Function running until a background task finishes, you can use `EdgeRuntime.waitUntil(promise)` to explicitly mark the background task. This allows the Function instance to continue running until the promise provided to `waitUntil` completes.",
  "trace": [
   {
    "query": "edge functions keep running until background task finishes",
    "resultChars": 3013
   }
  ]
 },
 {
  "id": "mcp-readonly",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1842,
  "outTok": 47,
  "ms": 678,
  "answer": "The URL parameter that makes the Supabase MCP server execute all queries as a read-only Postgres user is `read_only`.",
  "trace": [
   {
    "query": "MCP read-only Postgres user URL parameter",
    "resultChars": 6043
   }
  ]
 },
 {
  "id": "mcp-project",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1829,
  "outTok": 40,
  "ms": 868,
  "answer": "The URL parameter that scopes the Supabase MCP server to a single project is `project_ref`.",
  "trace": [
   {
    "query": "MCP server scope to a single project",
    "resultChars": 6043
   }
  ]
 },
 {
  "id": "mcp-features",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1830,
  "outTok": 40,
  "ms": 661,
  "answer": "The URL parameter that enables only specific tool groups on the Supabase MCP server is `tool_groups`.",
  "trace": [
   {
    "query": "MCP server tool groups URL parameter",
    "resultChars": 6043
   }
  ]
 },
 {
  "id": "q-archive",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1950,
  "outTok": 46,
  "ms": 918,
  "answer": "The name pattern of the archive table created for a queue in Supabase Queues (pgmq) is `<queue_name>_archive`.",
  "trace": [
   {
    "query": "pgmq archive table name pattern",
    "resultChars": 6037
   }
  ]
 },
 {
  "id": "q-unlogged",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1938,
  "outTok": 49,
  "ms": 700,
  "answer": "The SQL function that creates an unlogged queue in Supabase Queues (pgmq) is `pgmq.create_unlogged(queue_name text)`.",
  "trace": [
   {
    "query": "create unlogged queue supabase",
    "resultChars": 6037
   }
  ]
 },
 {
  "id": "cron-pgver",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 2171,
  "outTok": 51,
  "ms": 892,
  "answer": "You can input seconds for your Job schedule interval as long as you're on Postgres version 15.1.1.61 or later.",
  "trace": [
   {
    "query": "Postgres version Supabase Cron jobs seconds interval",
    "resultChars": 6042
   }
  ]
 },
 {
  "id": "fn-verify-jwt",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1944,
  "outTok": 43,
  "ms": 677,
  "answer": "The setting in config.toml that turns off JWT verification for a Supabase Edge Function is `verify_jwt = false`.",
  "trace": [
   {
    "query": "config.toml JWT verification off",
    "resultChars": 5915
   }
  ]
 },
 {
  "id": "br-remotes",
  "model": "@cf/meta/llama-3.1-8b-instruct-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1753,
  "outTok": 42,
  "ms": 692,
  "answer": "The configuration for a persistent branch in Supabase's config.toml is held in the `[branching]` block.",
  "trace": [
   {
    "query": "persistent branch config.toml",
    "resultChars": 6064
   }
  ]
 },
 {
  "id": "fn-memory",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 82,
  "outTok": 16,
  "ms": 256,
  "answer": "The maximum memory available to a Supabase Edge Function is 128 MB.",
  "trace": []
 },
 {
  "id": "fn-wallclock-paid",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 87,
  "outTok": 21,
  "ms": 273,
  "answer": "The maximum wall clock duration of a Supabase Edge Function worker on paid plans is 10 seconds.",
  "trace": []
 },
 {
  "id": "fn-cpu",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 57,
  "ms": 430,
  "answer": "I don't have the most current information on CPU time limits for Supabase Edge Functions. However, according to the Supabase documentation, Supabase Edge Functions are designed to be lightweight and efficient, and they are intended to be used for tasks that do not require significant CPU resources.",
  "trace": []
 },
 {
  "id": "fn-count-free",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": true,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 16,
  "ms": 244,
  "answer": "A project on the Supabase Free plan can have 100 Edge Functions.",
  "trace": []
 },
 {
  "id": "fn-size-cli",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 89,
  "outTok": 21,
  "ms": 205,
  "answer": "The maximum size of a Supabase Edge Function when bundled locally with the CLI is 256KB.",
  "trace": []
 },
 {
  "id": "fn-secret-prefix",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 18,
  "ms": 294,
  "answer": "Supabase Edge Function secret names are not allowed to start with the prefix \"aws:\".",
  "trace": []
 },
 {
  "id": "fn-ports",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 34,
  "ms": 325,
  "answer": "Supabase Edge Functions are not allowed to connect to ports 80 and 443 by default, as these ports are typically used for HTTP and HTTPS traffic, respectively.",
  "trace": []
 },
 {
  "id": "fn-log-len",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 17,
  "ms": 348,
  "answer": "The maximum log message length for a Supabase Edge Function is 20KB.",
  "trace": []
 },
 {
  "id": "fn-idle",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 94,
  "outTok": 29,
  "ms": 320,
  "answer": "A Supabase Edge Function that has not sent a response will return a 504 Gateway Timeout (request idle timeout) after 60 seconds.",
  "trace": []
 },
 {
  "id": "rt-conn-free",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 14,
  "ms": 345,
  "answer": "The Supabase Free plan allows 10 concurrent Realtime connections.",
  "trace": []
 },
 {
  "id": "rt-bcast-free",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 85,
  "outTok": 19,
  "ms": 260,
  "answer": "The maximum Realtime Broadcast payload size on the Supabase Free plan is 1MB.",
  "trace": []
 },
 {
  "id": "rt-replay",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 15,
  "ms": 195,
  "answer": "Supabase Realtime Broadcast replays are retained for 30 days.",
  "trace": []
 },
 {
  "id": "rt-too-many",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 88,
  "outTok": 53,
  "ms": 368,
  "answer": "The WebSocket message sent by Supabase Realtime when a single connection has joined too many channels is `{\"type\": \"error\", \"code\": \"PUBSUB_TOO_MANY_SUBSCRIBERS\", \"message\": \"You have joined too many channels\"}`.",
  "trace": []
 },
 {
  "id": "st-free-size",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 85,
  "outTok": 19,
  "ms": 258,
  "answer": "The maximum file size limit for Supabase Storage on the Free plan is 1 GB.",
  "trace": []
 },
 {
  "id": "st-pro-size",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 85,
  "outTok": 19,
  "ms": 257,
  "answer": "The maximum file size limit for Supabase Storage on the Pro plan is 10 GB.",
  "trace": []
 },
 {
  "id": "fn-tmp",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": true,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 18,
  "ms": 234,
  "answer": "A Supabase Edge Function can write ephemeral files to the `/tmp` directory.",
  "trace": []
 },
 {
  "id": "fn-s3-prefix",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 99,
  "outTok": 147,
  "ms": 727,
  "answer": "To read a file from an S3 bucket mounted as persistent storage in a Supabase Edge Function, you would use the `s3` object and specify the `get` method with the `prefix` parameter set to the desired path prefix of the file. \n\nExample:\n```javascript\nconst { s3 } = require('@supabase/supabase-js');\n\nconst filePrefix = 'path/to/file/';\nconst file = await s3.object.get({\n  bucket: 'your-bucket-name',\n  key: `${filePrefix}${fileKey}`,\n});\n```\nIn this example, `fileKey` is the key of the file in the S3 bucket, and `filePrefix` is the path prefix of the file.",
  "trace": []
 },
 {
  "id": "fn-region-header",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 23,
  "ms": 320,
  "answer": "The HTTP header that makes a Supabase Edge Function execute in a specific region is `x-supabase-region`.",
  "trace": []
 },
 {
  "id": "fn-region-param",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 98,
  "outTok": 20,
  "ms": 244,
  "answer": "The `region` query parameter forces a Supabase Edge Function to run in a specific region.",
  "trace": []
 },
 {
  "id": "vb-dims",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 16,
  "ms": 257,
  "answer": "The maximum vector dimension supported by Supabase Storage vector buckets is 128.",
  "trace": []
 },
 {
  "id": "vb-batch",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 87,
  "outTok": 25,
  "ms": 299,
  "answer": "According to Supabase documentation, a single request to a Supabase Storage vector bucket can insert up to 100 vectors.",
  "trace": []
 },
 {
  "id": "fn-waituntil",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 90,
  "outTok": 43,
  "ms": 392,
  "answer": "In a Supabase Edge Function, you can use the `supabase.from` API to call a background task, and then use the `supabase.from` API again to wait for the task to finish.",
  "trace": []
 },
 {
  "id": "mcp-readonly",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 89,
  "outTok": 27,
  "ms": 241,
  "answer": "The URL parameter that makes the Supabase MCP server execute all queries as a read-only Postgres user is `read-only-user`.",
  "trace": []
 },
 {
  "id": "mcp-project",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 25,
  "ms": 244,
  "answer": "The URL parameter that scopes the Supabase MCP (Managed Cloud Provider) server to a single project is `project_id`.",
  "trace": []
 },
 {
  "id": "mcp-features",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 21,
  "ms": 378,
  "answer": "The URL parameter that enables only specific tool groups on the Supabase MCP server is `tool_groups`.",
  "trace": []
 },
 {
  "id": "q-archive",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 92,
  "outTok": 31,
  "ms": 292,
  "answer": "The archive table created for a queue in Supabase Queues (pgmq) follows the pattern `pgmq_{{queue_name}}_archive`.",
  "trace": []
 },
 {
  "id": "q-unlogged",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 96,
  "ms": 474,
  "answer": "The SQL function that creates an unlogged queue in Supabase Queues (pgmq) is `CREATE MATERIALIZED VIEW` with the `UNLOGGED` keyword, specifically:\n\n```sql\nCREATE MATERIALIZED VIEW queue_name WITH (UNLOGGED) AS ...\n```\n\nHowever, the more specific function to create a queue is `CREATE QUEUE` with the `UNLOGGED` keyword:\n\n```sql\nCREATE QUEUE queue_name WITH (UNLOGGED);\n```",
  "trace": []
 },
 {
  "id": "cron-pgver",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 19,
  "ms": 234,
  "answer": "Supabase Cron jobs can be scheduled with a seconds interval from Postgres version 13.",
  "trace": []
 },
 {
  "id": "fn-verify-jwt",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 25,
  "ms": 293,
  "answer": "The setting in config.toml that turns off JWT verification for a Supabase Edge Function is `jwt.verify = false`.",
  "trace": []
 },
 {
  "id": "br-remotes",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 43,
  "ms": 373,
  "answer": "The configuration for a persistent branch in Supabase's config.toml is held in the `[database]` block, specifically under the `[database]` > `[persistent]` > `[branch]` key.",
  "trace": []
 },
 {
  "id": "fn-memory",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 915,
  "outTok": 75,
  "ms": 657,
  "answer": "The maximum memory available to a Supabase Edge Function is not explicitly stated in the provided documentation, but it is mentioned that hosted Edge Functions have limits on memory and CPU usage, and that handling large images (> 5MB) can result in a \"resource limit exceeded\" error.",
  "trace": [
   {
    "query": "Supabase Edge Function memory limit",
    "resultChars": 1845
   }
  ]
 },
 {
  "id": "fn-wallclock-paid",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1150,
  "outTok": 44,
  "ms": 639,
  "answer": "The maximum wall clock duration of a Supabase Edge Function worker on paid plans is 400 seconds.",
  "trace": [
   {
    "query": "Supabase Edge Function worker maximum wall clock duration paid plans",
    "resultChars": 2587
   }
  ]
 },
 {
  "id": "fn-cpu",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 998,
  "outTok": 38,
  "ms": 681,
  "answer": "The maximum CPU time an Edge Function can use per request is 2 seconds.",
  "trace": [
   {
    "query": "Supabase Edge Function CPU time limit per request",
    "resultChars": 2113
   }
  ]
 },
 {
  "id": "fn-count-free",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 908,
  "outTok": 32,
  "ms": 483,
  "answer": "The Supabase Free plan allows for 2 Edge Functions.",
  "trace": [
   {
    "query": "Supabase Edge Functions free plan limit",
    "resultChars": 1636
   }
  ]
 },
 {
  "id": "fn-size-cli",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 929,
  "outTok": 82,
  "ms": 756,
  "answer": "The maximum size of a Supabase Edge Function when it is bundled locally with the CLI is not explicitly stated in the provided documentation, but it is mentioned that hosted Edge Functions have limits on memory and CPU usage, and that handling large images (> 5MB) can result in a \"resource limit exceeded\" error.",
  "trace": [
   {
    "query": "edge function memory limit with cli",
    "resultChars": 1845
   }
  ]
 },
 {
  "id": "fn-secret-prefix",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1038,
  "outTok": 40,
  "ms": 574,
  "answer": "Supabase Edge Function secret names are not allowed to start with the prefix `SUPABASE_`.",
  "trace": [
   {
    "query": "Supabase Edge Function secret names prefix",
    "resultChars": 2142
   }
  ]
 },
 {
  "id": "fn-ports",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1083,
  "outTok": 38,
  "ms": 506,
  "answer": "Outgoing connections to ports 25 and 587 are not allowed for Supabase Edge Functions.",
  "trace": [
   {
    "query": "Supabase Edge Functions outgoing ports",
    "resultChars": 2426
   }
  ]
 },
 {
  "id": "fn-log-len",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1239,
  "outTok": 39,
  "ms": 596,
  "answer": "The maximum log message length for a Supabase Edge Function is 10,000 characters.",
  "trace": [
   {
    "query": "Supabase Edge Function log message length limit",
    "resultChars": 2879
   }
  ]
 },
 {
  "id": "fn-idle",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 967,
  "outTok": 43,
  "ms": 591,
  "answer": "An Edge Function that has not sent a response will return 504 Gateway Timeout (request idle timeout) after 150 seconds.",
  "trace": [
   {
    "query": "Edge Function request idle timeout",
    "resultChars": 1717
   }
  ]
 },
 {
  "id": "rt-conn-free",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1017,
  "outTok": 35,
  "ms": 511,
  "answer": "The Supabase Free plan allows for 200 concurrent Realtime connections.",
  "trace": [
   {
    "query": "Supabase Free plan concurrent Realtime connections",
    "resultChars": 2782
   }
  ]
 },
 {
  "id": "rt-bcast-free",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1097,
  "outTok": 40,
  "ms": 617,
  "answer": "The maximum Realtime Broadcast payload size on the Supabase Free plan is 256 KB.",
  "trace": [
   {
    "query": "Supabase Realtime Broadcast payload size free plan",
    "resultChars": 3215
   }
  ]
 },
 {
  "id": "rt-replay",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1193,
  "outTok": 36,
  "ms": 580,
  "answer": "Messages are retained for 72 hours in Supabase Realtime Broadcast replay.",
  "trace": [
   {
    "query": "Supabase Realtime Broadcast replay message retention",
    "resultChars": 2718
   }
  ]
 },
 {
  "id": "rt-too-many",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 994,
  "outTok": 47,
  "ms": 801,
  "answer": "Supabase Realtime sends a `too_many_joins` error message when a single connection has joined too many channels.",
  "trace": [
   {
    "query": "Supabase Realtime join too many channels error message",
    "resultChars": 2271
   }
  ]
 },
 {
  "id": "st-free-size",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 982,
  "outTok": 39,
  "ms": 463,
  "answer": "The maximum file size limit for Supabase Storage on the Free plan is 50 MB.",
  "trace": [
   {
    "query": "Supabase Storage file size limit free plan",
    "resultChars": 1974
   }
  ]
 },
 {
  "id": "st-pro-size",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1022,
  "outTok": 39,
  "ms": 447,
  "answer": "The maximum file size limit for Supabase Storage on the Pro plan is 500 GB.",
  "trace": [
   {
    "query": "Supabase Storage file size limit Pro plan",
    "resultChars": 2060
   }
  ]
 },
 {
  "id": "fn-tmp",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1148,
  "outTok": 39,
  "ms": 632,
  "answer": "For an Edge Function, ephemeral files can be written to the `/tmp` directory.",
  "trace": [
   {
    "query": "Supabase Edge Function ephemeral files directory",
    "resultChars": 2752
   }
  ]
 },
 {
  "id": "fn-s3-prefix",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1210,
  "outTok": 75,
  "ms": 663,
  "answer": "To read a file from an S3 bucket mounted as persistent storage in a Supabase Edge Function, you use the path prefix `/s3/YOUR-BUCKET-NAME`, where `YOUR-BUCKET-NAME` is the actual name of your S3 bucket.",
  "trace": [
   {
    "query": "Supabase Edge Function S3 bucket path prefix",
    "resultChars": 3259
   }
  ]
 },
 {
  "id": "fn-region-header",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1005,
  "outTok": 43,
  "ms": 673,
  "answer": "The HTTP header that makes a Supabase Edge Function execute in a specific region is the `x-region` header.",
  "trace": [
   {
    "query": "Supabase Edge Function region HTTP header",
    "resultChars": 1944
   }
  ]
 },
 {
  "id": "fn-region-param",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1119,
  "outTok": 40,
  "ms": 721,
  "answer": "The `forceFunctionRegion` query parameter forces a Supabase Edge Function to run in a specific region.",
  "trace": [
   {
    "query": "supabase edge functions region parameter",
    "resultChars": 3042
   }
  ]
 },
 {
  "id": "vb-dims",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 993,
  "outTok": 37,
  "ms": 655,
  "answer": "The maximum vector dimension supported by Supabase Storage vector buckets is 4096.",
  "trace": [
   {
    "query": "Supabase Storage vector bucket maximum vector dimension",
    "resultChars": 2075
   }
  ]
 },
 {
  "id": "vb-batch",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 798,
  "outTok": 46,
  "ms": 574,
  "answer": "The maximum number of vectors that can be inserted in a single request to a Supabase Storage vector bucket is 1000 vectors.",
  "trace": [
   {
    "query": "Supabase Storage vector bucket vector limits",
    "resultChars": 1275
   }
  ]
 },
 {
  "id": "fn-waituntil",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1028,
  "outTok": 71,
  "ms": 661,
  "answer": "To keep an Edge Function running until a background task finishes, you can use the `EdgeRuntime.waitUntil` method, which allows you to mark a promise as a background task, allowing the Function instance to continue running until the promise completes.",
  "trace": [
   {
    "query": "Supabase Edge Function keep running until background task finishes",
    "resultChars": 2191
   }
  ]
 },
 {
  "id": "mcp-readonly",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 978,
  "outTok": 49,
  "ms": 525,
  "answer": "The URL parameter that makes the Supabase MCP server execute all queries as a read-only Postgres user is `read_only=true`.",
  "trace": [
   {
    "query": "Supabase MCP read-only Postgres user URL parameter",
    "resultChars": 2424
   }
  ]
 },
 {
  "id": "mcp-project",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1159,
  "outTok": 43,
  "ms": 579,
  "answer": "The URL parameter that scopes the Supabase MCP server to a single project is `project_ref=<id>`.",
  "trace": [
   {
    "query": "Supabase MCP server project scope URL parameter",
    "resultChars": 3203
   }
  ]
 },
 {
  "id": "mcp-features",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 986,
  "outTok": 59,
  "ms": 555,
  "answer": "The URL parameter that enables only specific tool groups on the Supabase MCP server is `features=<groups>`, where `<groups>` is a comma-separated list of the desired tool groups.",
  "trace": [
   {
    "query": "Supabase MCP server URL parameter for tool groups",
    "resultChars": 2481
   }
  ]
 },
 {
  "id": "q-archive",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 994,
  "outTok": 48,
  "ms": 628,
  "answer": "The archive table created for a queue in Supabase Queues (pgmq) follows the pattern `queues_archive_<queue_name>`.",
  "trace": [
   {
    "query": "Supabase Queues archive table name pattern",
    "resultChars": 1886
   }
  ]
 },
 {
  "id": "q-unlogged",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1045,
  "outTok": 51,
  "ms": 958,
  "answer": "The SQL function that creates an unlogged queue in Supabase Queues is `CREATE QUEUE <queue_name> WITH (UNLOGGED);`.",
  "trace": [
   {
    "query": "Supabase Queues unlogged queue SQL function",
    "resultChars": 2014
   }
  ]
 },
 {
  "id": "cron-pgver",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1107,
  "outTok": 49,
  "ms": 754,
  "answer": "Cron jobs in Supabase can be scheduled with a seconds interval starting from Postgres version 15.1.1.61.",
  "trace": [
   {
    "query": "Supabase Cron jobs seconds interval Postgres version",
    "resultChars": 1986
   }
  ]
 },
 {
  "id": "fn-verify-jwt",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 967,
  "outTok": 44,
  "ms": 668,
  "answer": "The setting in config.toml that turns off JWT verification for a Supabase Edge Function is `verify_jwt`.",
  "trace": [
   {
    "query": "Supabase Edge Function JWT verification config.toml",
    "resultChars": 2041
   }
  ]
 },
 {
  "id": "br-remotes",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1157,
  "outTok": 62,
  "ms": 1047,
  "answer": "The configuration for a persistent branch in Supabase's config.toml is held in the `[remotes]` block, specifically in the `project_id` field, which must reference an existing project ID.",
  "trace": [
   {
    "query": "persistent branch config supabase config.toml",
    "resultChars": 2792
   }
  ]
 },
 {
  "id": "fn-memory",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1866,
  "outTok": 34,
  "ms": 553,
  "answer": "The maximum memory available to a Supabase Edge Function is 128 MB.",
  "trace": [
   {
    "query": "Supabase Edge Function memory limit",
    "resultChars": 6059
   }
  ]
 },
 {
  "id": "fn-wallclock-paid",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1148,
  "outTok": 44,
  "ms": 603,
  "answer": "The maximum wall clock duration of a Supabase Edge Function worker on paid plans is 400 seconds.",
  "trace": [
   {
    "query": "Supabase Edge Function worker maximum wall clock duration paid plans",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-cpu",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1138,
  "outTok": 38,
  "ms": 515,
  "answer": "The maximum CPU time an Edge Function can use per request is 2 seconds.",
  "trace": [
   {
    "query": "Supabase Edge Function CPU time limit per request",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-count-free",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1138,
  "outTok": 33,
  "ms": 531,
  "answer": "The Supabase Free plan allows 100 Edge Functions per project.",
  "trace": [
   {
    "query": "Supabase Edge Functions free plan limit",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-size-cli",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1880,
  "outTok": 96,
  "ms": 910,
  "answer": "The maximum size of a Supabase Edge Function when it is bundled locally with the CLI is not explicitly stated in the provided documentation. However, it is recommended to keep Edge Functions small and efficient to avoid exceeding resource limits. \n\nThe actual limit is not mentioned in the provided documentation, but it is generally recommended to keep Edge Functions under 10KB in size to avoid exceeding memory limits.",
  "trace": [
   {
    "query": "edge function memory limit with cli",
    "resultChars": 6059
   }
  ]
 },
 {
  "id": "fn-secret-prefix",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1138,
  "outTok": 40,
  "ms": 590,
  "answer": "Supabase Edge Function secret names are not allowed to start with the prefix `SUPABASE_`.",
  "trace": [
   {
    "query": "Supabase Edge Function secret names prefix",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-ports",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1135,
  "outTok": 37,
  "ms": 533,
  "answer": "Supabase Edge Functions are not allowed to connect to outgoing ports 25 and 587.",
  "trace": [
   {
    "query": "Supabase Edge Functions outgoing ports",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-log-len",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1872,
  "outTok": 37,
  "ms": 646,
  "answer": "The maximum log message length for a Supabase Edge Function is 20KB.",
  "trace": [
   {
    "query": "Supabase Edge Function log message length limit",
    "resultChars": 6055
   }
  ]
 },
 {
  "id": "fn-idle",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1889,
  "outTok": 44,
  "ms": 634,
  "answer": "An Edge Function that has not sent a response will return a 504 Gateway Timeout (request idle timeout) after 300 seconds.",
  "trace": [
   {
    "query": "Edge Function request idle timeout",
    "resultChars": 6059
   }
  ]
 },
 {
  "id": "rt-conn-free",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1326,
  "outTok": 35,
  "ms": 561,
  "answer": "The Supabase Free plan allows for 100 concurrent Realtime connections.",
  "trace": [
   {
    "query": "Supabase Free plan concurrent Realtime connections",
    "resultChars": 6044
   }
  ]
 },
 {
  "id": "rt-bcast-free",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1331,
  "outTok": 78,
  "ms": 760,
  "answer": "The maximum Realtime Broadcast payload size on the Supabase Free plan is not explicitly stated in the provided documentation. However, the Message Payload Size report shows that the median size of message payloads sent is available for all plans, but the exact limit for the Free plan is not mentioned.",
  "trace": [
   {
    "query": "Supabase Realtime Broadcast payload size free plan",
    "resultChars": 6044
   }
  ]
 },
 {
  "id": "rt-replay",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1460,
  "outTok": 37,
  "ms": 714,
  "answer": "Messages are retained for 72 hours in the Supabase Realtime Broadcast replay.",
  "trace": [
   {
    "query": "Supabase Realtime Broadcast replay message retention",
    "resultChars": 4434
   }
  ]
 },
 {
  "id": "rt-too-many",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1852,
  "outTok": 50,
  "ms": 687,
  "answer": "When a single connection has joined too many channels in Supabase Realtime, it sends a `Too many connected users` WebSocket message.",
  "trace": [
   {
    "query": "Supabase Realtime join too many channels WebSocket message",
    "resultChars": 6037
   }
  ]
 },
 {
  "id": "st-free-size",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1013,
  "outTok": 39,
  "ms": 557,
  "answer": "The maximum file size limit for Supabase Storage on the Free plan is 50 MB.",
  "trace": [
   {
    "query": "Supabase Storage file size limit free plan",
    "resultChars": 1912
   }
  ]
 },
 {
  "id": "st-pro-size",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1013,
  "outTok": 39,
  "ms": 753,
  "answer": "The maximum file size limit for Supabase Storage on the Pro plan is 500 GB.",
  "trace": [
   {
    "query": "Supabase Storage file size limit Pro plan",
    "resultChars": 1912
   }
  ]
 },
 {
  "id": "fn-tmp",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1953,
  "outTok": 38,
  "ms": 809,
  "answer": "A Supabase Edge Function can write ephemeral files to the `/tmp` directory.",
  "trace": [
   {
    "query": "Supabase Edge Function ephemeral files directory",
    "resultChars": 6051
   }
  ]
 },
 {
  "id": "fn-s3-prefix",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1986,
  "outTok": 57,
  "ms": 558,
  "answer": "To read a file from an S3 bucket mounted as persistent storage in a Supabase Edge Function, you use the path prefix `/s3/YOUR-BUCKET-NAME`.",
  "trace": [
   {
    "query": "Supabase Edge Function S3 bucket path prefix",
    "resultChars": 6051
   }
  ]
 },
 {
  "id": "fn-region-header",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1166,
  "outTok": 43,
  "ms": 494,
  "answer": "The HTTP header that makes a Supabase Edge Function execute in a specific region is the `x-region` header.",
  "trace": [
   {
    "query": "Supabase Edge Function region HTTP header",
    "resultChars": 2592
   }
  ]
 },
 {
  "id": "fn-region-param",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1193,
  "outTok": 40,
  "ms": 517,
  "answer": "The `forceFunctionRegion` query parameter forces a Supabase Edge Function to run in a specific region.",
  "trace": [
   {
    "query": "supabase edge functions region parameter",
    "resultChars": 2592
   }
  ]
 },
 {
  "id": "vb-dims",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 869,
  "outTok": 37,
  "ms": 461,
  "answer": "The maximum vector dimension supported by Supabase Storage vector buckets is 4096.",
  "trace": [
   {
    "query": "Supabase Storage vector bucket maximum vector dimension",
    "resultChars": 1797
   }
  ]
 },
 {
  "id": "vb-batch",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 876,
  "outTok": 46,
  "ms": 589,
  "answer": "For a single request to a Supabase Storage vector bucket, the maximum number of vectors that can be inserted is 1000.",
  "trace": [
   {
    "query": "Supabase Storage vector bucket vector limits",
    "resultChars": 1797
   }
  ]
 },
 {
  "id": "fn-waituntil",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1222,
  "outTok": 60,
  "ms": 639,
  "answer": "To keep an Edge Function running until a background task finishes, you can use `EdgeRuntime.waitUntil(promise)`, where `promise` is the returned promise of the asynchronous operation.",
  "trace": [
   {
    "query": "Supabase Edge Function keep running until background task finishes",
    "resultChars": 3013
   }
  ]
 },
 {
  "id": "mcp-readonly",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1843,
  "outTok": 48,
  "ms": 671,
  "answer": "The URL parameter that makes the Supabase MCP server execute all queries as a read-only Postgres user is `read_only`.",
  "trace": [
   {
    "query": "Supabase MCP read-only Postgres user URL parameter",
    "resultChars": 6043
   }
  ]
 },
 {
  "id": "mcp-project",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1829,
  "outTok": 40,
  "ms": 549,
  "answer": "The URL parameter that scopes the Supabase MCP server to a single project is `project_ref`.",
  "trace": [
   {
    "query": "Supabase MCP server project scope URL parameter",
    "resultChars": 6043
   }
  ]
 },
 {
  "id": "mcp-features",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1832,
  "outTok": 42,
  "ms": 544,
  "answer": "The URL parameter that enables only specific tool groups on the Supabase MCP server is `project_ref`.",
  "trace": [
   {
    "query": "Supabase MCP server URL parameter for tool groups",
    "resultChars": 6043
   }
  ]
 },
 {
  "id": "q-archive",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1072,
  "outTok": 44,
  "ms": 551,
  "answer": "The archive table created for a queue in Supabase Queues (pgmq) is named `pgmq_archive`.",
  "trace": [
   {
    "query": "Supabase Queues archive table name pattern",
    "resultChars": 2172
   }
  ]
 },
 {
  "id": "q-unlogged",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1930,
  "outTok": 108,
  "ms": 749,
  "answer": "The SQL function that creates an unlogged queue in Supabase Queues (pgmq) is not explicitly stated in the provided documentation. However, it is mentioned that an \"Unlogged Queue\" creates `pgmq.q_<queue_name>` as an unlogged table for better performance, while a \"Basic Queue\" creates `pgmq.q_<queue_name>` and `pgmq.a_<queue_name>` tables as logged tables.",
  "trace": [
   {
    "query": "Supabase Queues unlogged queue SQL function",
    "resultChars": 6039
   }
  ]
 },
 {
  "id": "cron-pgver",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 2171,
  "outTok": 53,
  "ms": 634,
  "answer": "Supabase Cron jobs can be scheduled with a seconds interval as long as you're on Postgres version 15.1.1.61 or later.",
  "trace": [
   {
    "query": "Supabase Cron jobs seconds interval Postgres version",
    "resultChars": 6042
   }
  ]
 },
 {
  "id": "fn-verify-jwt",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1947,
  "outTok": 51,
  "ms": 551,
  "answer": "The setting to turn off JWT verification for a Supabase Edge Function is `verify_jwt = false` in the `config.toml` file.",
  "trace": [
   {
    "query": "Supabase Edge Function JWT verification config.toml",
    "resultChars": 5915
   }
  ]
 },
 {
  "id": "br-remotes",
  "model": "@cf/meta/llama-3.2-3b-instruct",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1756,
  "outTok": 75,
  "ms": 718,
  "answer": "The configuration for a persistent branch in Supabase's config.toml is not explicitly mentioned in the provided documentation. However, it is mentioned that you can reset a branch from the Supabase Dashboard to rerun all migrations in sequential order and drop existing data on the branch.",
  "trace": [
   {
    "query": "persistent branch config supabase config.toml",
    "resultChars": 6064
   }
  ]
 },
 {
  "id": "fn-memory",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 82,
  "outTok": 16,
  "ms": 449,
  "answer": "The maximum memory available to a Supabase Edge Function is 128MB.",
  "trace": []
 },
 {
  "id": "fn-wallclock-paid",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 87,
  "outTok": 21,
  "ms": 974,
  "answer": "The maximum wall clock duration of a Supabase Edge Function worker on paid plans is 60 seconds.",
  "trace": []
 },
 {
  "id": "fn-cpu",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 19,
  "ms": 511,
  "answer": "A Supabase Edge Function can use up to 50ms of CPU time per request.",
  "trace": []
 },
 {
  "id": "fn-count-free",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 16,
  "ms": 1024,
  "answer": "A project on the Supabase Free plan can have 10 Edge Functions.",
  "trace": []
 },
 {
  "id": "fn-size-cli",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 89,
  "outTok": 21,
  "ms": 736,
  "answer": "The maximum size of a Supabase Edge Function when bundled locally with the CLI is 50MB.",
  "trace": []
 },
 {
  "id": "fn-secret-prefix",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 20,
  "ms": 685,
  "answer": "Supabase Edge Function secret names are not allowed to start with the prefix \"SUPABASE\".",
  "trace": []
 },
 {
  "id": "fn-ports",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 42,
  "ms": 931,
  "answer": "Supabase Edge Functions are not allowed to connect to outgoing ports 25, 109, 110, 143, and any port less than 1024, except for 80 and 443.",
  "trace": []
 },
 {
  "id": "fn-log-len",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 18,
  "ms": 411,
  "answer": "The maximum log message length for a Supabase Edge Function is 4096 characters.",
  "trace": []
 },
 {
  "id": "fn-idle",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 94,
  "outTok": 22,
  "ms": 598,
  "answer": "A Supabase Edge Function that has not sent a response returns 504 Gateway Timeout after 30 seconds.",
  "trace": []
 },
 {
  "id": "rt-conn-free",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 14,
  "ms": 522,
  "answer": "The Supabase Free plan allows 10 concurrent Realtime connections.",
  "trace": []
 },
 {
  "id": "rt-bcast-free",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 85,
  "outTok": 20,
  "ms": 511,
  "answer": "The maximum Realtime Broadcast payload size on the Supabase Free plan is 4096 bytes.",
  "trace": []
 },
 {
  "id": "rt-replay",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 25,
  "ms": 625,
  "answer": "Messages are retained for Supabase Realtime Broadcast replay for 2 hours, also known as the \"replay window\".",
  "trace": []
 },
 {
  "id": "rt-too-many",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 88,
  "outTok": 25,
  "ms": 537,
  "answer": "Supabase Realtime sends a \"too_many_subscriptions\" WebSocket message when a single connection has joined too many channels.",
  "trace": []
 },
 {
  "id": "st-free-size",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 85,
  "outTok": 19,
  "ms": 474,
  "answer": "The maximum file size limit for Supabase Storage on the Free plan is 500 MB.",
  "trace": []
 },
 {
  "id": "st-pro-size",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 85,
  "outTok": 19,
  "ms": 516,
  "answer": "The maximum file size limit for Supabase Storage on the Pro plan is 5GB.",
  "trace": []
 },
 {
  "id": "fn-tmp",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": true,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 18,
  "ms": 537,
  "answer": "A Supabase Edge Function can write ephemeral files to the `/tmp` directory.",
  "trace": []
 },
 {
  "id": "fn-s3-prefix",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 99,
  "outTok": 33,
  "ms": 685,
  "answer": "In a Supabase Edge Function with an S3 bucket mounted as persistent storage, you use the `/mnt` path prefix to read a file from the bucket.",
  "trace": []
 },
 {
  "id": "fn-region-header",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 22,
  "ms": 605,
  "answer": "The `Supabase-Region` HTTP header makes a Supabase Edge Function execute in a specific region.",
  "trace": []
 },
 {
  "id": "fn-region-param",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 98,
  "outTok": 20,
  "ms": 468,
  "answer": "The query parameter `_region` forces a Supabase Edge Function to run in a specific region.",
  "trace": []
 },
 {
  "id": "vb-dims",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 17,
  "ms": 759,
  "answer": "The maximum vector dimension supported by Supabase Storage vector buckets is 1024.",
  "trace": []
 },
 {
  "id": "vb-batch",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": true,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 87,
  "outTok": 23,
  "ms": 721,
  "answer": "In a single request to a Supabase Storage vector bucket, you can insert up to 1000 vectors.",
  "trace": []
 },
 {
  "id": "fn-waituntil",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 90,
  "outTok": 39,
  "ms": 835,
  "answer": "In a Supabase Edge Function, you call the `await supabase.functions().setTimeout()` API to keep it running until a background task finishes, allowing for asynchronous processing without timing out.",
  "trace": []
 },
 {
  "id": "mcp-readonly",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 89,
  "outTok": 65,
  "ms": 2784,
  "answer": "The URL parameter `pgbouncer_mode=readonly` makes the Supabase MCP server execute all queries as a read-only Postgres user, but a more specific parameter for this purpose is not available, however `pgbouncer_mode=readonly` is not the exact parameter, the correct one is `db=readonly`.",
  "trace": []
 },
 {
  "id": "mcp-project",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": true,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 83,
  "outTok": 19,
  "ms": 1214,
  "answer": "The URL parameter `project_ref` scopes the Supabase MCP server to a single project.",
  "trace": []
 },
 {
  "id": "mcp-features",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 84,
  "outTok": 24,
  "ms": 440,
  "answer": "The URL parameter `supabase_mcp_tool_groups` enables only specific tool groups on the Supabase MCP server.",
  "trace": []
 },
 {
  "id": "q-archive",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 92,
  "outTok": 27,
  "ms": 5001,
  "answer": "The archive table for a queue in Supabase Queues (pgmq) follows the name pattern of `{queue_name}_archive`.",
  "trace": []
 },
 {
  "id": "q-unlogged",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": true,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 26,
  "ms": 668,
  "answer": "The SQL function `pgmq.create_unlogged_queue` creates an unlogged queue in Supabase Queues (pgmq).",
  "trace": []
 },
 {
  "id": "cron-pgver",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 78,
  "ms": 2478,
  "answer": "Supabase Cron jobs can be scheduled with a seconds interval from Postgres version 13.0, but more specifically, the `cron` syntax allowing seconds was added in PostgreSQL 13, however the `pg_cron` extension used by Supabase supports seconds interval from version 1.3 of `pg_cron`, which can be used with Postgres 11 and later.",
  "trace": []
 },
 {
  "id": "fn-verify-jwt",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 55,
  "ms": 1405,
  "answer": "The setting `SUPABASE_JWT_SECRET` set to `none` in config.toml turns off JWT verification for a Supabase Edge Function, or alternatively, setting `auth` to `none` or `public` in the function's configuration also achieves this.",
  "trace": []
 },
 {
  "id": "br-remotes",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "no_tool",
  "correct": false,
  "toolCalls": 0,
  "evidence": false,
  "inTok": 86,
  "outTok": 30,
  "ms": 1274,
  "answer": "The `[persistent]` block in Supabase's config.toml holds the configuration for a persistent branch, specifically for the replication and retention settings.",
  "trace": []
 },
 {
  "id": "fn-memory",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 849,
  "outTok": 56,
  "ms": 1339,
  "answer": "The maximum memory available to a Supabase Edge Function is 256MB. This limit can be exceeded if the function handles large payloads or performs complex operations, resulting in an out-of-memory error.",
  "trace": [
   {
    "query": "edge functions memory limit",
    "resultChars": 1487
   }
  ]
 },
 {
  "id": "fn-wallclock-paid",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 979,
  "outTok": 69,
  "ms": 1377,
  "answer": "The maximum wall clock duration of a Supabase Edge Function worker on paid plans is 400s. This means that an Edge Function worker will stay active for up to 400 seconds, during which it can serve multiple requests or process background tasks.",
  "trace": [
   {
    "query": "edge functions worker duration limit paid plans",
    "resultChars": 1926
   }
  ]
 },
 {
  "id": "fn-cpu",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 994,
  "outTok": 58,
  "ms": 1394,
  "answer": "The maximum CPU time that a Supabase Edge Function can use per request is 2 seconds, which is the amount of actual time spent on the CPU per request and does not include async I/O.",
  "trace": [
   {
    "query": "edge functions cpu time limit",
    "resultChars": 2113
   }
  ]
 },
 {
  "id": "fn-count-free",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 2054,
  "outTok": 111,
  "ms": 3462,
  "answer": "The number of Edge Functions allowed on the Supabase Free plan is not specified in the provided tool results. However, according to the Supabase documentation, the free plan has a limit of 10 Edge Functions per project.",
  "trace": [
   {
    "query": "Edge Functions limit free plan",
    "resultChars": 1636
   },
   {
    "query": "number of Edge Functions free plan",
    "resultChars": 1816
   }
  ]
 },
 {
  "id": "fn-size-cli",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 863,
  "outTok": 46,
  "ms": 1228,
  "answer": "The maximum size of a Supabase Edge Function when it is bundled locally with the CLI is 256MB, due to the runtime memory limit.",
  "trace": [
   {
    "query": "edge functions memory limit",
    "resultChars": 1487
   }
  ]
 },
 {
  "id": "fn-secret-prefix",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1039,
  "outTok": 53,
  "ms": 1694,
  "answer": "Supabase Edge Function secret names are not allowed to start with the prefix `SUPABASE_`, as this prefix is reserved for variables injected by Supabase.",
  "trace": [
   {
    "query": "Supabase Edge Function secret names prefix restriction",
    "resultChars": 2142
   }
  ]
 },
 {
  "id": "fn-ports",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1021,
  "outTok": 38,
  "ms": 1835,
  "answer": "Supabase Edge Functions are not allowed to connect to outgoing ports 25 and 587.",
  "trace": [
   {
    "query": "Supabase Edge Functions outgoing ports restrictions",
    "resultChars": 2127
   }
  ]
 },
 {
  "id": "fn-log-len",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1237,
  "outTok": 37,
  "ms": 3083,
  "answer": "The maximum log message length for a Supabase Edge Function is 10,000 characters.",
  "trace": [
   {
    "query": "edge functions log message length limit",
    "resultChars": 2879
   }
  ]
 },
 {
  "id": "fn-idle",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 967,
  "outTok": 44,
  "ms": 2171,
  "answer": "A Supabase Edge Function that has not sent a response returns 504 Gateway Timeout (request idle timeout) after 150s.",
  "trace": [
   {
    "query": "edge functions request idle timeout",
    "resultChars": 1717
   }
  ]
 },
 {
  "id": "rt-conn-free",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 926,
  "outTok": 34,
  "ms": 1146,
  "answer": "The Supabase Free plan allows 200 concurrent Realtime connections.",
  "trace": [
   {
    "query": "Supabase Free plan Realtime connections limit",
    "resultChars": 2191
   }
  ]
 },
 {
  "id": "rt-bcast-free",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1079,
  "outTok": 64,
  "ms": 6568,
  "answer": "The maximum Realtime Broadcast payload size on the Supabase Free plan is 256 KB. This limit determines the maximum payload size that can be sent, and oversized broadcasts are dropped if the limit is exceeded.",
  "trace": [
   {
    "query": "Realtime Broadcast payload size limit Supabase Free plan",
    "resultChars": 2982
   }
  ]
 },
 {
  "id": "rt-replay",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1193,
  "outTok": 62,
  "ms": 2031,
  "answer": "Messages for Supabase Realtime Broadcast replay are retained for at least 72 hours and at most 4 days, depending on the time of day they were sent, as whole days are removed at once.",
  "trace": [
   {
    "query": "Supabase Realtime Broadcast replay message retention",
    "resultChars": 2718
   }
  ]
 },
 {
  "id": "rt-too-many",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 813,
  "outTok": 46,
  "ms": 1425,
  "answer": "The WebSocket message that Supabase Realtime sends when a single connection has joined too many channels is \"too_many_channels\".",
  "trace": [
   {
    "query": "Supabase Realtime WebSocket message too many channels",
    "resultChars": 1208
   }
  ]
 },
 {
  "id": "st-free-size",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 982,
  "outTok": 66,
  "ms": 1517,
  "answer": "The maximum file size limit for Supabase Storage on the Free plan is 50 MB. This limit applies globally across all buckets and cannot be exceeded, although it can be set lower on a per-bucket level if needed.",
  "trace": [
   {
    "query": "Supabase Storage file size limit Free plan",
    "resultChars": 1974
   }
  ]
 },
 {
  "id": "st-pro-size",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1022,
  "outTok": 67,
  "ms": 2231,
  "answer": "The maximum file size limit for Supabase Storage on the Pro plan is 500 GB. This limit can be set in the Storage Settings and applies globally to all buckets, although smaller per-bucket limits can be set as needed.",
  "trace": [
   {
    "query": "Supabase Storage file size limit Pro plan",
    "resultChars": 2060
   }
  ]
 },
 {
  "id": "fn-tmp",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1148,
  "outTok": 38,
  "ms": 1416,
  "answer": "A Supabase Edge Function can write ephemeral files to the `/tmp` directory.",
  "trace": [
   {
    "query": "Supabase Edge Function ephemeral files directory",
    "resultChars": 2752
   }
  ]
 },
 {
  "id": "fn-s3-prefix",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1005,
  "outTok": 78,
  "ms": 2744,
  "answer": "To read a file from an S3 bucket mounted as persistent storage in a Supabase Edge Function, you use the path prefix `/s3/YOUR-BUCKET-NAME`, replacing `YOUR-BUCKET-NAME` with the actual name of your S3 bucket.",
  "trace": [
   {
    "query": "Supabase Edge Function S3 bucket mounted persistent storage path prefix",
    "resultChars": 1857
   }
  ]
 },
 {
  "id": "fn-region-header",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1005,
  "outTok": 40,
  "ms": 1466,
  "answer": "The HTTP header that makes a Supabase Edge Function execute in a specific region is `x-region`.",
  "trace": [
   {
    "query": "Supabase Edge Function region HTTP header",
    "resultChars": 1944
   }
  ]
 },
 {
  "id": "fn-region-param",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1264,
  "outTok": 46,
  "ms": 2710,
  "answer": "The query parameter that forces a Supabase Edge Function to run in a specific region when you cannot add a header is `forceFunctionRegion`.",
  "trace": [
   {
    "query": "edge functions region query parameter",
    "resultChars": 3087
   }
  ]
 },
 {
  "id": "vb-dims",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 951,
  "outTok": 36,
  "ms": 2122,
  "answer": "The maximum vector dimension supported by Supabase Storage vector buckets is 4096.",
  "trace": [
   {
    "query": "Supabase Storage vector buckets maximum dimension",
    "resultChars": 1899
   }
  ]
 },
 {
  "id": "vb-batch",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1066,
  "outTok": 46,
  "ms": 1308,
  "answer": "The maximum number of vectors that can be inserted in a single request to a Supabase Storage vector bucket is 1000 vectors.",
  "trace": [
   {
    "query": "Supabase Storage vector bucket insert limit",
    "resultChars": 2236
   }
  ]
 },
 {
  "id": "fn-waituntil",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 1757,
  "outTok": 88,
  "ms": 2952,
  "answer": "To keep a Supabase Edge Function running until a background task finishes, you can use the `res.defer()` or `res.deferAsync()` API, however the exact API call was not found in the search results.",
  "trace": [
   {
    "query": "Supabase Edge Function API to keep running until background task finishes",
    "resultChars": 1350
   },
   {
    "query": "Supabase Edge Function API to prevent timeout",
    "resultChars": 1488
   }
  ]
 },
 {
  "id": "mcp-readonly",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 979,
  "outTok": 50,
  "ms": 1628,
  "answer": "The URL parameter that makes the Supabase MCP server execute all queries as a read-only Postgres user is `read_only=true`.",
  "trace": [
   {
    "query": "Supabase MCP server read-only Postgres user URL parameter",
    "resultChars": 2424
   }
  ]
 },
 {
  "id": "mcp-project",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1159,
  "outTok": 54,
  "ms": 10642,
  "answer": "The URL parameter that scopes the Supabase MCP server to a single project is `project_ref=<id>`, where `<id>` is the ID of the project.",
  "trace": [
   {
    "query": "Supabase MCP server URL parameter scope project",
    "resultChars": 3203
   }
  ]
 },
 {
  "id": "mcp-features",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 987,
  "outTok": 67,
  "ms": 2511,
  "answer": "The URL parameter that enables only specific tool groups on the Supabase MCP server is `features`, which allows you to specify a comma-separated list of tool groups to enable, for example `?features=database,docs`.",
  "trace": [
   {
    "query": "Supabase MCP server URL parameter for specific tool groups",
    "resultChars": 2481
   }
  ]
 },
 {
  "id": "q-archive",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 2160,
  "outTok": 103,
  "ms": 5130,
  "answer": "The name pattern of the archive table created for a queue in Supabase Queues (pgmq) is {queue_name}_archive.",
  "trace": [
   {
    "query": "Supabase Queues archive table name pattern",
    "resultChars": 1886
   },
   {
    "query": "Supabase Queues archive table naming convention",
    "resultChars": 1463
   }
  ]
 },
 {
  "id": "q-unlogged",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1141,
  "outTok": 50,
  "ms": 1703,
  "answer": "The SQL function that creates an unlogged queue in Supabase Queues (pgmq) is `pgmq.create_unlogged`.",
  "trace": [
   {
    "query": "Supabase Queues pgmq unlogged queue SQL function",
    "resultChars": 2386
   }
  ]
 },
 {
  "id": "cron-pgver",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1104,
  "outTok": 62,
  "ms": 1742,
  "answer": "You can input seconds for your Job schedule interval as long as you're on Postgres version 15.1.1.61 or later, which allows Supabase Cron jobs to be scheduled with a seconds interval.",
  "trace": [
   {
    "query": "Supabase Cron jobs seconds interval",
    "resultChars": 1986
   }
  ]
 },
 {
  "id": "fn-verify-jwt",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 965,
  "outTok": 44,
  "ms": 2137,
  "answer": "The setting in config.toml that turns off JWT verification for a Supabase Edge Function is `verify_jwt = false`.",
  "trace": [
   {
    "query": "config.toml JWT verification edge function",
    "resultChars": 2041
   }
  ]
 },
 {
  "id": "br-remotes",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_snippets",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1154,
  "outTok": 52,
  "ms": 1227,
  "answer": "The block in Supabase's config.toml that holds the configuration for a persistent branch is the `[remotes]` block, which must reference an existing project ID.",
  "trace": [
   {
    "query": "config.toml persistent branch",
    "resultChars": 2792
   }
  ]
 },
 {
  "id": "fn-memory",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 4890,
  "outTok": 75,
  "ms": 2967,
  "answer": "The maximum memory available to a Supabase Edge Function is 128MB.",
  "trace": [
   {
    "query": "edge functions memory limit",
    "resultChars": 6059
   },
   {
    "query": "edge functions memory limit",
    "resultChars": 6059
   }
  ]
 },
 {
  "id": "fn-wallclock-paid",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1144,
  "outTok": 70,
  "ms": 1844,
  "answer": "The maximum wall clock duration of a Supabase Edge Function worker on paid plans is 400s. This means that an Edge Function worker will stay active for a maximum of 400 seconds, during which it can serve multiple requests or process background tasks.",
  "trace": [
   {
    "query": "edge functions worker duration limit paid plans",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-cpu",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1134,
  "outTok": 37,
  "ms": 1149,
  "answer": "The maximum CPU time that a Supabase Edge Function can use per request is 2 seconds.",
  "trace": [
   {
    "query": "edge functions cpu time limit",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-count-free",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1136,
  "outTok": 36,
  "ms": 1408,
  "answer": "A project on the Supabase Free plan can have a maximum of 100 Edge Functions.",
  "trace": [
   {
    "query": "Edge Functions limit free plan",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-size-cli",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 2,
  "evidence": true,
  "inTok": 4156,
  "outTok": 60,
  "ms": 3184,
  "answer": "The maximum size of a Supabase Edge Function when it is bundled locally with the CLI is 20MB.",
  "trace": [
   {
    "query": "edge functions memory limit",
    "resultChars": 6059
   },
   {
    "query": "edge functions size limit when bundled locally with CLI",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-secret-prefix",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1139,
  "outTok": 47,
  "ms": 2110,
  "answer": "Supabase Edge Function secret names are not allowed to start with the prefix `SUPABASE_`, as this prefix is reserved.",
  "trace": [
   {
    "query": "Supabase Edge Function secret names prefix restriction",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-ports",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1136,
  "outTok": 38,
  "ms": 1139,
  "answer": "Supabase Edge Functions are not allowed to connect to outgoing ports 25 and 587.",
  "trace": [
   {
    "query": "Supabase Edge Functions outgoing ports restrictions",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-log-len",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1135,
  "outTok": 37,
  "ms": 1314,
  "answer": "The maximum log message length for a Supabase Edge Function is 10,000 characters.",
  "trace": [
   {
    "query": "edge functions log message length limit",
    "resultChars": 2337
   }
  ]
 },
 {
  "id": "fn-idle",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 4903,
  "outTok": 62,
  "ms": 2360,
  "answer": "After 60 seconds, a Supabase Edge Function that has not sent a response returns 504 Gateway Timeout (request idle timeout).",
  "trace": [
   {
    "query": "edge functions request idle timeout",
    "resultChars": 6059
   },
   {
    "query": "edge functions request idle timeout limit",
    "resultChars": 6059
   }
  ]
 },
 {
  "id": "rt-conn-free",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 3246,
  "outTok": 54,
  "ms": 4345,
  "answer": "The Supabase Free plan allows 100 concurrent Realtime connections.",
  "trace": [
   {
    "query": "Supabase Free plan Realtime connections limit",
    "resultChars": 6044
   },
   {
    "query": "Supabase Free plan concurrent Realtime connections",
    "resultChars": 6044
   }
  ]
 },
 {
  "id": "rt-bcast-free",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 4315,
  "outTok": 132,
  "ms": 3431,
  "answer": "The maximum Realtime Broadcast payload size on the Supabase Free plan is not specified in the provided documentation. However, according to the Supabase documentation on limits, the maximum payload size for the Free plan is 4096 bytes, but this information was not found in the tool results provided.",
  "trace": [
   {
    "query": "Realtime Broadcast payload size limit Supabase Free plan",
    "resultChars": 6037
   },
   {
    "query": "Supabase Free plan Realtime Broadcast payload size",
    "resultChars": 6044
   }
  ]
 },
 {
  "id": "rt-replay",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1460,
  "outTok": 52,
  "ms": 1563,
  "answer": "Messages are retained for Supabase Realtime Broadcast replay for 72 hours. This retention period applies to all plans, including Free, Pro, and Enterprise.",
  "trace": [
   {
    "query": "Supabase Realtime Broadcast replay message retention",
    "resultChars": 4434
   }
  ]
 },
 {
  "id": "rt-too-many",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1851,
  "outTok": 47,
  "ms": 1924,
  "answer": "When a single connection has joined too many channels, Supabase Realtime sends a \"TooManySubscriptions\" WebSocket message.",
  "trace": [
   {
    "query": "Supabase Realtime WebSocket message too many channels",
    "resultChars": 6037
   }
  ]
 },
 {
  "id": "st-free-size",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1013,
  "outTok": 39,
  "ms": 1519,
  "answer": "The maximum file size limit for Supabase Storage on the Free plan is 50 MB.",
  "trace": [
   {
    "query": "Supabase Storage file size limit Free plan",
    "resultChars": 1912
   }
  ]
 },
 {
  "id": "st-pro-size",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1013,
  "outTok": 55,
  "ms": 3165,
  "answer": "The maximum file size limit for Supabase Storage on the Pro plan is 500 GB. This limit can be set in the Storage Settings as the Global file size limit.",
  "trace": [
   {
    "query": "Supabase Storage file size limit Pro plan",
    "resultChars": 1912
   }
  ]
 },
 {
  "id": "fn-tmp",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1953,
  "outTok": 38,
  "ms": 1525,
  "answer": "A Supabase Edge Function can write ephemeral files to the `/tmp` directory.",
  "trace": [
   {
    "query": "Supabase Edge Function ephemeral files directory",
    "resultChars": 6051
   }
  ]
 },
 {
  "id": "fn-s3-prefix",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1989,
  "outTok": 52,
  "ms": 6338,
  "answer": "To access a file path in your mounted bucket from your Edge Function, use the prefix `/s3/YOUR-BUCKET-NAME`.",
  "trace": [
   {
    "query": "Supabase Edge Function S3 bucket mounted persistent storage path prefix",
    "resultChars": 6051
   }
  ]
 },
 {
  "id": "fn-region-header",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1166,
  "outTok": 40,
  "ms": 1222,
  "answer": "The HTTP header that makes a Supabase Edge Function execute in a specific region is `x-region`.",
  "trace": [
   {
    "query": "Supabase Edge Function region HTTP header",
    "resultChars": 2592
   }
  ]
 },
 {
  "id": "fn-region-param",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1192,
  "outTok": 40,
  "ms": 3183,
  "answer": "The query parameter that forces a Supabase Edge Function to run in a specific region is `forceFunctionRegion`.",
  "trace": [
   {
    "query": "Edge Function region query parameter",
    "resultChars": 2592
   }
  ]
 },
 {
  "id": "vb-dims",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 868,
  "outTok": 67,
  "ms": 6525,
  "answer": "The maximum vector dimension supported by Supabase Storage vector buckets is 4096. This limit is in place during the alpha phase to ensure fair resource allocation, but it can be adjusted on a case-by-case basis for production workloads.",
  "trace": [
   {
    "query": "Supabase Storage vector buckets maximum dimension",
    "resultChars": 1797
   }
  ]
 },
 {
  "id": "vb-batch",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 876,
  "outTok": 56,
  "ms": 8181,
  "answer": "The maximum number of vectors that can be inserted in a single request to a Supabase Storage vector bucket is 1000 vectors, as defined by the \"Batch size\" limit.",
  "trace": [
   {
    "query": "Supabase Storage vector bucket insert limit",
    "resultChars": 1797
   }
  ]
 },
 {
  "id": "fn-waituntil",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1224,
  "outTok": 54,
  "ms": 1513,
  "answer": "The API to call in a Supabase Edge Function to keep it running until a background task finishes is `EdgeRuntime.waitUntil(promise)`.",
  "trace": [
   {
    "query": "Supabase Edge Function API to keep running until background task finishes",
    "resultChars": 3013
   }
  ]
 },
 {
  "id": "mcp-readonly",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1844,
  "outTok": 49,
  "ms": 1833,
  "answer": "The URL parameter that makes the Supabase MCP server execute all queries as a read-only Postgres user is `read_only`.",
  "trace": [
   {
    "query": "Supabase MCP server read-only Postgres user URL parameter",
    "resultChars": 6043
   }
  ]
 },
 {
  "id": "mcp-project",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1829,
  "outTok": 40,
  "ms": 1318,
  "answer": "The URL parameter that scopes the Supabase MCP server to a single project is `project_ref`.",
  "trace": [
   {
    "query": "Supabase MCP server URL parameter scope project",
    "resultChars": 6043
   }
  ]
 },
 {
  "id": "mcp-features",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 4809,
  "outTok": 157,
  "ms": 5602,
  "answer": "The URL parameter that enables only specific tool groups on the Supabase MCP server is the \"tool_groups\" parameter, but the exact usage was not found in the provided documentation, however, another parameter \"project_ref\" was found which is used to enable project-scoped mode, and \"read_only\" parameter to enable read-only mode.",
  "trace": [
   {
    "query": "Supabase MCP server URL parameter for specific tool groups",
    "resultChars": 6043
   },
   {
    "query": "Supabase MCP server URL parameter tool groups",
    "resultChars": 6043
   }
  ]
 },
 {
  "id": "q-archive",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 1,
  "evidence": false,
  "inTok": 1072,
  "outTok": 48,
  "ms": 1627,
  "answer": "The archive table created for a queue in Supabase Queues (pgmq) follows the name pattern of \"{queue_name}_archive\".",
  "trace": [
   {
    "query": "Supabase Queues archive table name pattern",
    "resultChars": 2172
   }
  ]
 },
 {
  "id": "q-unlogged",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1943,
  "outTok": 54,
  "ms": 4193,
  "answer": "The SQL function that creates an unlogged queue in Supabase Queues (pgmq) is `pgmq.create_unlogged(queue_name text)`.",
  "trace": [
   {
    "query": "Supabase Queues pgmq unlogged queue SQL function",
    "resultChars": 6037
   }
  ]
 },
 {
  "id": "cron-pgver",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 2168,
  "outTok": 50,
  "ms": 2117,
  "answer": "Supabase Cron jobs can be scheduled with a seconds interval as long as you're on Postgres version 15.1.1.61 or later.",
  "trace": [
   {
    "query": "Supabase Cron jobs seconds interval",
    "resultChars": 6042
   }
  ]
 },
 {
  "id": "fn-verify-jwt",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": true,
  "toolCalls": 1,
  "evidence": true,
  "inTok": 1945,
  "outTok": 44,
  "ms": 1833,
  "answer": "The setting in config.toml that turns off JWT verification for a Supabase Edge Function is `verify_jwt = false`.",
  "trace": [
   {
    "query": "config.toml JWT verification edge function",
    "resultChars": 5915
   }
  ]
 },
 {
  "id": "br-remotes",
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "arm": "tool_page",
  "correct": false,
  "toolCalls": 2,
  "evidence": false,
  "inTok": 4519,
  "outTok": 60,
  "ms": 2543,
  "answer": "The configuration for a persistent branch in Supabase's config.toml is held in the `[branching]` block.",
  "trace": [
   {
    "query": "config.toml persistent branch",
    "resultChars": 6064
   },
   {
    "query": "config.toml persistent branch setting",
    "resultChars": 6064
   }
  ]
 }
]