Integrations¶
Obsidience is built from maintained upstream projects wherever one does the job well. Each adopted project sits behind one adapter that owns it: one module holds the connection, the lifecycle and the configuration, and the rest of Obsidience talks to that adapter rather than to the upstream project. This follows the Cordis principles in the Golden ontology: explicit contracts, cleanup paired with acquisition, one owner per concern, and the best available component recorded with its pin and license.
Every adopted component is recorded in
artifacts.lock.json
with its repository, pinned version or revision, license, local patches (with
preimage and result hashes where Obsidience patches installed files) and a
one-paragraph description of how it is integrated. The pages below explain
each integration in prose; the lock file is the authoritative record.
Where each integration sits¶
The product's Modules are its physical components: the Harness (agent
runtime and API), the Shell (desktop session and panes), Media (catalogue,
discovery, acquisition, playback and progress) and Home (lighting and physical
TV control). Each integration retains one owner; the Media TV delivery adapter
consumes Home's optional device interface. The existing source layout and
tv.control still compose those concerns; see Home.
flowchart TB
subgraph Harness["Harness Module"]
adk["Google ADK<br/>model and Tool loop"]
opt["Harness2 + AutoSaddler<br/>instruction improvement"]
mem["Hindsight port<br/>historical memory"]
okf["Open Knowledge Format<br/>Article files"]
voice["Voice stack<br/>Pipecat, NeMo, Pocket TTS"]
web["SearXNG client<br/>web search"]
graphs["Graph adapters<br/>Memory and Code views"]
end
subgraph Models["Model servers (local processes)"]
llama["llama.cpp<br/>Executive model and embeddings"]
hs["Hindsight API and worker<br/>PostgreSQL + pgvector"]
cbm["codebase-memory-mcp<br/>code index"]
end
subgraph Shell["Shell Module"]
qs["Quickshell host"]
hypr["Hyprland compositor"]
canvas["nodeterm<br/>agent canvas"]
end
subgraph MediaM["Media Module"]
jf["Jellyfin catalogue"]
tir["Tiramisu / TorBox + rclone"]
sun["TV delivery<br/>tuner / mpv / Sunshine"]
end
subgraph Home["Home Module"]
lamps["Matter controller"]
tv["Physical TV adapter<br/>power / volume / remote"]
end
adk --> llama
opt --> adk
mem --> hs
hs --> llama
graphs --> mem
graphs --> cbm
qs --> Harness
canvas --> qs
Harness --> jf
tir --> jf
jf --> sun
sun -->|"optional device route"| tv
Harness --> lamps
Harness --> tv
Pages¶
| Integration | Upstream | Role in Obsidience |
|---|---|---|
| Harness2 and AutoSaddler | Google Research, Microsoft | Improves Agent and Runbook instructions from real failures (incident, Audit, trials, Review) |
| Google ADK | The one model/Tool loop for the Executive and every specialist Task | |
| Hindsight | Vectorize | Per-Agent historical memory with recall, consolidation and mental models |
| Open Knowledge Format | Google Cloud | The file format of every Article |
| llama.cpp | ggml-org | Local model server for the Executive and the shared embedding model |
| Voice stack | Pipecat, NVIDIA NeMo, Kyutai, microWakeWord | Wake word, speech recognition, turn-taking and speech synthesis |
| Code graph | codebase-memory-mcp | The Code view of the graph pane and the agents' code index |
| Agent canvas | nodeterm | The Terminal pane's canvas of agent sessions |
| Media | Jellyfin, Tiramisu, rclone, Prowlarr, TorBox | Optional media catalogue and acquisition |
Smaller dependencies (Markdown parsing, HTML extraction, JSON Schema validation, SQLite, NVML, the 3D force layout and the desktop plumbing such as Hyprland, Quickshell, UWSM, Sunshine and Snapcast) are recorded in the lock file with their integration notes.
Upstream status (checked 2026-10-19)¶
Pins are deliberate: each was measured on the installation before it was selected. The table compares them with the upstream projects on the date above so that upgrades can be planned; "behind" is not by itself a defect.
| Component | Pinned | Upstream latest | Note |
|---|---|---|---|
| Google ADK | 2.11.0 | v2.12.0 (2026-10-13) | Minor release behind |
| LiteLLM (ADK rollback route only) | 1.101.0 | v1.106.0 (2026-10-18) | Critical advisory GHSA-7hp6-4w63-5g45 affects LiteLLM's Proxy server (fixed in 1.101.3); Obsidience imports only the SDK and only when adk_model_client = "litellm". Upgrade recommended |
| Hindsight | 0.10.3 | v1.0.0 (2026-10-13) | Major release behind; 1.0 includes an API access-control fix for tag-scoped callers and Codex stream fixes. Twelve local patches must be rebased |
| Pipecat | 0.0.98 (2025-12-17) | v1.13.0 (2026-10-19) | Far behind. Its published advisories concern the development runner, telephony WebSocket and LiveKit serializer, none of which Obsidience runs (local audio transport only) |
| NVIDIA NeMo Speech | b17490a (2026-08-26) | v3.0.0 / main | Local patch to rebase on upgrade |
| Pocket TTS | 9aa7a7f (3.3.0+) | same commit | Current |
| llama.cpp | b11509 (1167d3f, 2026-10-08) | 241 commits newer on master | Local tensor-split and slot series; rebuild needed to move |
| codebase-memory-mcp | 0.10.8 | v0.12.1 (2026-10-16) | Two minor releases behind |
| nodeterm | 0.4.0 | v0.4.4 (2026-10-17) | Patch releases behind |
| Harness2 | 1cfe254 | same commit (2026-10-14) | Current |
| AutoSaddler | 6a2b7a9 (0.2.0, 2026-09-13) | e841543 (2026-09-25) | A few commits behind |
| Jellyfin | 12.2.0 | v12.2 | Current; includes the 12.0 security fixes |
| Tiramisu | 1.11.4 (patched) | v1.11.8 (2026-10-17) | Local socket patch to rebase |
| SearXNG | 2026.10.7 image | rolling | Pinned by image digest |