INNER CODE UNIT · TypeScript
maybeInvalidateSchemaCache
harvard-edge/cs249r_book · interviews/staffml-vault-worker/src/index.ts:82
function maybeInvalidateSchemaCache(releaseId: string | undefined): void {
if (!releaseId) return;
if (lastSeenRelease !== null && lastSeenRelease !== releaseId) {
schemaOk = undefined;
ftsProbed = undefined; // Chip R7-M-5: FTS5 presence can change across releases
// Chip R7-L-7: don't null manifestMemo — 60s TTL handles rollover, and
// nulling mid-write caused concurrent-request stampedes on D1.
}
lastSeenRelease = releaseId;
}
// Gemini R5-H-1: module-level manifest memo (60s TTL). Before this,
// getManifest hit D1 on every request — including cache-hit requests —
// which silently blew the §10.4 "~5 D1 reads/session" cost target.
let manifestMemo: { manifest: Manifest; at: number } | null = null;
const MANIFEST_TTL_MS = 60_000;
async function getManifest(env: Env): Promise<Manifest> {