Preserve Claude ACP quota classification and reset time (#13651)

Typed Claude ACP quota failures lost their recovery classification and reset
time when the runtime reduced provider metadata to a generic category error.
Inspect terminal metadata in memory and retain only safe recovery labels and
a parsed reset timestamp. Preserve the existing handling of other limits.

Verified real child processes on both pinned ACPX runtimes, adapter and
server recovery regressions, all PR CI gates, and Greptile 5/5. Also isolate
a pre-existing chat regression from unrelated fixtures’ retry work.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Devin Foley
2026-09-18 19:42:28 -07:00
committed by GitHub
co-authored by Paperclip
parent 685d4faba3
commit d54b750111
10 changed files with 392 additions and 47 deletions
@@ -41,7 +41,7 @@ async function handleRequest(request) {
const sessionFailure = {
id: `${request.params.sessionId}:error`,
revision: 1,
category: "request",
category: process.env.PAPERCLIP_ACPX_TYPED_FAILURE_CATEGORY ?? "request",
severity: "error",
title: typedFailureCanary,
actions: [],