|
| 1 | +## v2.0.143 - diagnostics and canary hardening |
| 2 | + |
| 3 | +This release strengthens diagnostics for tool-call evidence collection |
| 4 | +(#177/#178), hardens the WebFetch canary pipeline (#183), and completes |
| 5 | +the SWE-1.6 special-agent POC boundary coverage (#190). No default |
| 6 | +behavior changes; native bridge production scope remains Bash-family only. |
| 7 | + |
| 8 | +### BridgeResult diagnostics (#177/#178) |
| 9 | + |
| 10 | +- New `BridgeResult[reqId]` log line emitted after every tool-bearing |
| 11 | + request (both streaming and non-streaming paths). |
| 12 | +- Tracks `cascadeToolCalls`, `mappedToolCalls`, `unmappedToolCalls`, |
| 13 | + `emulatedToolCalls`, `totalToolCalls`, `argParseFailures`, and |
| 14 | + `reverseFailures` per request. |
| 15 | +- Logs tool names and Cascade kinds but never arguments or user content. |
| 16 | +- Combined with the existing `ToolRoute[...]` pre-request log, reporters |
| 17 | + can now distinguish: bridge enabled but no Cascade tool call returned, |
| 18 | + Cascade tool call returned but reverse-mapping failed, emulation |
| 19 | + fallback succeeded, and the zero-tool-call scenario. |
| 20 | + |
| 21 | +### WebFetch canary hardening (#183) |
| 22 | + |
| 23 | +- `HandleCascadeUserInteraction` RPC call wrapped in try/catch; approval |
| 24 | + failures are logged with SHA-256 hashed cascade/origin identifiers and |
| 25 | + do not terminate the polling loop. |
| 26 | +- `scripts/native-bridge-smoke.mjs` WebFetch scenario now enforces a |
| 27 | + hard verdict: only `completed_web_document` in proto trace counts as |
| 28 | + pass; `pending_permission`, `auto_run_decision_only`, and error states |
| 29 | + are explicit warn/fail with classification detail. |
| 30 | +- WebFetch preflight warns when `WEBFETCH_AUTO_APPROVE`, |
| 31 | + `WEBFETCH_AUTO_APPROVE_ORIGINS`, or `POLL_AFTER_TOOL` env vars are |
| 32 | + missing (non-blocking). |
| 33 | + |
| 34 | +### SWE-1.6 special-agent boundary (#190) |
| 35 | + |
| 36 | +- `/health?verbose=1` now exposes `queueTimeoutMs`, `runTimeoutMs`, and |
| 37 | + `outputLimitBytes` in the `specialAgent` block when the backend is |
| 38 | + enabled. |
| 39 | +- Added unit test for media content rejection (`unsupported_media` on |
| 40 | + `image_url` content parts). |
| 41 | +- `scripts/special-agent-smoke.mjs` now runs two negative smoke stages |
| 42 | + after the positive text-only chat: tools boundary (`400 |
| 43 | + unsupported_tool_boundary`) and media boundary (`400 |
| 44 | + unsupported_media`). |
| 45 | + |
| 46 | +### Validation |
| 47 | + |
| 48 | +- 1098 tests pass (0 fail). |
| 49 | +- Secret scan clean. |
| 50 | +- No new dependencies. |
0 commit comments