0.163.1

Fixed

  • MCP: исправления по результатам ocr review Фаз 4b+5+6. 36 замечаний (0 HIGH/MEDIUM), применены валидные security/correctness:
  • Sandbox fail-open — когда backend настроен, но недоступен (bwrap на macOS), createStdioClient теперь логирует warning вместо молчаливого пропуска. sandboxSpawn проверяет len(wrapped) == 0 и логирует fallback.
  • bwrap workspace bindwrapCommandArgsBwrap добавляет --bind cwd cwd (writable), ограничивая запись рабочим каталогом (раньше процесс мог писать куда угодно через ro-bind хоста).
  • bwrap/sandbox-exec warnings на wrong OSslog.Warn при запросе bwrap на non-linux / sandbox-exec на non-darwin (раньше молчаливый nil).
  • roots.go — правильный workspace path через workspace.AgentWorkspaceDir (вместо самодельного dataDir/agents/name/workspace); file URI через net/url (вместо string concatenation, корректное percent-encoding).
  • completion.go — переделан из мёртвой свободной функции в EmptyCompletionHandler struct. mcp-go v0.52.0 не экспортирует WithCompletionHandler — handler подготовлен для будущего wiring.
  • main.go — warning при SandboxNone на startup (Windows/без bwrap/sandbox-exec). Документация set-once-before-start контракта SetSandboxConfig.
  • endpoints.tsencodeURIComponent для principalType/principalKey в deleteGrant. Тип MCPOAuthStatus (вместо inline anonymous). MCPGrant['principal_type'] для deleteGrant параметра.
  • ТестTestSandboxSpawn_NoSandbox задаёт server поле (nil dereference fix).
  • Цикл ocr review (--from v0.162.0 --to v0.163.0): 36 замечаний → security/correctness устранены, остальные (sampling text-only filtering, BM25 thread-safety, code duplication) отложены как improvement.