Ontology · domain 4

Capability — the extension layer

The domain imports nothing outward. Enforced by the import-linter fitness gate (the 5th gate). Ports are pure Protocols + DTOs; adapters are the only …

8 objects · 0 links · 4 actions
Objects · every one cites its backing source
Skill
agent_skills (:1224), agent_skill_bindings (:1205); marketplace spec kaidera-skills/spec/SKILL_FORMAT.md
YAML security manifest (legacy engenai.* key namespace, pending identifier migration): category, trust_tier (unconstrained text, DEFAULT standard; marketplace tiers official/verified_partner/community_vetted/unvetted are spec-level, not enforced in the local table), risk_level, capabilities_required, allowed_domains, content_hash, signed_by; 4-gate vetting (lint → security-scan → sandbox-test → human review with Cosign signing + SLSA provenance); marketplace.json registry
Rule
rules (:2408)
rule_slug, title, body, version, status ∈ {active, deprecated, draft}
Port
app/domain/*.py Protocols
7 SDK ports: RunStatePort, LLMPort, CortexMemoryPort, OperationalStorePort, ModelCatalogPort, BillingPort, HarnessPort
Adapter
app/adapters/*.py
thin wrappers over concrete code; graceful-degrade house law
Harness
app/harness.py, app/harness_runner.py, app/terminal_stream/
every lane is a LOCAL child process of the native console with a real PTY (terminal-first). Support tiers (CTO R5, 2026-09-02): openkai — primary, first-party, installed on the appliance by the installer at a pinned release; omp — installed and supported until OpenKai is mature (pi = substrate/rollback); claude-code, codex — optional, customer-installed, supported when present locally. No harness runs inside a container; the former kaidera in-process lane is extracted to Kaidera-AI/kaidera-harness (tasklist H3)
Model
provider catalog (app/providers.py)
UnifiedModel schema: provider, context_window, reasoning_levels[], per-Mtok pricing, source ∈ {live, supplement, merged}
Provider
System config (app-DB)
7 built-in + custom (+ Add Provider); OpenRouter public catalog as supplement source
ReasoningContract
catalog metadata
[] no reasoning · ["supported"] binary · full ladder; runtime validates before every request
Actions
ActionSurface
Install / bind skillcortex-skill; bindings scoped to role/agent
Spawn agentorchestrator → harness child process on the appliance host (the same on the macOS dev box); PTY-attached for the terminal surface
Configure agentper-agent harness/model/reasoning in app-DB
Coerce locked harness_chat_routing_for runtime backstop (the teeth)
← 3. Coordination — the kinetic layer5. Commerce — two systems, one law →