🕹️ OMP and Hermes

The selected Deek integration uses the shipped ACP subagent backend for a fresh local child task. It is not a controller for already-running OMP/Hermes sessions, and it does not install a second orchestration or credential-sharing system.

Installed runtime and independent readiness

The published d495 owner/release record identifies an installed official OMP 18.10.4 Linux-x64 artifact at /opt/deek/app/agents/omp/omp, SHA-256 ff59fc1b484c1308a7247ad208305005627b3fac62b440737c2b1835ac32074e, and a separately initialized home at /var/lib/deek/agent-home/omp without imported grants. These are historical deployment references, not a newly inspected runtime or an established pxl rc.2-r14 path; /opt/deek/app was not inspected for this repair.

That record leaves Hermes blocked under the approved non-editable relocatable installation method and its provider/caller rows disabled. The packaging blocker below is retained; this documentation comparison did not launch or newly verify either child. Installed executable, configured child model, authorized inference, and successful delegated result are different prerequisites.

The same owner record describes a separate OMP OAuth holder for native subscription models, using a different DynamicUser and /var/lib/deek-oauth-d495. Subscription Provider Sign-in distinguishes its historical recovery references from ACP-child readiness. Native parent-model access does not authenticate the child, and no operator OMP/Hermes store was inspected or copied.

What each delegation actually does

flowchart LR
  B[Authenticated browser] --> D[Deek parent session]
  D --> N[Native Deek model route]
  D --> A[Shipped subagent ACP provider]
  A --> P[Fresh local child process]
  P --> S[Fresh ACP session and child model]
  S --> R[Final committed text or safe diagnostic]
  R --> D
  W[Selected real server workspace] --- D
  W --- P

The selected ACP backend performs:

  1. Resolve the configured cwd, or inherit the parent session’s resolved cwd.
  2. Spawn a fresh child process and perform ACP initialize and session/new.
  3. Send a standalone task. The child receives no parent conversation and uses its own native model, session, tools, and configuration.
  4. Auto-answer requested permissions according to the provider’s permission policy.
  5. Return only committed assistant text, a terminal outcome, and safe failure detail when appropriate. Intermediate reasoning, tool traffic, plans, and child history are not projected into the parent.
  6. Dispose the owned child: stdin EOF, bounded grace, then managed termination if needed. Teardown failures stay observable; no false claim that children exited.

Every delegation and retry is another process/session. A shared cwd is ordinary local filesystem access—not file transport, synchronization, locking, rollback, or remote workspace mapping. Partial file effects can survive an interrupted child; inspect before any deliberate retry.

Historical pinned launch contract

In the d495 owner/release record, the deek-omp-acp row invokes /opt/deek/releases/d495l-h2-v0.2.1-alpha.2/deploy/omp-acp with no arguments. That retained immutable wrapper pins its OMP binary/native assets and policy to the same release; it does not search the operator’s PATH. Its accepted homes are /var/lib/deek and /var/lib/deek-stage-d495, with a resolved cwd inside the corresponding workspace. This is not a current launch instruction for every owner or a verified pxl-r14 release mapping.

The wrapper requires a pre-created writable .omp/agent directory. It starts OMP through env -i with HOME=$DSH_HOME/agent-home/omp, PI_CODING_AGENT_DIR=$HOME/.omp/agent, the immutable PI_NATIVES_DIR, and native acp --config arguments. This child home is not the separate OAuth holder’s PI_CODING_AGENT_DIR.

That record describes the compiled Web command loading /opt/deek/app/deploy/agents.cordis.yml, OMP’s provider using permission: reject, and its delegate_omp caller naming maxDepth: provider-managed. It records no unsupported obsolete background setting and leaves the Hermes provider/caller disabled in the retained D-127 packaging context. This source comparison does not establish those paths or registration as active in another owner’s release.

Registration and an installed executable do not select a child model or authorize quota. A separately accepted child account and explicit user go are prerequisites for a live delegated inference test.

Native permission policy, not a tool-less workaround

The selected OMP approval contract explicitly covers ACP: native config overlays apply to ACP sessions, and approval requirements use the ACP client path. The prepared OMP policy uses:

tools:
  approvalMode: always-ask
retry:
  enabled: false
  modelFallback: false
  usageAwareFallback: false
  fallbackChains: {}
extensions: []
mcp:
  enableProjectConfig: false

OMP’s schema default is yolo, and retry.modelFallback defaults to true. The explicit always-ask and false fallback/retry settings are load-bearing, not a description of safe defaults.

