name: glean-prod-checklist
description: 'Pre-launch: All datasources indexed and searchable.
Trigger: "glean prod checklist", "prod-checklist".
'
allowed-tools: Read, Write, Edit, Bash(npm:), Bash(curl:), Grep
version: 1.8.0
license: MIT
author: Jeremy Longshore jeremy@intentsolutions.io
tags:
- saas
- enterprise-search
- glean
compatibility: Designed for Claude Code
Glean Production Checklist
Overview
Glean provides enterprise search across all company data sources with AI-powered ranking and document understanding. A production integration requires all connectors indexed, document permissions correctly mapped, and search quality validated. Failures mean employees find stale documents, see content they lack permission for, or get zero results when data exists.
Authentication & Secrets
API Integration
Error Handling & Resilience
Monitoring & Alerting
Validation Script
async function checkGleanReadiness(): Promise<void> {
const checks: { name: string; pass: boolean; detail: string }[] = [];
// Search API connectivity
try {
const res = await fetch('https://api.glean.com/v1/search', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.GLEAN_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ query: 'test', pageSize: 1 }),
});
checks.push({ name: 'Search API', pass: res.ok, detail: res.ok ? 'Connected' : `HTTP ${res.status}` });
} catch (e: any) { checks.push({ name: 'Search API', pass: false, detail: e.message }); }
// Credentials present
checks.push({ name: 'API Key Set', pass: !!process.env.GLEAN_API_KEY, detail: process.env.GLEAN_API_KEY ? 'Present' : 'MISSING' });
// Indexing API connectivity
try {
const res = await fetch('https://api.glean.com/v1/index/status', {
headers: { Authorization: `Bearer ${process.env.GLEAN_API_KEY}` },
});
checks.push({ name: 'Indexing API', pass: res.ok, detail: res.ok ? 'Accessible' : `HTTP ${res.status}` });
} catch (e: any) { checks.push({ name: 'Indexing API', pass: false, detail: e.message }); }
for (const c of checks) console.log(`[${c.pass ? 'PASS' : 'FAIL'}] ${c.name}: ${c.detail}`);
}
checkGleanReadiness();
Error Handling
| Check | Risk if Skipped | Priority |
|---|
| Permission mapping | Users see unauthorized documents | P1 |
| Connector sync monitoring | Stale search results across org | P1 |
| API key rotation | Expired key halts indexing pipeline | P2 |
| Zero-result tracking | Employees lose trust in search | P2 |
| Index count monitoring | Silent data source disconnection | P3 |
Prerequisites
- A protected production change approval, named incident and rollback owners, and an artifact/configuration revision that has passed sandbox and staging.
- Baselines for health, freshness, error budget, and synthetic allow/deny access tests.
- A canary datasource and an explicit stop condition for unexpected destination, access expansion, or unredacted evidence.
Instructions
- Confirm environment, secret reference, destination allowlist, artifact digest, and approval before enabling any production action.
- Run the documented health and authorization probes against the canary with only synthetic terms and opaque identifiers.
- Monitor error rate, freshness, queue depth, and access probes through the stated observation window; halt on any regression.
- Promote in bounded stages or restore the previous revision, recording the decision and verified rollback result.
- Close the change only when the owner accepts the redacted receipt and temporary credentials are revoked.
Output
Create a production readiness receipt with revision, canary source, health/freshness/error results, allow/deny evidence, owner approvals, outcome, and rollback reference. It must not include secrets, queries, or indexed content.
Examples
revision=r44; canary=sandbox-guides; health=pass; freshness=pass; errors=within-budget; allow=pass; deny=pass; outcome=promote is a complete canary decision.
Resources
Next Steps
See glean-security-basics for document permission mapping and access control.