-
Notifications
You must be signed in to change notification settings - Fork 1.1k
fix(combos): recover encrypted tasks after native targets become unavailable #3754
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c67e36a
1b30050
fd5e90f
0c97836
cd054d9
f5c88be
4abd205
e1f5a5b
b668dc8
1697a77
c745026
8de1269
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| # Mixed combo recovery implementation | ||
|
|
||
| The carry changes only combo selection in core and provider usability in the | ||
| combo resolver. A selectable native target keeps priority. If native candidates | ||
| are unavailable or exhausted, an available routed target may be selected after | ||
| one explicitly enabled encrypted-task recovery. Existing caller admission, | ||
| fixed recovery backend, attempt exclusions and plaintext no-persistence remain. | ||
|
|
||
| Canonical native quota belongs to account/model selection; cached summaries keep | ||
| filtering third-party and noncanonical providers. Both initial and late recovery | ||
| failures recheck caller cancellation, including cancellation during target waiting, | ||
| before returning an unreadable-task or prior native error. | ||
|
|
||
| Original contributor tests cover disabled/cooldown/native-401, failed recovery, | ||
| unavailable targets, canonical/noncanonical quota and eligibility. The new paired | ||
| abort fixture waits for the recovery fetch to start, then cancels its actual signal; | ||
| 499/client_cancelled, no routed call and empty cache/continuation stores are asserted. | ||
| No local suites/typecheck/build or live Kiro request are used. Hosted exact-head CI | ||
| and independent source/security/final reviews supply integration evidence. | ||
|
|
||
| ## Verified composition | ||
|
|
||
| - Source fd5e90f1b and regressions cd054d926 passed independent source/security | ||
| and final reviews. The initial full hosted run was CI34019564577. | ||
| - Parent #3753 required a separate repair cycle for preflight read failures and | ||
| tee EOF account outcomes. That repair is merged on dev as b9f2acc82; source | ||
| cd6d4d346 passed CI34020474748 and its two review threads are resolved. | ||
| - The resulting child e1f5a5b8d passed full CI34020475627. Stable patch ID | ||
| 8b62ad9ebb675f63a6dd4933e22663b48e1d95f2 matches the original combo delta, | ||
| and a fresh composition review passed. This documentation closeout changes | ||
| no runtime or tests. Final PR-head checks remain visible on #3754. | ||
| - #3706 remains open until #3754 actually merges. Closure requires a fresh | ||
| merged-state and dev-ancestry check; a successful merge command is not assumed. | ||
|
|
||
| No local suite, typecheck, build or live Kiro call was used for these results. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -169,8 +169,11 @@ byte-for-byte fidelity is not guaranteed. It rejects generic/API-key proxy calle | |
| `unreadable_encrypted_agent_task` on any failure. See | ||
| [Agent configuration: Encrypted v2 task recovery](/reference/configuration/agents/#encrypted-v2-task-recovery) | ||
| for the full trust boundary and configuration. | ||
| Combo routing remains unchanged and continues to consider only canonical native ChatGPT targets for | ||
| encrypted tasks. | ||
| Combo routing prefers a selectable canonical native ChatGPT target for encrypted tasks. If none | ||
| is usable, or native authorization attempts are exhausted, an explicitly enabled recovery may | ||
| make the task readable for one available routed target. All recovery trust and no-persistence | ||
| guards above still apply; a configured but disabled or cooling native target does not block this | ||
| fallback, and cancellation never becomes an unreadable-task error. | ||
|
Comment on lines
+172
to
+176
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This new paragraph says an encrypted combo can recover and dispatch to a routed target, but the same section still tells users at lines 150–151 that combos consider only canonical native targets and return HTTP 400 if none is available, while the following recovery-options list also omits combo recovery. Update those earlier statements so the canonical English documentation presents one consistent behavior. AGENTS.md reference: docs-site/AGENTS.md:L7-L10 Useful? React with 👍 / 👎. |
||
|
|
||
| ## Rejected encrypted history | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.