always-ask still auto-approves the native read tier; write/exec operations require approval. Deek’s permission: reject rejects child permission requests automatically. It does not show the human an interactive per-tool consent dialog. Unsupported elicitation must fail closed, not silently allow effects.

  • Keep the native tools. Do not install a permanently tool-less wrapper and call it useful agent control.
  • Read access is still authority: tools may read available files and outbound destinations. Native approvals are not filesystem/network confinement; the systemd boundary and deliberately selected workspace still matter.
  • Do not set --yolo/--auto-approve or infer ACP behavior from a successful --help command. Observe the exact session configuration and reject behavior with a synthetic peer.
  • OMP project configuration can participate in resolution; keep the reviewed safety overlay authoritative and do not import executable project settings with history.
  • Hermes’ intended independent profile has fallback_providers: [] and no inherited MCP/extension configuration. Its native ACP permission path and final configuration still need proof after the installation blocker is resolved. No credentials or other providers are silently substituted.

Why Hermes is blocked

The selected setup.py deliberately rejects wheel/sdist creation outside a genuine Nix build. It explains that runtime assets otherwise depend on the supported Nix wrapper or source-checkout layout. The approved Deek method requires a non-editable, relocatable installation with no .pth, runtime symlink, or console-script shebang into a worktree, staging directory, or operator home.

The selected ACP guide confirms python -m acp_adapter as an entrypoint and --check readiness, but its editable-install recipe does not satisfy the approved release method. The selected dependency extra pins agent-client-protocol==0.9.0; Python requires >=3.11,<3.14. Meeting those versions does not remove the packaging guard.

Do not bypass the guard, falsely mark a non-Nix build as Nix, fall back to an editable checkout, point to the legacy wrapper, or install a different distribution method without a new explicit decision. No global host-toolchain or user-home mutation is part of this release.

Independent human sign-in

Use private page (sign-in required) only after a particular child passes the install/isolation/policy gates. The human signs in using that selected runtime’s native flow inside its dedicated service-owned profile. Native Deek OAuth does not authenticate either child. No token-copy task, direct auth-database edit, or operator-wallet mount is allowed. The dedicated model-route gateway is separate from the child profile.

Leave the model unselected until the human chooses an entitled authorized route. Record the exact selected model/config from the actual ACP session, not a help page. One later explicitly authorized disposable prompt per child may establish live inference; no automatic retry, fallback, or surprise quota spend is allowed.

Credential-free proof before any account request

ProofRequired result
Executable identityExact selected artifact exists at final immutable path; version/original build identity/hash match
Environment/cwdDedicated native home and approved real workspace, no operator-home lookup or inherited wallet
Native policyObserved config honors approval and no configured model fallback
ProtocolClean ACP stdout; real initialization or truthful missing-auth result
Synthetic permission requestReject produces no tool effect without needing a model
Cancellation/EOFOwned child exits; errors and teardown facts remain truthful
Deek integrationActual provider and supported caller registration, not only YAML presence
Sign-in/inferenceSeparately awaiting human authorization; Hermes cannot reach this gate while install-blocked

Existing-session or remote control is a different choice

NeedExisting component or research directionStatus for this release
One fresh local delegated taskShipped @deepseek-ai/dsh-subagent-acpSelected mechanism; proof/install gates above
View/steer an already-running OMP session in its owning interfaceOMP’s native collab protocolExists upstream; not mounted into Deek and no operator-session takeover performed
Continue an ACP session across callsA provider that explicitly advertises continuation and owns remote IDsNot a hidden mode of selected ACP; no new bridge built
Remote/multi-host controlSeparately reviewed control plugins in the private page (sign-in required)Static candidates only; no fleet controller installed or L1 host changed
Hermes messaging / remote surfacesOfficial Hermes integration documentationDifferent transport/identity/installation boundary; not configured here

Source-admitted existing control candidates

These 5 records come from the same canonical plugin ledger (SHA-256 0d232bf85117fe2053526b31714ac76fd52754756099a283bda9b6aecf78351b) as private page (sign-in required). They are source-only research alternatives, not installed components, accepted remote controllers, or permission to attach to existing operator sessions. A monitoring pane is not a controller; a local tmux surface is not OMP’s session protocol; a DSH-to-MCP bridge is not Hermes ACP.

