> Source: https://docs.nometa.az/changelog/4-5

# SAMURAI 4.5

_Released July 3, 2026._

## Features

- **AI:** agentic loop in the async rule worker — Inc 4
- **AI:** agentic tool-use loop for change analysis — Inc 1
- **AI:** AI providers section in Settings → Integrations
- **AI:** ai_memories store + /memories admin page + ai.memory.manage permission
- **AI:** AI-proposed memories (create-only, pending_review) + verdict contract extension
- **AI:** ai.analyze permission
- **AI:** Analyze-with-AI action + analysis panel on global Changes cards
- **AI:** anthropic connector — Claude messages API client
- **AI:** catalog kind=ai entries, secret wiring, test fall-through, default provider
- **AI:** change-analysis prompt builder with running-config redaction
- **AI:** first-class Amazon Bedrock provider (native Converse API + hand-rolled SigV4)
- **AI:** native tool-calling for the agentic loop — Inc 3
- **AI:** nightly memory reflection — Inc B
- **AI:** ollama/openai/claude providers + allproviders wiring
- **AI:** openaicompat connector — OpenAI/Ollama chat-completions client
- **AI:** operator feedback on AI analyses + conformance-scan services subpackages
- **AI:** operator-memory retrieval into analysis prompts + memories_used
- **AI:** POST /api/changes/:id/analyze — manual analysis, persisted on change_log
- **AI:** provider registry + default-provider resolution
- **AI:** remaining cache tools + opt-in directory lookups — Inc 2
- **AI:** self-managed AI memory — Inc A
- **Bedrock:** list inference profiles first in model discovery (invocable ids for on-demand Claude)
- **Bedrock:** support Bedrock API key (bearer) auth + card icon; encrypt bedrock secrets at rest
- **Integrations:** discover AI provider model ids into a creatable searchable dropdown
- **Notifications:** scoped registry (platform/page/tab), severity ordering, collapsible stack
- **Rules:** ai_analyze worker — bounded queue, dedupe, hourly cap, verdict events
- **Rules:** clone rule — editor seeded copy, saves disabled
- **Rules:** CRUD/reorder store + pure dry-run core
- **Rules:** Detection Rules settings tab — list, editor, dry-run
- **Rules:** engine stamps + notify action, hooked into writeChangeLog
- **Rules:** field catalog — admin/changed_by/value/key/identity fields, sparse-field contract, served vocabulary
- **Rules:** filter-bar field parity via shared paths + modal popovers for in-dialog wheel scroll
- **Rules:** promote Detection Rules to a sidebar System page
- **Rules:** pure evaluator + op registry with conformance pin
- **Rules:** rule model + save-time validation
- **Rules:** rules.manage permission + CRUD/reorder/dry-run API
- **Rules:** searchable comboboxes in the editor; notify targets as multi-select
- **Rules:** severity badge + matched-rule chips on Changes cards
- **Rules:** structured AI verdicts + severity escalation, suppress action, per-rule prompts (#847 Increment 3)

## Bug Fixes

- **AI:** 2048-token cap on the native tool path
- **AI:** agentic loop extracts FIRST json object, not outer span
- **AI:** fence untrusted device data in prompt, stamp provider into audit details
- **AI:** manual Analyze-with-AI proposes memories too, not just the rule worker
- **AI:** reflection references memories by ordinal handle, not slug
- **AI:** resync default-provider state on refetch, AI-kind disabled label, type/token polish
- **Audit:** backfill attribution, old→new details, category conformance, WS filter race
- **Changes:** Palo item cards collapsible, default collapsed; audit footer stays visible
- **Changes:** Palo Reordered block collapsible, default collapsed
- **Changes:** render parsed ACL entries as Cisco lines, not raw JSON
- **Connectors:** FMC HTTP status check, NDO error-path scrub, fmc lookup logging
- **Frontend:** error states on Users/Roles/Dashboard + syncFailing aggregate for silent background sync failures
- **Goroutines:** panic recovery for WS pumps, keepalive, notification senders, DB health monitor; remove dead scheduler
- **Handlers:** response.ServerError helper; stop err.Error() leaks, DB-fault-as-400, unlogged 500s
- **Rules:** eager queue init + supervised worker loop + rule-body audit details
- **Rules:** grouped field picker with hints; scroll on CommandList not CommandGroup
- **Rules:** newline-separated in-values (comma-safe), clear stale dry-run on edit, interaction tests
- **Rules:** reject non-string patterns + non-numeric total_changes at save; case-fold regex
- **Topbar:** client section header full-width clickable + update DB status test for mounted-collapsed content
- **Topbar:** full-width clickable status headers + animated section expand/collapse (grid-rows)
- **UI:** closing an open popper must not dismiss the surrounding dialog/sheet
