You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 2dd2d87
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs-site/src/content/docs/reference/architecture.md
+21-3Lines changed: 21 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -102,6 +102,12 @@ understands:
102
102
|`done`|`response.completed` (with usage) |
103
103
|`error`|`response.failed` (with `last_error`) |
104
104
105
+
Anthropic thinking signatures and redacted blocks survive tool-result continuation even when
106
+
their thinking text is empty. Each signed block keeps its own text/signature pairing in both
107
+
JSON and streaming responses. Opaque reasoning from other providers is not converted into
108
+
invented Anthropic thinking text. Automatic terminal-guard continuations preserve the same
109
+
block order. An unfinished thinking block fails instead of completing with unusable replay state.
110
+
105
111
The bridge also runs a **heartbeat keep-alive** (RC3): during upstream silence, it emits a
106
112
parser-ignored `response.heartbeat` SSE event every 2 seconds to re-arm Codex's idle timer. The
107
113
default **stall deadline** is 300 seconds (`stallTimeoutSec`); reaching it aborts the upstream and emits
@@ -112,12 +118,18 @@ Anthropic SSE comments and `ping` events count as upstream activity, including w
112
118
thinking during context compaction. Proxy-generated keep-alives do not reset the stall deadline;
113
119
an upstream connection that stops sending activity still times out.
114
120
115
-
For Opus 5.5 through the canonical Anthropic API, routed context compaction uses at most
121
+
For Opus 5.5 through the canonical Anthropic API, ordinary routed turns default to a
122
+
128,000-token total output allowance when the caller omits a limit. This uses the model's
123
+
[documented capacity for long coding turns](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#calibrate-effort)
124
+
and preserves the requested reasoning effort. Adaptive thinking and answer text share the
125
+
allowance; effort does not enforce a separate thinking budget. Explicit limits remain
126
+
authoritative, and other models and custom Anthropic-compatible endpoints retain their defaults.
127
+
128
+
Routed context compaction for the same model and endpoint uses at most
116
129
`medium` reasoning effort and defaults to a 64,000-token total output limit when the caller
117
130
omits one. Adaptive thinking and summary text share that limit; effort does not reserve a
118
131
fixed number of tokens for the summary. Explicit output limits and lower reasoning efforts
119
-
are preserved. This maintenance policy applies to both compaction endpoints; ordinary work
120
-
keeps its requested effort and existing defaults. A truncated summary still fails instead
132
+
are preserved. This maintenance policy applies to both compaction endpoints. A truncated summary still fails instead
121
133
of replacing the conversation history, and the proxy does not automatically retry it.
122
134
The older compact endpoint streams routed Anthropic generation internally, then returns one
123
135
JSON response to its caller. This lets upstream pings keep a long summary alive without
@@ -246,6 +258,12 @@ history, while `responses/parser.ts` and `bridge.ts` handle remote compaction v2
0 commit comments