Policy Not Enforcing
Symptom: All requests return ALLOW even with deny rules configured. Check:- Verify
modeis'ENFORCE'(not'MONITOR'or'REPORT_ONLY') - Check if PLAN_ONLY mode is enabled (
plan_only_mode: trueskips enforcement) - Verify the rule
conditionmatches your request’sactionstring exactly - Check
engine.getStatus()to confirm rules are loaded
FREEZE Rule Not Blocking
Symptom: Action matches a FREEZE rule but isn’t being denied. Check:- FREEZE rules match on the
actionfield — verify exact string match - FREEZE rules are evaluated in pre-evaluation — they run before modules
- Check if the request is using
evaluateV12()(v1.2 method bypasses pre-evaluation)
Bundle Signature Verification Failing
Symptom:BundleIntegrityError when loading a policy bundle.
Check:
- Verify the public key matches the private key used to sign the bundle
- Check that the bundle file hasn’t been modified after signing
- Verify the
GOVERNANCE_PUBLIC_KEYenvironment variable is set correctly
NHI Verification Failing
Symptom: Requests denied withNHI_SCOPE_VIOLATION or AGENT_ATTESTATION_MISSING.
Check:
- Verify
agentIdis passed in the evaluation context - Verify the agent is registered in the NHI inventory with status
active - Check that the action is within the agent’s registered
scopes - If attestation is required, verify the token is valid and not expired
Approval Token Expired
Symptom:ApprovalExpiredError when calling approveDecision().
Check:
- Approval tokens have a TTL (default: 10 minutes)
- The token may have expired before the approver responded
- Re-evaluate the request to get a fresh token
Hot-Swap Rejected
Symptom:loadPolicy() fails with POLICY_BUNDLE_SWAP_FAILED.
Check:
- Bundle schema validation failed — check the bundle structure
- Bundle integrity hash doesn’t match signature
- Bundle requires capabilities the engine doesn’t support (capability negotiation)
- Previous bundle is retained on failure — governance continues uninterrupted
TealClassifier Model Not Loading
Symptom:CLASSIFIER_FALLBACK event emitted, ML not running.
Check:
- Verify the ONNX model file exists at the configured path
- Check that
onnxruntime-nodeis installed (npm install onnxruntime-node) - Verify the model is compatible with the installed ONNX Runtime version
- Fallback to
regex_onlyis automatic — governance continues without ML
Cost Anomaly False Positives
Symptom:COST_ANOMALY_DETECTED firing on normal requests.
Check:
- The baseline may not have enough samples yet (
min_samplesnot reached) - Reduce sensitivity:
anomaly: { sensitivity: 'low' } - Increase the spike multiplier:
spike_multiplier: 20 - Reset the baseline after a legitimate usage pattern change
Drift Detection False Positives
Symptom:BEHAVIORAL_DRIFT_DETECTED during normal operation.
Check:
- Verify
min_sampleshas been reached (default: 100) - If agent behavior legitimately changed, reset the baseline
- Reduce sensitivity:
drift: { sensitivity: 'low' }
Session TTL Expired
Symptom:SESSION_TTL_EXPIRED blocking requests.
Check:
- Default session TTL is 8 hours — check if the session has been running longer
- Increase TTL if needed:
temporal: { session_ttl: '24h' } - Implement session renewal in your application
Performance Issues
Symptom: Evaluation latency exceeds 25ms p99. Check:- How many modules are registered? Each adds 1-3ms
- Is TealClassifier using
ensemble_union? Switch toregex_onlyfor speed - Are post-hooks blocking? They should be async
- Is the drift baseline window too large?
Getting Help
If none of the above resolves your issue:GitHub Issues
Report bugs with reproduction steps
Email Support
Direct support from the TealTiger team

