[SUPERSEDED][AP0][MIGRATION] Bundle AgentProlog + harness in prolog-rlm and salvage prior Harness work #184

Closed
opened 2026-08-25 02:13:05 +00:00 by lost-rob0t · 7 comments
lost-rob0t commented 2026-08-25 02:13:05 +00:00 (Migrated from github.com)

Current architectural decision — 2026-08-27

This issue is the canonical migration track after the user correction in this thread.

lost-rob0t/prolog-rlm is the source repository for both the reusable runtime and the bundled reference AgentProlog/harness application. We are not maintaining a separate downstream AgentProlog product or a separate DeepSeek-Harness product track.

PR #132 is the current implementation base. The older PR #125 / official-DSH integration is a salvage source, not a branch or product architecture to revive.

Target repository boundary

lost-rob0t/prolog-rlm
├── prolog/                 reusable SWI-Prolog RLM runtime/library
├── agentProlog/            bundled application/config composition
├── harness/                bundled reference frontend/harnesses
├── tools/ / packs/         separately loadable concrete tool packages
└── flake.nix               library + application + harness outputs

Dependency direction remains strict:

harness -> agentProlog application facade -> public prolog-rlm APIs

Reusable prolog/ code must not import frontend/product code. Shipping everything from one repository does not mean collapsing the library/application boundary.

Superseded architecture

The following are no longer the target:

  • standalone lost-rob0t/agentProlog as the product owner;
  • prolog-rlm acting only as a downstream-consumed flake runtime;
  • #184 as an optional independent official DeepSeek Harness / AgentFactory product integration;
  • reviving PR #125 wholesale;
  • a DSH submodule/source checkout as a required runtime/build dependency;
  • a separate deepseek-harness.json settings authority;
  • a second provider, history, tool, authority, compaction, planning, recursion, or verification runtime.

Salvage from PR #125 / prior Harness work

Migrate useful semantics into the in-repo application/harness only when they still fit the canonical runtime boundary.

Prior work Action
persistent bridge/process lifecycle ideas SALVAGE where needed
explicit handshake/versioning SALVAGE
cancellation reaching canonical Prolog execution SALVAGE
bridge crash -> terminal structured failure SALVAGE
request/session correlation + duplicate suppression tests SALVAGE
focused harness CI / integration fixtures SALVAGE
upstream DSH submodule and full monorepo build DROP
custom DSH headless runner DROP
broad Cordis/profile disable patches DROP
private DeepSeek settings store DROP
Harness-owned provider/tool/history semantics DROP

Do not mechanically copy old files. Re-implement the useful contracts against current main and PR #132 APIs with TDD.

Canonical ownership

Prolog-RLM remains authoritative for:

  • providers/model calls and usage;
  • prompt/context compilation and permanent skills;
  • tools, capabilities, authority and durable effects;
  • conversations/history/memory;
  • planning, recursion/subagents and graph execution;
  • source/project KB, retrieval and freshness;
  • Spec/Plan/Verify/repair;
  • tracing and canonical status.

The bundled application/harness owns presentation, operator configuration, process adaptation and ergonomics only.

Current implementation base

PR #132 already moves the product/application back into this repository:

harness/deepseek_tui
        ↓
agentProlog/
        ↓
prolog/

Continue from that current-main recovery branch rather than PR #125.

Next implementation slice — TDD first

  1. Add a renderer-independent in-repo harness transport contract around the canonical AgentProlog/RLM execution path instead of treating one-shot CLI stdout as the final UI protocol.
  2. Prove request identity/correlation and exactly-once projection for a user turn/result.
  3. Add real cancellation propagation from harness -> canonical Prolog runtime.
  4. Add explicit bridge/process crash and protocol-version failure behavior.
  5. Preserve canonical runtime status/usage projection, including model, token input/output, and context occupancy/unknown.
  6. Keep the current simple TUI as a consumer of that contract; do not move semantics into Go/frontend code.
  7. Port only focused regression tests/CI concepts from #125 that prove these contracts.

