Skip to content

Bug fixes and improvements in wiring + TasmanianDevil 0.3.0 - #26

Merged
filipw merged 4 commits into
mainfrom
bug-fixes
Sep 13, 2026
Merged

filipw merged 4 commits into
mainfrom
bug-fixes

Conversation

@filipw

@filipw filipw commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Build

  • Drop Microsoft.SourceLink.GitHub
  • Enable GenerateDocumentationFile
  • Delete the empty AgentGuard.Local package, 26 MB of unreferenced model binaries and
    two unused package references (artfiacts from last migration)

Fixes

  • Tool results: StripUnicodeControl removed the characters its own hidden-content
    patterns look for and discarded the stripped text.
  • Streaming: a mid-stream modification ended the stream, discarding the rest of the
    response. It now rewrites the buffer and continues
  • Regex rules: a match timeout escaped as an unhandled exception. Now a
    GuardrailResult.Error governed by ErrorBehavior. Patterns are compiled once and warmed
    at construction
  • Content safety: a missing or failing classifier silently passed
  • Secrets: the AWS and Azure patterns could not match real credentials
  • Retrieval: sanitization only cleaned the first filter that fired
  • LLM judges: verdicts were substring searches, so "No injection found." blocked.
  • False positives: bare role markers (System:, USER:) blocked ordinary log pastes
    as Critical at every sensitivity - moved to High

Wiring

  • The decision ledger now reaches the MAF, IChatClient and workflow adapters (resolved
    from DI in the MAF path, as documented)
  • UseProgressiveStreaming() works on the IChatClient decorator
  • Output modifications preserve tool calls and response metadata
  • Messages are materialized once instead of five times

Lifecycle

  • GuardrailPolicy is IDisposable and releases rules holding ONNX sessions or HTTP clients
  • HashChainLedger takes an in-memory cap and holds one file handle open instead of
    reopening per entry; truncation limits documented

Breaking

  • RuleConfiguration moved to AgentGuard.Core.Configuration
  • AgentGuard.Hosting no longer references AgentGuard.Azure / AgentGuard.RemotePii.
    Rules outside the core engine plug in via the new IGuardrailRuleFactory; register
    services.AddSingleton<IGuardrailRuleFactory, AzurePiiRuleFactory>(). Drops
    Azure.AI.ContentSafety, Azure.Identity, TasmanianDevil.Azure and
    TasmanianDevil.Remote from every hosting consumer
  • PiiRuleOptions owns RedactOutput instead of the engine
  • TasmanianDevil 0.3.0: DE_ID_CARD/DE_PASSPORT → DE_ID_DOCUMENT, new nl pack
  • doc updates

@filipw filipw changed the title Bug fixes Bug fixes and improvements in wiring + TasmanianDevil 0.3.0 Sep 13, 2026
@filipw
filipw merged commit 66766e0 into main Sep 13, 2026
1 check passed
@filipw
filipw deleted the bug-fixes branch September 13, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant