Entropic 2.3.8
Local-first agentic inference engine
Loading...
Searching...
No Matches
constitutional_validator.h File Reference

Post-generation constitutional compliance validator. More...

#include <entropic/interfaces/i_hook_handler.h>
#include <entropic/interfaces/i_inference_callbacks.h>
#include <entropic/types/config.h>
#include <entropic/types/error.h>
#include <entropic/types/hooks.h>
#include <entropic/types/validation.h>
#include <atomic>
#include <mutex>
#include <optional>
#include <string>
#include <unordered_map>
Include dependency graph for constitutional_validator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  entropic::ValidationContext
 Context passed through hook user_data. More...
 
class  entropic::ConstitutionalValidator
 Post-generation constitutional compliance validator. More...
 

Namespaces

namespace  entropic
 Activate model on GPU (WARM → ACTIVE).
 

Detailed Description

Post-generation constitutional compliance validator.

Responsibilities:
  • Run grammar-constrained critique pass on generation output
  • Parse structured JSON verdict
  • Trigger revision loop when violations found
  • Per-identity validation opt-out
  • Register/deregister as POST_GENERATE hook
Thread safety:
  • Config is immutable after construction (global_enabled_ is a separate runtime toggle, not part of the frozen config)
  • Critique generation is stateless (uses inference interface)
  • Per-identity overrides and global_enabled_ guarded by mutex
  • last_result_ guarded by mutex for concurrent access
Ownership:
Owned by the engine handle. One ConstitutionalValidator per engine. Single concrete class (no three-layer hierarchy — one implementation, like HookRegistry and GrammarRegistry).
Cross-.so design:
Lives in core.so. Uses InferenceInterface function pointers for critique generation (no compile-time dependency on inference.so). Grammar key "constitutional_critique" resolved by the inference layer from the GrammarRegistry.
Version
1.9.8

Definition in file constitutional_validator.h.