{"record":{"id":"8fc0919dd916cdcb","repo":"can1357/oh-my-pi","slug":"missing-reviewed-collapse-table-for-google-gemini","errorCode":null,"errorMessage":"missing reviewed collapse table for google-gemini-cli","messagePattern":"missing reviewed collapse table for google-gemini-cli","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/catalog/src/provider-models/google.ts","lineNumber":96,"sourceCode":"\t\t\t\t}\n\t\t\t: undefined),\n\t};\n}\n\nexport function googleGeminiCliModelManagerOptions(\n\tconfig?: GoogleGeminiCliModelManagerConfig,\n): ModelManagerOptions<\"google-gemini-cli\"> {\n\tconst token = config?.oauthToken;\n\tconst endpoint = config?.endpoint ?? CLOUD_CODE_ASSIST_ENDPOINT;\n\treturn {\n\t\tproviderId: \"google-gemini-cli\",\n\t\t...(token\n\t\t\t? {\n\t\t\t\t\tfetchDynamicModels: async () => {\n\t\t\t\t\t\tconst fetcher = toDiscoveryFetch(config?.fetch);\n\t\t\t\t\t\tconst collapseTable = reviewedCollapseTable(\"google-gemini-cli\");\n\t\t\t\t\t\tif (collapseTable === undefined) {\n\t\t\t\t\t\t\tthrow new Error(\"missing reviewed collapse table for google-gemini-cli\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst models = await fetchAntigravityDiscoveryModels({\n\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t\tfetcher,\n\t\t\t\t\t\t\tcollapseTable: collapseTable,\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// Antigravity's fetchAvailableModels is unreachable for\n\t\t\t\t\t\t// credentials without Antigravity entitlement (Code Assist\n\t\t\t\t\t\t// Standard returns HTTP 403). Fall back to the account's own\n\t\t\t\t\t\t// retrieveUserQuota list on Cloud Code Assist.\n\t\t\t\t\t\tif (models === null) {\n\t\t\t\t\t\t\treturn fetchGeminiCliQuotaModels({ token, projectId: config?.projectId, endpoint, fetcher });\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn models\n\t\t\t\t\t\t\t.filter(m => classifyModel(\"google-gemini-cli\", m.id, { lenient: true }).class === \"gemini\")\n\t\t\t\t\t\t\t.map(m => ({\n\t\t\t\t\t\t\t\t...m,\n\t\t\t\t\t\t\t\tprovider: \"google-gemini-cli\" as const,","sourceCodeStart":78,"sourceCodeEnd":114,"githubUrl":"https://github.com/can1357/oh-my-pi/blob/969062200754ea02cfac922e5ebb8c608c079e15/packages/catalog/src/provider-models/google.ts#L78-L114","documentation":"The google-gemini-cli dynamic model fetch requires a reviewed collapse table (a KDL-owned table for collapsing discovered model variants) before fetching antigravity discovery models. If the reviewed table is missing from the registry the fetcher refuses to proceed rather than silently mis-collapsing models.","triggerScenarios":"fetchDynamicModels for provider google-gemini-cli runs (dynamic model discovery with a token) and reviewedCollapseTable(\"google-gemini-cli\") returns undefined — the KDL rules tree lacks/hasn't compiled that table.","commonSituations":"Running a build where `bun run gen:compat` wasn't executed after rules changes; an edited or pruned KDL rules tree; stale rules.json.","solutions":["Run `bun run gen:compat` to regenerate rules.json from the KDL tree","Add/restore a reviewed collapse table for google-gemini-cli in packages/catalog/src/compat/rules/","Update to a catalog version that ships the table","Check that the built artifact includes the regenerated rules.json"],"exampleFix":"# before: no rules file for this provider\n# after: add packages/catalog/src/compat/rules/providers/google-gemini-cli.kdl with a reviewed collapse table, then:\nbun run gen:compat","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  models = await fetchDynamicModels();\n} catch (err) {\n  if (err instanceof Error && err.message.includes(\"missing reviewed collapse table\")) {\n    logger.warn(\"google-gemini-cli dynamic discovery unavailable; using static catalog\");\n    return staticModels;\n  }\n  throw err;\n}","preventionTips":["Run `bun run gen:compat` after any KDL rules change and commit rules.json","Don't remove provider entries from the reviewed collapse tables","Pin a catalog release that includes the google-gemini-cli table"],"tags":["catalog","discovery","configuration"],"backgroundTag":"missing-compat-rule-table","analyzedSha":"969062200754ea02cfac922e5ebb8c608c079e15","analyzedAt":"2026-08-31T10:29:35.737Z","schemaVersion":2},"datasetVersion":"2026-08-31T14:17:45.589Z"}