Q87: provider errors keep status and provider code; text never decides recovery

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-08 14:52:31 -04:00
1 parent 7ecffe84e3
commit 4668396f25
28 files changed
+285 -108

No files matched your search

@@ -1,4 +1,5 @@
import { TRANSIENT_PROVIDER_FAILURE_SIGNATURES } from "../../../shared/provider-runtime-domain";
/** The message signatures earlier builds classified transient failures by; frozen here to heal their rows. */
const TRANSIENT_PROVIDER_FAILURE_SIGNATURES = ["provider monthly request limit has been reached.", "usage limit", "rate limit", "too many requests", "overloaded"];
/** Runs record whether they failed for a passing provider reason; older rows are classified from their message once, here. */
export const runFailureKindSchema = `
@@ -0,0 +1,7 @@
export const requestErrorCodesSchema = `
alter table provider_requests add column error_status integer;
alter table provider_requests add column error_code text;
insert into schema_migrations(version, name, applied_at)
values (78, 'request_error_codes', datetime('now'));
`;
+2
View File
@@ -76,6 +76,7 @@ import { runFailureKindSchema } from "./migrations/074-run-failure-kind";
import { providerCooldownsSchema } from "./migrations/075-provider-cooldowns";
import { runPinsSchema } from "./migrations/076-run-pins";
import { modelChecksSchema } from "./migrations/077-model-checks";
import { requestErrorCodesSchema } from "./migrations/078-request-error-codes";
interface Migration {
version: number;
@@ -161,6 +162,7 @@ const MIGRATIONS: Migration[] = [
{ version: 75, name: "provider_cooldowns", sql: providerCooldownsSchema },
{ version: 76, name: "run_pins", sql: runPinsSchema },
{ version: 77, name: "model_checks", sql: modelChecksSchema },
{ version: 78, name: "request_error_codes", sql: requestErrorCodesSchema },
];
const SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1].version;