Skip to content

Commit 58b0c6c

Browse files
ampagentIsaac Miller
andcommitted
Record managed routing patch motivation and compatibility limits
Amp-Thread-ID: https://ampcode.com/threads/T-01a0c095-4917-7617-9dac-e99f1ef22d41 Co-authored-by: Isaac Miller <isaac@cmpnd.ai>
1 parent dd0662c commit 58b0c6c

1 file changed

Lines changed: 23 additions & 12 deletions

File tree

‎DOWNSTREAM_PATCHES.md‎

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,32 @@ unpatched and do not rewrite published integration branches.
1919
must not delete saved credentials. The regression in tests/test_login.py
2020
checks preserved credentials/revision, cleared in-flight state, no automatic
2121
retry and a successful later renewal.
22+
3. `dd0662c866dfd208ffed443f071e10123170ef0e`: keep credentials, account
23+
headers and endpoints in one per-operation snapshot. Retained adapters
24+
acquire the active connection for each operation; bound clients retain their
25+
selected identity. Dispatch checks the snapshot's generation before every
26+
transport handoff, including delayed streams and multi-wire operations.
27+
Renewal cannot silently change a known account ID. Regression coverage in
28+
tests/test_managed_dispatch.py includes sync/async replacement, renewal,
29+
logout races, batch upload/submit, explicit endpoints and offline planning.
2230

23-
Both fixes originate on cmpnd-ai/lm15-python branch fix/managed-auth-review.
31+
The first two fixes originate on cmpnd-ai/lm15-python branch fix/managed-auth-review.
2432
Upstream PR submission was denied by GitHub integration permissions; neither
2533
patch is claimed to be merged upstream. Check for an existing upstream PR
2634
before attempting submission again.
2735

28-
The stale managed account/endpoint routing issue is NOT fixed by this stack.
29-
Retained sync/async adapters can combine a new token with an old account or
30-
endpoint, and logout before dispatch is not checked. DSPy PR #10540 must remain
31-
draft until coherent operation snapshots and dispatch admission are implemented
32-
and tested. Do not mistake the passing existing contract suite for coverage of
33-
these independently reproduced races.
36+
The third fix is a downstream implementation pending upstream contribution.
37+
Managed websocket operations and raw request builders that bypass operation
38+
preparation fail closed; explicit/unmanaged credentials retain their existing
39+
behavior. No shared adapter fields are mutated during requests. A snapshot
40+
admitted before logout may still reach the transport: logout cannot recall an
41+
already admitted request. Keep DSPy PR #10540 draft until its integration and
42+
review follow-through complete; passing existing contract tests alone does not
43+
demonstrate the new race regressions.
3444

35-
Validation against this package tree: 272 focused tests passed, 2 skipped;
36-
3651 full-suite tests passed, 9 skipped, with only the two known orb reserved-IP
37-
connect-timeout failures. Strict conformance and all 18 pinned contract harness
38-
directions passed. The exact upstream release's CI passed. No live provider
39-
calls were used.
45+
The first two patches were validated with 3651 tests passing, 9 skipped and the
46+
two approved orb reserved-IP connect-timeout failures. For the third patch,
47+
72 focused auth/dispatch tests passed; the retained-adapter endpoint regression
48+
fails against the two-patch baseline. Full source, strict conformance, pinned
49+
contract and type checks must be rerun on every changed stack. No live provider
50+
calls are needed.

0 commit comments

Comments
 (0)