S14 — Integrity Monitor
Automated detection of logical traps, coercion patterns, and rule drift. Advisory output only — warnings, not blocks (unless mapped to a security invariant).
Detections
Circular logic
Scans for: reputation used to justify the event that generated it; rules referencing each other’s output; token promotion depending on conditions it creates. Method: directed dependency graph, flag cycles.
Coercion traps
Identifies: all available actions lead to reputation loss; forking blocked or penalized; dispute filing effectively impossible. Method: enumerate participant actions, compute outcomes, flag all-negative or empty action spaces.
Axiom drift
Monitors: cumulative parameter changes approaching constitutional limits; sequences of small changes that would violate an axiom if applied together. Method: sliding window tracking over 6-month periods.
Advisory roles
| Role | Access | Can execute |
|---|---|---|
| Translator | Read input | Suggest commands, cannot execute |
| Sentinel | Read event queue + rule set | Detect patterns, cannot veto |
| Guide | Read state | Explain state, cannot modify |
Output
{check, result: PASS|WARN, severity, details, evidence, decision_hash, reasoning_trace}
decision_hash = SHA-256(check + input + result + model_identity). Full reasoning trace recorded for auditability.
When advisory becomes enforcement
WARN → hard block only when the detection maps to a rule engine invariant:
- Circular logic in rule update → rule rejected
- Coercion in admission gate → event rejected
- Axiom drift beyond limits → governance proposal rejected
Implementation Status
Runtime: Verified against donor AMS Node.js (projects/unified-mcp/src/); not yet ported to Colibri Node.js
Verified against source: 2026-04-06
| Claim | Status | Notes |
|---|---|---|
| Circular logic detection (dependency graph, flag cycles) | Spec-only | No directed dependency graph scanner or cycle detector found in src/security/ or elsewhere |
| Coercion trap detection (enumerate actions, compute outcomes) | Spec-only | No action-space enumeration or all-negative outcome detection in source |
| Axiom drift monitoring (sliding window, 6-month periods) | Spec-only | No parameter-change tracking or sliding window monitor found |
| Advisory roles: Translator, Sentinel, Guide | Spec-only | No role definitions matching these names exist in source; src/security/ has audit/validator/sanitizer only |
Output format {check, result: PASS|WARN, severity, ...} |
Spec-only | No integrity-check output envelope found; src/security/audit.js returns different structures |
decision_hash = SHA-256(check + input + result + model_identity) |
Spec-only | No decision_hash or reasoning_trace field found anywhere in source |
| WARN to hard block escalation (rule engine invariant mapping) | Spec-only | Security modules detect threats but do not implement WARN-to-block escalation logic |
| General security scanning (SQL injection, secrets, path traversal) | Implemented | src/security/audit.js and audit-comprehensive.js provide robust pattern-based detection |
| Input validation and sanitization | Implemented | src/security/validator.js (Zod-based) and sanitizer.js provide production-ready input security |