Acceptance gate

  • one repository contains the reusable library, AgentProlog application and bundled harness;
  • clean prolog-rlm library/flake/SWI-pack consumption still works independently;
  • no separate downstream AgentProlog product is required;
  • no official DSH repo/submodule/build is required for the bundled harness;
  • one harness turn maps to one canonical Prolog-RLM execution trajectory;
  • cancellation reaches canonical runtime execution;
  • bridge/process failure is explicit and terminal, never fake success;
  • request/result correlation is deterministic and duplicate-safe;
  • config remains one canonical AgentProlog/Prolog configuration authority;
  • frontend code does not own providers/tools/history/planning/authority/verification;
  • useful PR #125 regression coverage is migrated without reviving its architecture;
  • focused + aggregate deterministic tests and Nix checks remain green;
  • live-provider lanes remain separately gated and do not weaken deterministic CI.
  • #141 is superseded because it encodes standalone downstream AgentProlog ownership.
  • #231's previous closing rationale is obsolete; useful generic runtime-status work remains valid, while this issue now owns the bundled-product/harness migration.
  • PR #132 is the active implementation base.

Do not reintroduce the superseded split in later issue/PR comments.

## Current architectural decision — 2026-08-27 This issue is the canonical migration track after the user correction in this thread. **`lost-rob0t/prolog-rlm` is the source repository for both the reusable runtime and the bundled reference AgentProlog/harness application. We are not maintaining a separate downstream AgentProlog product or a separate DeepSeek-Harness product track.** PR #132 is the current implementation base. The older PR #125 / official-DSH integration is a **salvage source**, not a branch or product architecture to revive. ## Target repository boundary ```text lost-rob0t/prolog-rlm ├── prolog/ reusable SWI-Prolog RLM runtime/library ├── agentProlog/ bundled application/config composition ├── harness/ bundled reference frontend/harnesses ├── tools/ / packs/ separately loadable concrete tool packages └── flake.nix library + application + harness outputs ``` Dependency direction remains strict: ```text harness -> agentProlog application facade -> public prolog-rlm APIs ``` Reusable `prolog/` code must not import frontend/product code. Shipping everything from one repository does **not** mean collapsing the library/application boundary. ## Superseded architecture The following are no longer the target: - standalone `lost-rob0t/agentProlog` as the product owner; - `prolog-rlm` acting only as a downstream-consumed flake runtime; - #184 as an optional independent official DeepSeek Harness / AgentFactory product integration; - reviving PR #125 wholesale; - a DSH submodule/source checkout as a required runtime/build dependency; - a separate `deepseek-harness.json` settings authority; - a second provider, history, tool, authority, compaction, planning, recursion, or verification runtime. ## Salvage from PR #125 / prior Harness work Migrate useful semantics into the in-repo application/harness only when they still fit the canonical runtime boundary. | Prior work | Action | |---|---| | persistent bridge/process lifecycle ideas | SALVAGE where needed | | explicit handshake/versioning | SALVAGE | | cancellation reaching canonical Prolog execution | SALVAGE | | bridge crash -> terminal structured failure | SALVAGE | | request/session correlation + duplicate suppression tests | SALVAGE | | focused harness CI / integration fixtures | SALVAGE | | upstream DSH submodule and full monorepo build | DROP | | custom DSH headless runner | DROP | | broad Cordis/profile disable patches | DROP | | private DeepSeek settings store | DROP | | Harness-owned provider/tool/history semantics | DROP | Do not mechanically copy old files. Re-implement the useful contracts against current `main` and PR #132 APIs with TDD. ## Canonical ownership Prolog-RLM remains authoritative for: - providers/model calls and usage; - prompt/context compilation and permanent skills; - tools, capabilities, authority and durable effects; - conversations/history/memory; - planning, recursion/subagents and graph execution; - source/project KB, retrieval and freshness; - Spec/Plan/Verify/repair; - tracing and canonical status. The bundled application/harness owns presentation, operator configuration, process adaptation and ergonomics only. ## Current implementation base PR #132 already moves the product/application back into this repository: ```text harness/deepseek_tui ↓ agentProlog/ ↓ prolog/ ``` Continue from that current-main recovery branch rather than PR #125. ## Next implementation slice — TDD first 1. Add a renderer-independent in-repo harness transport contract around the canonical AgentProlog/RLM execution path instead of treating one-shot CLI stdout as the final UI protocol. 2. Prove request identity/correlation and exactly-once projection for a user turn/result. 3. Add real cancellation propagation from harness -> canonical Prolog runtime. 4. Add explicit bridge/process crash and protocol-version failure behavior. 5. Preserve canonical runtime status/usage projection, including model, token input/output, and context occupancy/unknown. 6. Keep the current simple TUI as a consumer of that contract; do not move semantics into Go/frontend code. 7. Port only focused regression tests/CI concepts from #125 that prove these contracts. ## Acceptance gate - [ ] one repository contains the reusable library, AgentProlog application and bundled harness; - [ ] clean `prolog-rlm` library/flake/SWI-pack consumption still works independently; - [ ] no separate downstream AgentProlog product is required; - [ ] no official DSH repo/submodule/build is required for the bundled harness; - [ ] one harness turn maps to one canonical Prolog-RLM execution trajectory; - [ ] cancellation reaches canonical runtime execution; - [ ] bridge/process failure is explicit and terminal, never fake success; - [ ] request/result correlation is deterministic and duplicate-safe; - [ ] config remains one canonical AgentProlog/Prolog configuration authority; - [ ] frontend code does not own providers/tools/history/planning/authority/verification; - [ ] useful PR #125 regression coverage is migrated without reviving its architecture; - [ ] focused + aggregate deterministic tests and Nix checks remain green; - [ ] live-provider lanes remain separately gated and do not weaken deterministic CI. ## Related state cleanup - #141 is superseded because it encodes standalone downstream AgentProlog ownership. - #231's previous closing rationale is obsolete; useful generic runtime-status work remains valid, while this issue now owns the bundled-product/harness migration. - PR #132 is the active implementation base. Do not reintroduce the superseded split in later issue/PR comments.
lost-rob0t commented 2026-08-25 02:42:23 +00:00 (Migrated from github.com)

