Version: 0.1.0
Kernel variants are implementations of the Kernel protocol with different enforcement postures. All variants MUST satisfy core invariants while differing in specific behaviors.
All variants MUST:
- Implement the Kernel protocol completely
- Satisfy all ten core invariants
- Produce valid audit entries
- Support halt from any non-terminal state
- Export valid evidence bundles
Variants MAY differ in:
- Ambiguity detection thresholds
- Additional request requirements
- Policy defaults
- Intent length limits
The strict kernel enforces maximum constraints with no tolerance for ambiguity.
| Setting | Value | Modifiable |
|---|---|---|
| fail_closed | true | No |
| require_jurisdiction | true | No |
| require_audit | true | No |
| max_intent_length | 4096 | Yes |
- Uses strict ambiguity detection
- Requires tool_call for tool execution
- Denies all ambiguous requests
- No special request requirements
- High-security environments
- Regulated industries
- Systems requiring maximum auditability
The permissive kernel has relaxed constraints while maintaining determinism.
| Setting | Value | Modifiable |
|---|---|---|
| fail_closed | true | Yes |
| require_jurisdiction | true | Yes |
| require_audit | true | Yes |
| max_intent_length | 8192 | Yes |
| allow_intent_only | true | Yes |
- Uses relaxed ambiguity detection
- Accepts intent-only requests (no tool_call)
- Higher intent length limits
- Default policy allows all actors and tools
- Development environments
- Low-risk operations
- Rapid prototyping
The evidence-first kernel requires evidence for all allowed operations.
| Setting | Value | Modifiable |
|---|---|---|
| fail_closed | true | No |
| require_jurisdiction | true | No |
| require_audit | true | No |
| max_intent_length | 4096 | Yes |
Every request MUST include the evidence field:
- evidence MUST be a non-empty string
- evidence MUST describe the justification for the request
- Denies requests without evidence field
- Denies requests with empty evidence
- Records evidence_hash in audit entries
- Emphasizes comprehensive audit trail
- Compliance-heavy environments
- Operations requiring justification
- Audit-focused systems
The dual-channel kernel requires both intent and structured constraints.
| Setting | Value | Modifiable |
|---|---|---|
| fail_closed | true | No |
| require_jurisdiction | true | No |
| require_audit | true | No |
| max_intent_length | 4096 | Yes |
Every request MUST include a constraints dict in params with:
| Key | Type | Required | Description |
|---|---|---|---|
| scope | string | Yes | Boundaries of the operation |
| non_goals | string | Yes | What the operation will NOT do |
| success_criteria | string | Yes | How success is measured |
- Denies requests without constraints dict
- Denies requests with missing constraint keys
- Denies requests with empty constraint values
- Produces richer audit entries with constraint context
- Complex operations requiring explicit boundaries
- Multi-stakeholder environments
- Operations with clear success criteria
| Feature | Strict | Permissive | Evidence-First | Dual-Channel |
|---|---|---|---|---|
| Fail-closed | Always | Default | Always | Always |
| Ambiguity detection | Strict | Relaxed | Strict | Strict |
| Intent-only requests | No | Yes | No | No |
| Evidence required | No | No | Yes | No |
| Constraints required | No | No | No | Yes |
| Max intent length | 4096 | 8192 | 4096 | 4096 |
A request valid for one variant may not be valid for another:
| Request Type | Strict | Permissive | Evidence-First | Dual-Channel |
|---|---|---|---|---|
| Basic with tool_call | Valid | Valid | Invalid* | Invalid** |
| Intent-only | Valid | Valid | Invalid* | Invalid** |
| With evidence | Valid | Valid | Valid | Invalid** |
| With constraints | Valid | Valid | Invalid* | Valid |
| With both | Valid | Valid | Valid | Valid |
* Requires evidence field
** Requires constraints dict
All variants produce compatible audit entries:
- Same schema
- Same hash algorithm
- Same chain structure
- Verifiable by same replay algorithm
Evidence bundles from all variants:
- Use same structure
- Are verifiable by same algorithm
- Include variant identifier for context
Custom variants MUST:
- Extend BaseKernel
- Implement Kernel protocol
- Satisfy all core invariants
- Document enforcement posture
- Include tests
Custom variants MAY override:
_is_strict_ambiguity()- ambiguity detection mode_check_variant_requirements()- additional request checksboot()- configuration enforcement
Custom variants MUST NOT:
- Modify state machine transitions
- Skip audit entry creation
- Allow implicit execution
- Bypass jurisdiction checks