CandidateActual source jobCompatibility and authority boundary
dsh-activity-pane · private page (sign-in required)Show running, waiting and recently finished sessions in one activity paneNo DSH peer ranges declared; absence is not compatibility evidence. Node >=20; recorded host 22.23.1 meets that range. API/Client/load/persistence behavior is not runtime-tested. Raw HTTP registration omits the required route kind in this source, and its storage-domain dependency pins0.1.0-rc.6. Native-auth and current route/service contracts must be fixed or proved; not a runtime-tested monitoring surface.
Authority: Host registers durable activity/ack storage and listens to session events.; Raw HTTP/SSE/ack routes read session status and persist acknowledgements; register object starts with path rather than kind.
Verdict: source-reviewed; not installed, Deek runtime untested
@aiwayds/dsh-subagent-registry · private page (sign-in required)Run named custom agents and follow up with durable background childrenDeclared DSH peer ranges admit 0.1.5-rc.2 under default prerelease semantics. Node >=22.19.0; recorded host 22.23.1 meets that range. API/Client/load/persistence behavior is not runtime-tested. Actual LICENSE is MIT. DSH peers explicitly admit rc.2. Source uses current subagents start/startContinuable/sendMessage APIs, but persistence/permissions/tools/inference were not exercised. Local DSH children are not pre-existing OMP/Hermes sessions or cross-host control.
Authority: Reads bundled skill content and registers roster/dispatch support.; Requires tools/subagents/agents/skills and registers dispatch/follow-up tools.; Can start a continuable child or a foreground subagent.; Sends a follow-up to an existing child via subagents.sendMessage.
Verdict: source-reviewed; not installed, Deek runtime untested
dsh-tmux-cc · private page (sign-in required)Mirror and control persistent local tmux panes inside DSH WebNo DSH peer ranges declared; absence is not compatibility evidence. Node >=22.6; recorded host 22.23.1 meets that range. API/Client/load/persistence behavior is not runtime-tested. Useful existing-session alternative only for tmux reachable by this service identity, not OMP session protocol or cross-host fleet control. Sends terminal input and launches configured layouts. Raw HTTP/WS trust and older dsh-settings dependency require deployment review; prepare runs a build.
Authority: Creates tmux runtime from configured binary/layouts and registers settings plus request/WS trust functions.; Runtime imports execFile and persistent tmux control machinery.; Spawns the tmux control process.
Verdict: source-reviewed; not installed, Deek runtime untested
hermes-dsh-bridge · private page (sign-in required)Expose DSH sessions, tools and agent tasks through an MCP serverNo DSH peer ranges declared; absence is not compatibility evidence. Node engine is not declared. API/Client/load/persistence behavior is not runtime-tested. GPL-3.0-only; NOTICE preserves upstream MIT portions. This is a real Cordis-hosted MCP server, not Hermes ACP and not a verified remote fleet controller. Bearer authentication is optional and defaults empty; configurable bind/authority and orphan reattachment make deployment security review mandatory.
Authority: Consumes agents/presets/workspace/session services and native filesystem access.; Creates/resumes DSH agents and mounts presets.; Starts MCP HTTP server; auth check runs only when authToken is nonempty.; Listens on configured address and attempts orphan-session reattachment.
Verdict: source-reviewed; not installed, Deek runtime untested
dsh-shell-command · private page (sign-in required)Run explicit shell commands and view a persistent terminal from WebAt least one declared DSH peer range does NOT admit 0.1.5-rc.2 under default prerelease semantics. Node >=22; recorded host 22.23.1 meets that range. API/Client/load/persistence behavior is not runtime-tested. Direct command/PTY authority and model follow-up. Requires node-pty/ws plus old DSH peer tuples; do not treat RPC entry as tool-approval isolation. Not persistent multi-host OMP control.
Authority: Declares connection/agents/webServer, terminal options and transcript directory.; Registers shell-bang RPC, resolves an agent cwd and runs the supplied command.
Verdict: source-reviewed; not installed, Deek runtime untested

Do not install these to work around the blocked release or to take over OMP/Hermes sessions on another host. Their permissions, native route trust, package closure, peer/Node requirements, reachable terminal/session ownership, and service-visible directories need separate approval and proof. The native Deek ACP design above still creates a fresh local process/session per delegation.

The older OMP Integration Cheat Sheet remains a proposal map for collab projection, persistent ACP, and memory; it is not evidence those phases shipped. No shared transcript authority, multi-user isolation, durable remote resume, or cross-host workspace synchronization is claimed.