mod anthropic_plugin#

module anthropic_plugin#

Anthropic cache plugin for the ACG system.

Translates ACG stability classifications into Anthropic-specific cache_control breakpoints on content blocks. Implements the ProviderPlugin trait with:

  • Breakpoint budget allocation: Up to 4 breakpoints per request.

  • Token minimum enforcement: Per-model from CapabilityRegistry.

  • TTL mapping: RetentionTier to Anthropic TTL (5m default or 1h extended).

  • Tool schema canonicalization: RFC 8785 via canonicalize_value.

  • System string-to-array conversion: Handles both string and array-of-blocks format.

Threat mitigations

  • T-08-01: Only injects cache_control annotations with fixed structure {"type": "ephemeral"}.

  • T-08-02: scope_label is logged in detail but does NOT change cache visibility.

  • T-08-03: All JSON access uses Option-returning methods; errors propagate via Result.

  • T-08-05: TTL is hardcoded to exactly 2 behaviors (omit or "1h").

Structs and Unions

struct AnthropicCachePlugin#

Anthropic-specific provider plugin for cache_control breakpoint injection.

Translates CacheStability and Retention intents into Anthropic’s explicit cache_control annotations. Other intent types are marked Ignored / NotRelevant.

Construction

let registry = CapabilityRegistry::with_defaults();
let plugin = AnthropicCachePlugin::new(&registry);

Implementations

impl AnthropicCachePlugin#

Functions

fn new(registry: &CapabilityRegistry) -> Self#

Create a new Anthropic cache plugin backed by the given capability registry.

The registry is cloned into an Arc for shared ownership.

Traits implemented

impl ProviderPlugin for AnthropicCachePlugin#
impl HintPlanApplier for AnthropicCachePlugin#