Bootstrap DeepSeek Harness bridge substrate for #184 #3

Merged
lost-rob0t merged 18 commits from agent/issue-2-deepseek-plugin-design into main 2026-08-25 05:14:54 +00:00
lost-rob0t commented 2026-08-21 06:29:13 +00:00 (Migrated from github.com)

Downstream transport/lifecycle substrate for lost-rob0t/prolog-rlm#184, also usable by #2. This is not the completed AgentFactory integration.

What this PR owns

  • versioned, allow-listed NDJSON request/response/event framing;
  • persistent SWI-Prolog sidecar transport spawned with shell: false;
  • runtime.describe negotiation before service publication;
  • request/session correlation and duplicate pending-request rejection;
  • monotonic runtime-event sequencing;
  • malformed-frame/disconnect/spawn failure handling;
  • bounded unload/dispose and outstanding-work rejection;
  • Cordis-facing bridge-service lifecycle wrapper;
  • fail-closed Harness compatibility identity.

Approved Harness compatibility target

Pinned to the #184 target:

  • DeepSeek Harness 0.1.1-rc.2;
  • tag dsh-v0.1.1-rc.2;
  • commit b150a551b8d465e31e418e1b2eaf5e79bbb7d28e;
  • Node ^22.19.0 || >=24.0.0.

The compatibility test asserts these literal values. Harness developer-preview drift is a deliberate compatibility change, never an implicit upgrade.

Explicit non-goals

This PR does not yet:

  • implement or register the DSH AgentFactory;
  • replace the stock agent-loop profile row;
  • implement a custom headless runner;
  • patch or vendor DeepSeek Harness source;
  • own provider/tool/subagent/authority/effect semantics in TypeScript;
  • introduce a private Harness settings authority;
  • claim #184 acceptance.

The next #184 slice consumes this bridge and registers one out-of-tree Prolog-backed AgentFactory against the official DSH Web/headless profiles. Stock agent-loop must be absent from that profile so ctx.agents.setFactory has exactly one owner.

Evolution-specific experiment.* operations remain capability-gated and are not part of the #184 core turn path.

Verification gate

Keep draft until the updated exact head is green in the bridge and repository CI lanes. After that this substrate can land on current standalone AgentProlog main, then the AgentFactory slice starts from the merged base.

Refs lost-rob0t/prolog-rlm#184, #1, #2

Downstream transport/lifecycle substrate for `lost-rob0t/prolog-rlm#184`, also usable by #2. This is **not** the completed AgentFactory integration. ## What this PR owns - versioned, allow-listed NDJSON request/response/event framing; - persistent SWI-Prolog sidecar transport spawned with `shell: false`; - `runtime.describe` negotiation before service publication; - request/session correlation and duplicate pending-request rejection; - monotonic runtime-event sequencing; - malformed-frame/disconnect/spawn failure handling; - bounded unload/dispose and outstanding-work rejection; - Cordis-facing bridge-service lifecycle wrapper; - fail-closed Harness compatibility identity. ## Approved Harness compatibility target Pinned to the #184 target: - DeepSeek Harness `0.1.1-rc.2`; - tag `dsh-v0.1.1-rc.2`; - commit `b150a551b8d465e31e418e1b2eaf5e79bbb7d28e`; - Node `^22.19.0 || >=24.0.0`. The compatibility test asserts these literal values. Harness developer-preview drift is a deliberate compatibility change, never an implicit upgrade. ## Explicit non-goals This PR does **not** yet: - implement or register the DSH `AgentFactory`; - replace the stock `agent-loop` profile row; - implement a custom headless runner; - patch or vendor DeepSeek Harness source; - own provider/tool/subagent/authority/effect semantics in TypeScript; - introduce a private Harness settings authority; - claim #184 acceptance. The next #184 slice consumes this bridge and registers one out-of-tree Prolog-backed AgentFactory against the official DSH Web/headless profiles. Stock `agent-loop` must be absent from that profile so `ctx.agents.setFactory` has exactly one owner. Evolution-specific `experiment.*` operations remain capability-gated and are not part of the #184 core turn path. ## Verification gate Keep draft until the updated exact head is green in the bridge and repository CI lanes. After that this substrate can land on current standalone AgentProlog `main`, then the AgentFactory slice starts from the merged base. Refs lost-rob0t/prolog-rlm#184, #1, #2
Sign in to join this conversation.
No description provided.