Skip to content

Commit d5d616a

Browse files
committed
feat(core): harden research transport and structured workflows
Add quality-gated web search tiers, typed fetch failures, bounded workflow generation fan-out, exact durable step recovery, and structured transport validation contracts. Synchronize the English and Chinese documentation and add semantic parity checks.
1 parent da8839f commit d5d616a

28 files changed

Lines changed: 1843 additions & 672 deletions

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Added
1111

12+
- Added a quality-gated `web_search` cascade that runs native APIs first,
13+
conventional HTTP/RSS engines only when needed, and lazily initializes
14+
headless engines as the final tier. Search metadata now retains tier quality,
15+
engine outcomes, attempt duration, retry context, and session-scoped circuit
16+
state.
17+
- Added exact durable dynamic-workflow step recovery bound to the run id,
18+
original query, and completed step id, plus an optional
19+
`maxConcurrentGenerations` limit of 1-4 for independently session-forked
20+
`generate_object` steps.
21+
- Added host-only structured-response validation schemas and an explicit LLM
22+
client capability for distinct non-streaming transports, allowing composite
23+
clients to validate complete streamed JSON without presenting the same
24+
streaming path as an independent fallback.
1225
- Added a pure-Go v6 SDK backed by a long-lived, capability-checked Rust bridge,
1326
covering sessions, lossless events, direct tools, run observation,
1427
verification, persistence, Skills, and MCP without requiring CGO.
1528
- Added version-matched x86-64 Linux, macOS, and Windows bridge release assets
1629
with SHA-256 checksums, Go protocol-alignment checks, CI integration, and
1730
bilingual website documentation.
1831

32+
### Changed
33+
34+
- `web_fetch` now preserves typed transport, timeout, HTTP 429, and
35+
`Retry-After` evidence instead of deriving retry guidance from rendered error
36+
messages.
37+
- `generate_object` forwards its governed active-generation timeout through
38+
the invocation gateway and holds that deadline across bounded schema repair.
39+
1940
## [6.5.2] - 2026-07-28
2041

2142
### Added

Cargo.lock

Lines changed: 86 additions & 71 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ the model.
210210
| Files and directories | Budgeted single/multi-file `read`, `write`, previewable CAS `edit`, `patch`, `ls`, order-selectable paginated `glob`, and mode-selectable `grep` |
211211
| Commands and source control | Bounded `bash` plus typed `git` operations, cancellation, and Unix process-group termination |
212212
| Code intelligence | `code_symbols`, `code_navigation`, and `code_diagnostics`; source reading and mutation remain in file tools |
213-
| Web evidence | Multi-engine `web_search` and bounded `web_fetch` with structured failures, fallback, source normalization, and SSRF protections |
213+
| Web evidence | Quality-gated API → HTTP/RSS → lazy-headless `web_search` with session circuits, plus bounded `web_fetch`, source normalization, and SSRF protections |
214214
| Composition | Safe `batch`, sandboxed QuickJS `program`, structured `generate_object`, `task`, and `parallel_task` |
215215
| Extensibility | `Skill`, `search_skills`, namespaced `mcp__<server>__<tool>`, and explicit `dynamic_workflow` |
216216

@@ -259,6 +259,12 @@ writing. The dry run is declared read-only and can be safely batched. Apply the
259259
result with `expected_replacements` and optionally `max_replacements` to reject
260260
stale or unexpectedly broad changes before the compare-and-swap write.
261261

262+
Web evidence keeps retry decisions typed. `web_search` records tier quality,
263+
engine outcomes, durations, circuit state, and retry context; `web_fetch`
264+
classifies transport failures and HTTP 429 separately and preserves a
265+
parseable `Retry-After` delay. Neither path infers retryability from rendered
266+
error prose.
267+
262268
### Sandbox and credential boundaries
263269

264270
Hosts can attach a `BashSandbox`. The fail-closed local `SrtBashSandbox` limits
@@ -290,8 +296,11 @@ result or conversation turn.
290296
Model adapters normalize text, reasoning, images, tool calls, token usage,
291297
streaming, cancellation, and retries. Structured generation uses native
292298
provider response formats when available and schema validation plus repair
293-
otherwise. MCP supports stdio, SSE, streamable HTTP, OAuth client credentials,
294-
refresh, and live session-scoped add/remove operations.
299+
otherwise. Provider-facing schemas remain available as host-only validation
300+
metadata for composite streaming clients, and clients explicitly declare
301+
whether a blocking structured call uses a transport independent from their
302+
streaming path. MCP supports stdio, SSE, streamable HTTP, OAuth client
303+
credentials, refresh, and live session-scoped add/remove operations.
295304

296305
## Orchestration without hidden authority
297306

@@ -307,6 +316,11 @@ refresh, and live session-scoped add/remove operations.
307316
- `dynamic_workflow` is absent from a plain session until the host registers an
308317
A3S Flow-backed runtime.
309318

319+
Dynamic workflows can bound independently session-forked structured generation
320+
with `maxConcurrentGenerations` (1-4); providers without session forking remain
321+
single-flight. Durable completed-step recovery is bound to the exact run id,
322+
original query, and step id rather than acting as a cross-run query cache.
323+
310324
Delegated tasks, workflows, and Skill child runs retain the parent sandbox and
311325
intersect local permission policy with the parent checker. A child auto-approve
312326
setting cannot waive a host escalation boundary.

0 commit comments

Comments
 (0)