[CANONICAL] Standalone AgentProlog downstream product boundary #333

Open
opened 2026-09-02 17:25:38 +00:00 by nsaspy · 4 comments
Owner

Companion upstream boundary for lost-rob0t/agentProlog#1.

Canonical architecture — restored 2026-08-31

lost-rob0t/agentProlog is the AgentProlog product repository.

lost-rob0t/prolog-rlm is the reusable, domain-neutral SWI-Prolog RLM runtime/library consumed by AgentProlog. Product code does not move back into prolog-rlm.

lost-rob0t/agentProlog
  -> DeepSeek Harness / Cordis integration
  -> product configuration and UX
  -> headless coding workflow composition
  -> coding/project tool packs
  -> editor/front-end integrations
  -> public prolog-rlm APIs
  -> lost-rob0t/prolog-rlm

Dependency direction is strict: agentProlog -> prolog-rlm. Never the reverse.

Current repository truth

The old nested prolog-rlm/agentProlog/ product harness was removed on main by merged PR #187. The reusable renderer-independent prolog_agent_ui_v1 protocol/facade, fixtures, and conformance semantics were retained in core/test paths. That cleanup is the intended state.

The standalone product repository contains the current product-side work, including the persistent DSH/Prolog bridge substrate and the DSH AgentFactory implementation track (lost-rob0t/agentProlog#7, PR #8).

Ownership rule

Edit prolog-rlm only for missing or incorrect generic reusable runtime contracts: providers, prompt/context compilation, async/cancellation, agents/subagents, capability/authority/effects, managed conversations, Spec/Plan/Verify/repair, project/source knowledge primitives, MCP, tracing/usage, generic frontend protocol/facade behavior, and generic external-tool loader/runtime contracts.

Implement product-specific behavior in lost-rob0t/agentProlog: DSH/Cordis integration, AgentFactory, coding workflow composition, filesystem/Git/process/test packs, product config/defaults, frontend/editor UX, and product-specific skill/evolution integrations.

If AgentProlog exposes a missing generic seam, fix it upstream with a focused issue rather than duplicating runtime behavior downstream.

Frontend boundary

prolog_agent_ui_v1 remains generic core protocol infrastructure. AgentProlog/DSH consumes that public boundary. Frontends must not become a second provider, tool runtime, authority system, history owner, planner, context compiler, or verifier.

Current downstream authority

  • lost-rob0t/agentProlog#1 — product epic.
  • lost-rob0t/agentProlog#7 — DSH AgentFactory integration.
  • lost-rob0t/agentProlog PR #8 — current executable DSH AgentFactory slice.

Superseded decisions

Do not reintroduce:

  • AgentProlog product ownership inside prolog-rlm;
  • closed/unmerged prolog-rlm PR #132 as an implementation base;
  • the deleted nested product harness;
  • DSH-owned provider/tool/history/context/authority/planning/verification semantics;
  • a second generic runtime inside AgentProlog.

This issue is the upstream architectural authority for the repository boundary. Product implementation authority lives in lost-rob0t/agentProlog.

Companion upstream boundary for `lost-rob0t/agentProlog#1`. ## Canonical architecture — restored 2026-08-31 **`lost-rob0t/agentProlog` is the AgentProlog product repository.** `lost-rob0t/prolog-rlm` is the reusable, domain-neutral SWI-Prolog RLM runtime/library consumed by AgentProlog. Product code does not move back into `prolog-rlm`. ```text lost-rob0t/agentProlog -> DeepSeek Harness / Cordis integration -> product configuration and UX -> headless coding workflow composition -> coding/project tool packs -> editor/front-end integrations -> public prolog-rlm APIs -> lost-rob0t/prolog-rlm ``` Dependency direction is strict: `agentProlog -> prolog-rlm`. Never the reverse. ## Current repository truth The old nested `prolog-rlm/agentProlog/` product harness was removed on main by merged PR #187. The reusable renderer-independent `prolog_agent_ui_v1` protocol/facade, fixtures, and conformance semantics were retained in core/test paths. That cleanup is the intended state. The standalone product repository contains the current product-side work, including the persistent DSH/Prolog bridge substrate and the DSH AgentFactory implementation track (`lost-rob0t/agentProlog#7`, PR #8). ## Ownership rule Edit `prolog-rlm` only for missing or incorrect generic reusable runtime contracts: providers, prompt/context compilation, async/cancellation, agents/subagents, capability/authority/effects, managed conversations, Spec/Plan/Verify/repair, project/source knowledge primitives, MCP, tracing/usage, generic frontend protocol/facade behavior, and generic external-tool loader/runtime contracts. Implement product-specific behavior in `lost-rob0t/agentProlog`: DSH/Cordis integration, AgentFactory, coding workflow composition, filesystem/Git/process/test packs, product config/defaults, frontend/editor UX, and product-specific skill/evolution integrations. If AgentProlog exposes a missing generic seam, fix it upstream with a focused issue rather than duplicating runtime behavior downstream. ## Frontend boundary `prolog_agent_ui_v1` remains generic core protocol infrastructure. AgentProlog/DSH consumes that public boundary. Frontends must not become a second provider, tool runtime, authority system, history owner, planner, context compiler, or verifier. ## Current downstream authority - `lost-rob0t/agentProlog#1` — product epic. - `lost-rob0t/agentProlog#7` — DSH AgentFactory integration. - `lost-rob0t/agentProlog` PR #8 — current executable DSH AgentFactory slice. ## Superseded decisions Do not reintroduce: - AgentProlog product ownership inside `prolog-rlm`; - closed/unmerged `prolog-rlm` PR #132 as an implementation base; - the deleted nested product harness; - DSH-owned provider/tool/history/context/authority/planning/verification semantics; - a second generic runtime inside AgentProlog. This issue is the upstream architectural authority for the repository boundary. Product implementation authority lives in `lost-rob0t/agentProlog`.
Author
Owner

New research child: #142 defines the reusable evolutionary-search library side. The paired downstream AgentProlog work is lost-rob0t/agentProlog#2, implemented as a DeepSeek Harness/Cordis plugin with a thin Prolog bridge. Keep generic evolution mechanics here; keep DeepSeek/product glue downstream.

New research child: #142 defines the reusable evolutionary-search library side. The paired downstream AgentProlog work is lost-rob0t/agentProlog#2, implemented as a DeepSeek Harness/Cordis plugin with a thin Prolog bridge. Keep generic evolution mechanics here; keep DeepSeek/product glue downstream.
Author
Owner

Subagent/prompt audit on current main (f21df8ea5bf89c85d0d516f170e1f157c553d800) found a real generic-runtime gap and is now tracked as #144.

Executable truth: rlm_agent already supplies supervised spawn, capability/authority narrowing, bounded mailboxes/workers, cancellation propagation and traces; rlm_plan routes spawn_agent through the ordinary tool boundary; rlm_completion supplies bounded recursive model calls. But spawn_agent only yields a child handle, not a bounded RLM subagent result/evidence envelope, and there is no canonical unknown/unresolved -> delegate -> resume/replan path. Successful child result correlation is likewise not an end-to-end first-class fallback contract.

Prompt compiler truth: the substantial compiler is still on diverged agent/prompt-context-compiler (18 ahead / 14 behind current main). It already has bounded deterministic capability/context selection, but no typed KB short-prompt -> loop-command binding that resolves unknown -> delegate to the RLM subagent tool. #144 scopes the smallest coherent upstream slice and explicitly avoids #122/#125/#132 surfaces and any AgentProlog-specific TypeScript behavior.

Subagent/prompt audit on current `main` (`f21df8ea5bf89c85d0d516f170e1f157c553d800`) found a real generic-runtime gap and is now tracked as #144. Executable truth: `rlm_agent` already supplies supervised spawn, capability/authority narrowing, bounded mailboxes/workers, cancellation propagation and traces; `rlm_plan` routes `spawn_agent` through the ordinary tool boundary; `rlm_completion` supplies bounded recursive model calls. But `spawn_agent` only yields a child handle, not a bounded RLM subagent result/evidence envelope, and there is no canonical unknown/unresolved -> delegate -> resume/replan path. Successful child result correlation is likewise not an end-to-end first-class fallback contract. Prompt compiler truth: the substantial compiler is still on diverged `agent/prompt-context-compiler` (18 ahead / 14 behind current main). It already has bounded deterministic capability/context selection, but no typed KB short-prompt -> loop-command binding that resolves `unknown -> delegate` to the RLM subagent tool. #144 scopes the smallest coherent upstream slice and explicitly avoids #122/#125/#132 surfaces and any AgentProlog-specific TypeScript behavior.
Author
Owner

OLD HARNESS REMOVAL GATE — LIFTED

The user has now explicitly authorized cleaning the repository first by removing the old harnesses.

This supersedes the previous DO NOT REMOVE prolog-rlm/agentProlog/ yet gate in this issue.

Cleanup is tracked in #186. The required behavior is:

  • remove the obsolete nested/product harness from prolog-rlm;
  • preserve or relocate genuinely reusable runtime/protocol pieces before deletion;
  • keep prolog-rlm runtime-only and downstream-consumable;
  • retire the old DeepSeek Harness implementation direction before starting #184.

No future worker should treat the old removal gate as active.

## OLD HARNESS REMOVAL GATE — LIFTED The user has now explicitly authorized cleaning the repository first by removing the old harnesses. This supersedes the previous `DO NOT REMOVE prolog-rlm/agentProlog/ yet` gate in this issue. Cleanup is tracked in #186. The required behavior is: - remove the obsolete nested/product harness from `prolog-rlm`; - preserve or relocate genuinely reusable runtime/protocol pieces before deletion; - keep `prolog-rlm` runtime-only and downstream-consumable; - retire the old DeepSeek Harness implementation direction before starting #184. No future worker should treat the old removal gate as active.
Author
Owner

Architecture update — 2026-08-27

The current operator direction supersedes the earlier standalone-product repository boundary in this issue.

AgentProlog now belongs in the prolog-rlm repository as a separately packaged application layer while prolog/ remains an independently consumable library.

Canonical dependency direction:

harness/* -> agentProlog/* -> public prolog-rlm APIs in prolog/*

Rules:

  • packages.default stays the reusable prolog-rlm library;
  • no AgentProlog or TUI imports flow back into prolog/;
  • application/frontends do not become alternate provider, planner, authority, effect, or verification runtimes;
  • the old nested harness removed by #186 stays removed; this is a clean current-main application layer, not restoration of that code;
  • PR #132 is the recovery transaction implementing this boundary, including the AgentProlog CLI and an in-repo DeepSeek TUI harness.

Treat earlier “standalone lost-rob0t/agentProlog only” prose as historical, not the current repository boundary.

## Architecture update — 2026-08-27 The current operator direction supersedes the earlier standalone-product repository boundary in this issue. **AgentProlog now belongs in the `prolog-rlm` repository as a separately packaged application layer while `prolog/` remains an independently consumable library.** Canonical dependency direction: ```text harness/* -> agentProlog/* -> public prolog-rlm APIs in prolog/* ``` Rules: - `packages.default` stays the reusable `prolog-rlm` library; - no AgentProlog or TUI imports flow back into `prolog/`; - application/frontends do not become alternate provider, planner, authority, effect, or verification runtimes; - the old nested harness removed by #186 stays removed; this is a clean current-main application layer, not restoration of that code; - PR #132 is the recovery transaction implementing this boundary, including the AgentProlog CLI and an in-repo DeepSeek TUI harness. Treat earlier “standalone `lost-rob0t/agentProlog` only” prose as historical, not the current repository boundary.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#333
No description provided.