(providerName: string, err: unknown)
| 1927 | const warnedProviderReadFailures = new Set<string>() |
| 1928 | |
| 1929 | function warnProviderReadFailureOnce(providerName: string, err: unknown): void { |
| 1930 | const key = `${providerName}:sqlite-busy` |
| 1931 | if (warnedProviderReadFailures.has(key)) return |
| 1932 | warnedProviderReadFailures.add(key) |
| 1933 | if (isSqliteBusyError(err)) { |
| 1934 | process.stderr.write( |
| 1935 | `codeburn: skipped ${providerName} data because its SQLite database is temporarily locked; will retry on the next refresh.\n` |
| 1936 | ) |
| 1937 | } |
| 1938 | } |
| 1939 | |
| 1940 | // Warn per offending file (so a systemic break surfaces more than one path), |
| 1941 | // but cap per provider per run to avoid a flood. Cached failure markers mean a |
no test coverage detected