approved for design

approved for design
lost-rob0t commented 2026-08-25 03:10:33 +00:00 (Migrated from github.com)

Approval reconciliation

The design was explicitly approved by the user in this issue thread (approved for design). The title has been updated to [ADARD][APPROVED].

Implementation ordering is now:

  1. complete #186 repository cleanup and removal of legacy nested/product harnesses;
  2. then implement this approved plugin-only Harness architecture from the cleaned runtime boundary.

The old PR #125/fork-style Harness path is not the implementation base for this ADARD.

## Approval reconciliation The design was explicitly approved by the user in this issue thread (`approved for design`). The title has been updated to `[ADARD][APPROVED]`. Implementation ordering is now: 1. complete #186 repository cleanup and removal of legacy nested/product harnesses; 2. then implement this approved plugin-only Harness architecture from the cleaned runtime boundary. The old PR #125/fork-style Harness path is not the implementation base for this ADARD.
lost-rob0t commented 2026-08-25 04:50:58 +00:00 (Migrated from github.com)

Current workflow status

The ADARD design is approved by the user (see the existing approved for design comment). The stale pre-approval sentence in the original issue body is superseded by that approval and the current issue title.

Implementation ordering is now:

  1. land #186 / PR #187 and recheck the runtime-only main boundary;
  2. begin the approved #184 plugin-only Harness core from that clean base;
  3. return to a design gate only if implementation evidence requires changing an approved architectural boundary.

Do not revive #124 / PR #125 or a nested agentProlog/ harness as the implementation base.

## Current workflow status The ADARD design is **approved** by the user (see the existing `approved for design` comment). The stale pre-approval sentence in the original issue body is superseded by that approval and the current issue title. Implementation ordering is now: 1. land #186 / PR #187 and recheck the runtime-only `main` boundary; 2. begin the approved #184 plugin-only Harness core from that clean base; 3. return to a design gate only if implementation evidence requires changing an approved architectural boundary. Do not revive #124 / PR #125 or a nested `agentProlog/` harness as the implementation base.
lost-rob0t commented 2026-08-26 09:01:48 +00:00 (Migrated from github.com)

