strix/strix
oyasumi 760dea6d38 feat(safety): review repeat_request instead of blocking it
repeat_request replays a captured HTTP request with optional modifications.
Its effective bytes are fully determined before dispatch — the captured request
is immutable and the modification overlay is deterministic — so it no longer
needs a blanket deterministic block.

- Extract resolve_effective_request in the proxy tool so the tool and the safety
  layer build the {method, url, headers, body} from the same function; the
  reviewed request is byte-for-byte the one that is sent.
- compile_network_evidence freezes that request as an evidence packet; the
  runtime routes repeat_request through the reviewer (and human approval when
  guarded+interactive), sending only if allowed and failing closed when the
  request cannot be resolved.
- Approval prompts now carry the real tool name (via _ExecReview.tool_name), so
  a deferred repeat_request no longer shows as exec_command.
- Reviewer prompt notes the replayed-request shape.

Tests cover allow/block/unresolvable/deferred paths and the packet shape.
Full Python suite, ruff, and mypy strix/ pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-12 16:33:35 +00:00
..
agents Merge origin/main into feature/contextual-safety-review 2026-08-12 05:49:25 +00:00
config Merge origin/main into feature/contextual-safety-review 2026-08-12 05:49:25 +00:00
core Merge origin/main into feature/contextual-safety-review 2026-08-12 05:49:25 +00:00
interface Merge origin/main into feature/contextual-safety-review 2026-08-12 05:49:25 +00:00
llm fix(llm): omit parallel_tool_calls on tool-less requests 2026-08-09 15:44:16 +03:00
report Merge origin/main into feature/contextual-safety-review 2026-08-12 05:49:25 +00:00
runtime fix(safety): close three evidence bypasses and make workspace staging idempotent 2026-08-08 00:47:21 +00:00
safety feat(safety): review repeat_request instead of blocking it 2026-08-12 16:33:35 +00:00
skills fix(container): reclaim abandoned browser sessions (#1034) 2026-08-09 16:57:51 -07:00
telemetry feat(tui): replace Textual with a Go/Bubble Tea interface (#941) 2026-08-03 19:23:07 -07:00
tools feat(safety): review repeat_request instead of blocking it 2026-08-12 16:33:35 +00:00
utils feat: support API specs and Postman collections as targets (#866) 2026-08-03 21:07:44 -07:00
__init__.py Open-source release for Alpha version 2025-08-08 20:36:44 -07:00