Architecture clarification approved in #231: DeepSeek Harness is the reference IDE/workspace renderer for the bundled prolog-rlm CLI, not the semantic agent runtime and not a separate AgentProlog product owner. Prolog-RLM keeps canonical ownership of context compilation/projection, provider/model calls, tools/capabilities/authority/effects, history/memory, recursion/subagents, project/source KB, retrieval, verification/repair, and usage/status. The DSH adapter should consume prolog_agent_ui_v1; if that protocol lacks required semantics, extend/version the protocol rather than importing runtime internals into DSH. Keep a one-shot prolog-rlm run "task" path alongside prolog-rlm ide .. Canonical status includes model + token input/output + context occupancy percent when known (ctx ? when capacity is unknown). #233 is the first TDD implementation slice.

Architecture clarification approved in #231: DeepSeek Harness is the **reference IDE/workspace renderer for the bundled `prolog-rlm` CLI**, not the semantic agent runtime and not a separate AgentProlog product owner. Prolog-RLM keeps canonical ownership of context compilation/projection, provider/model calls, tools/capabilities/authority/effects, history/memory, recursion/subagents, project/source KB, retrieval, verification/repair, and usage/status. The DSH adapter should consume `prolog_agent_ui_v1`; if that protocol lacks required semantics, extend/version the protocol rather than importing runtime internals into DSH. Keep a one-shot `prolog-rlm run "task"` path alongside `prolog-rlm ide .`. Canonical status includes model + token input/output + context occupancy percent when known (`ctx ?` when capacity is unknown). #233 is the first TDD implementation slice.
lost-rob0t commented 2026-08-27 13:55:07 +00:00 (Migrated from github.com)

Scope clarification — 2026-08-27

PR #132 now adds a small in-repo DeepSeek API harness with a Bubble Tea v2 TUI over the AgentProlog CLI. That does not silently implement or replace this issue's separate official DeepSeek Harness / AgentFactory-plugin integration design.

Current split:

  • #132: AgentProlog monorepo application layer + direct DeepSeek provider profile + Bubble Tea/Bubbles terminal frontend;
  • #184: optional future integration with the official deepseek-harness product/plugin architecture, if still wanted.

Both must route semantic execution through Prolog-RLM and neither may create a second settings/provider/authority runtime. Do not revive the old #125 nested Harness implementation as part of #132.

## Scope clarification — 2026-08-27 PR #132 now adds a **small in-repo DeepSeek API harness with a Bubble Tea v2 TUI** over the AgentProlog CLI. That does **not** silently implement or replace this issue's separate official DeepSeek Harness / AgentFactory-plugin integration design. Current split: - #132: AgentProlog monorepo application layer + direct DeepSeek provider profile + Bubble Tea/Bubbles terminal frontend; - #184: optional future integration with the official `deepseek-harness` product/plugin architecture, if still wanted. Both must route semantic execution through Prolog-RLM and neither may create a second settings/provider/authority runtime. Do not revive the old #125 nested Harness implementation as part of #132.
lost-rob0t commented 2026-08-27 13:57:20 +00:00 (Migrated from github.com)

No GPT, it does replace it because we're not gonna use that repo. Everything should be provided from here. It's so simple. I can't believe you can't see it. Of course. To harness work will need to be migrated back to it.

No GPT, it does replace it because we're not gonna use that repo. Everything should be provided from here. It's so simple. I can't believe you can't see it. Of course. To harness work will need to be migrated back to it.
nsaspy changed title from [AP0][MIGRATION] Bundle AgentProlog + harness in prolog-rlm and salvage prior Harness work to [SUPERSEDED][AP0][MIGRATION] Bundle AgentProlog + harness in prolog-rlm and salvage prior Harness work 2026-09-08 01:29:03 +00:00
Owner

Closing as outdated/superseded architecture. The canonical repository boundary is now #141: lost-rob0t/agentProlog owns the standalone product and prolog-rlm remains the reusable domain-neutral runtime. The bundled AgentProlog/harness ownership described here must not be reintroduced.

Closing as **outdated/superseded architecture**. The canonical repository boundary is now #141: `lost-rob0t/agentProlog` owns the standalone product and `prolog-rlm` remains the reusable domain-neutral runtime. The bundled AgentProlog/harness ownership described here must not be reintroduced.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/prolog-rlm#184
No description provided.