[EPIC] Build standalone AgentProlog on prolog-rlm #12

Open
opened 2026-09-02 17:24:18 +00:00 by nsaspy · 7 comments
Owner

Mission

Build lost-rob0t/agentProlog as the canonical AgentProlog coding-agent product on top of the reusable lost-rob0t/prolog-rlm runtime.

Canonical repository boundary — 2026-08-31

lost-rob0t/agentProlog
  ├── DeepSeek Harness / Cordis product integration
  ├── AgentFactory / frontend adapters
  ├── product configuration and defaults
  ├── headless coding workflow composition
  ├── filesystem / Git / process / test tool packs
  ├── DSH/TUI/editor UX
  ├── product-specific skill refinery/evolution features
  └── consumes public prolog-rlm APIs
          |
          v
lost-rob0t/prolog-rlm
  └── reusable domain-neutral RLM runtime/library

Dependency direction is strictly agentProlog -> prolog-rlm.

The upstream architectural authority is lost-rob0t/prolog-rlm#141. The previous in-repo product decision in prolog-rlm#184 is superseded; #184 is now closed as moved downstream.

Current repository truth

  • agentProlog is the product repository.
  • PR #3 merged the persistent DSH/Prolog bridge substrate.
  • PR #4 merged the standalone Nix/flake packaging baseline.
  • Issue #7 owns the current DeepSeek Harness AgentFactory integration.
  • PR #8 is the active executable AgentFactory slice.
  • The old nested prolog-rlm/agentProlog/ product harness was already removed upstream by merged prolog-rlm#187; do not plan around restoring it.
  • Generic prolog_agent_ui_v1 protocol/facade semantics remain upstream in prolog-rlm and should be consumed rather than forked.

Product responsibilities

AgentProlog owns:

  • DeepSeek Harness/Cordis integration;
  • product AgentFactory and frontend/session adaptation;
  • coding/project tool packs;
  • product-level configuration/defaults;
  • headless coding workflow composition;
  • DSH/TUI/editor integrations;
  • project UX, diffs, approvals, tests and final result presentation;
  • product-specific skill observation/refinery/evolution integrations.

Upstream responsibilities

Use/fix prolog-rlm for generic reusable behavior only:

  • providers/model calls;
  • direct/symbolic RLM primitives;
  • prompt/context compilation;
  • async/Futures/cancellation;
  • agents/subagents;
  • capability/authority/durable effects;
  • conversations/history/context primitives;
  • Spec/Plan/Verify/repair;
  • graphs/artifacts/traces/usage;
  • MCP;
  • generic project/source knowledge;
  • generic frontend protocol/facade contracts;
  • generic external tool-pack runtime/loader contracts.

When AgentProlog needs a missing generic runtime seam, open a focused upstream issue instead of duplicating it downstream.

DSH direction

Use official DeepSeek Harness as the workspace/presentation shell through an out-of-tree AgentProlog integration. DSH must not own a second provider, context compiler, tool runtime, history authority, planner, verifier, capability system, or effect ledger.

Current implementation track: #7 / PR #8.

Coding-agent target

One authoritative product workflow should eventually cover:

operator requirement
-> normalize / validate / freeze Spec
-> inspect project + instructions + source state
-> plan/direct execution through prolog-rlm
-> bounded coding tools
-> refresh/re-index project observations
-> verify exact Frozen Spec
-> repair/replan without weakening Spec
-> structured completion with diff/tests/evidence/usage/trace

The same workflow should serve headless mode and interactive frontends.

Near-term priorities

  1. Finish #7 / PR #8 DSH AgentFactory integration and official headless smoke.
  2. Keep the Prolog sidecar/runtime boundary persistent, cancellable and fail-closed.
  3. Build the safe coding tool packs: search/read/write/patch, Git, tests, bounded process execution.
  4. Compose the real headless inspect/edit/re-index/verify loop.
  5. Consume project-KB/indexing improvements from upstream as they land.
  6. Dogfood AgentProlog on prolog-rlm and AgentProlog itself.

Non-goals

  • no nested AgentProlog product inside prolog-rlm;
  • no copied/forked generic runtime;
  • no second scheduler/authority/effect/verifier stack;
  • no arbitrary ambient shell as the coding tool model;
  • no frontend-owned reconstruction of canonical runtime state from pretty logs.

This issue is the canonical AgentProlog product epic.

## Mission Build `lost-rob0t/agentProlog` as the canonical AgentProlog coding-agent product on top of the reusable `lost-rob0t/prolog-rlm` runtime. ## Canonical repository boundary — 2026-08-31 ```text lost-rob0t/agentProlog ├── DeepSeek Harness / Cordis product integration ├── AgentFactory / frontend adapters ├── product configuration and defaults ├── headless coding workflow composition ├── filesystem / Git / process / test tool packs ├── DSH/TUI/editor UX ├── product-specific skill refinery/evolution features └── consumes public prolog-rlm APIs | v lost-rob0t/prolog-rlm └── reusable domain-neutral RLM runtime/library ``` Dependency direction is strictly `agentProlog -> prolog-rlm`. The upstream architectural authority is `lost-rob0t/prolog-rlm#141`. The previous in-repo product decision in `prolog-rlm#184` is superseded; #184 is now closed as moved downstream. ## Current repository truth - `agentProlog` is the product repository. - PR #3 merged the persistent DSH/Prolog bridge substrate. - PR #4 merged the standalone Nix/flake packaging baseline. - Issue #7 owns the current DeepSeek Harness AgentFactory integration. - PR #8 is the active executable AgentFactory slice. - The old nested `prolog-rlm/agentProlog/` product harness was already removed upstream by merged `prolog-rlm#187`; do not plan around restoring it. - Generic `prolog_agent_ui_v1` protocol/facade semantics remain upstream in `prolog-rlm` and should be consumed rather than forked. ## Product responsibilities AgentProlog owns: - DeepSeek Harness/Cordis integration; - product AgentFactory and frontend/session adaptation; - coding/project tool packs; - product-level configuration/defaults; - headless coding workflow composition; - DSH/TUI/editor integrations; - project UX, diffs, approvals, tests and final result presentation; - product-specific skill observation/refinery/evolution integrations. ## Upstream responsibilities Use/fix `prolog-rlm` for generic reusable behavior only: - providers/model calls; - direct/symbolic RLM primitives; - prompt/context compilation; - async/Futures/cancellation; - agents/subagents; - capability/authority/durable effects; - conversations/history/context primitives; - Spec/Plan/Verify/repair; - graphs/artifacts/traces/usage; - MCP; - generic project/source knowledge; - generic frontend protocol/facade contracts; - generic external tool-pack runtime/loader contracts. When AgentProlog needs a missing generic runtime seam, open a focused upstream issue instead of duplicating it downstream. ## DSH direction Use official DeepSeek Harness as the workspace/presentation shell through an out-of-tree AgentProlog integration. DSH must not own a second provider, context compiler, tool runtime, history authority, planner, verifier, capability system, or effect ledger. Current implementation track: #7 / PR #8. ## Coding-agent target One authoritative product workflow should eventually cover: ```text operator requirement -> normalize / validate / freeze Spec -> inspect project + instructions + source state -> plan/direct execution through prolog-rlm -> bounded coding tools -> refresh/re-index project observations -> verify exact Frozen Spec -> repair/replan without weakening Spec -> structured completion with diff/tests/evidence/usage/trace ``` The same workflow should serve headless mode and interactive frontends. ## Near-term priorities 1. Finish #7 / PR #8 DSH AgentFactory integration and official headless smoke. 2. Keep the Prolog sidecar/runtime boundary persistent, cancellable and fail-closed. 3. Build the safe coding tool packs: search/read/write/patch, Git, tests, bounded process execution. 4. Compose the real headless inspect/edit/re-index/verify loop. 5. Consume project-KB/indexing improvements from upstream as they land. 6. Dogfood AgentProlog on `prolog-rlm` and AgentProlog itself. ## Non-goals - no nested AgentProlog product inside `prolog-rlm`; - no copied/forked generic runtime; - no second scheduler/authority/effect/verifier stack; - no arbitrary ambient shell as the coding tool model; - no frontend-owned reconstruction of canonical runtime state from pretty logs. This issue is the canonical AgentProlog product epic.
Author
Owner

Companion upstream runtime epic: lost-rob0t/prolog-rlm#141. When this loop encounters a missing generic runtime contract, work/cross-link #141 rather than implementing a downstream duplicate. prolog-rlm is the flake/SWI-pack dependency; rlm_tool_loader is only for concrete tool packs; config.prolog is configuration/customization, not package embedding.

Companion upstream runtime epic: lost-rob0t/prolog-rlm#141. When this loop encounters a missing generic runtime contract, work/cross-link #141 rather than implementing a downstream duplicate. `prolog-rlm` is the flake/SWI-pack dependency; `rlm_tool_loader` is only for concrete tool packs; `config.prolog` is configuration/customization, not package embedding.
Author
Owner

New deferred research child: #2 defines an AgentProlog DeepSeek Harness/Cordis evolutionary plugin with thin TypeScript↔Prolog glue. Generic evolutionary-search mechanics live in companion lost-rob0t/prolog-rlm#142 as a reusable library usable with RLM. This is IDEA/WAIT research, not active migration scope yet.

New deferred research child: #2 defines an AgentProlog DeepSeek Harness/Cordis evolutionary plugin with thin TypeScript↔Prolog glue. Generic evolutionary-search mechanics live in companion lost-rob0t/prolog-rlm#142 as a reusable library usable with RLM. This is IDEA/WAIT research, not active migration scope yet.
Author
Owner

Worker A progress: opened #4 for the first standalone flake-native packaging slice. It consumes prolog-rlm strictly as a flake/SWI runtime dependency, adds package/app/devShell/check outputs plus CI, and records an ownership-first migration matrix. The branch deliberately does not vendor/copy core or touch the legacy nested harness. Current blocker is upstream and concrete: prolog-rlm/main has pack.pl but no flake.nix/packages.${system}.default, so #4 stays draft until #141 lands that public package output and exact-head CI can go green. Upstream #144 separately owns the first-class subagent + terse-KB command binding, so this worker did not duplicate it downstream.

Worker A progress: opened #4 for the first standalone flake-native packaging slice. It consumes `prolog-rlm` strictly as a flake/SWI runtime dependency, adds package/app/devShell/check outputs plus CI, and records an ownership-first migration matrix. The branch deliberately does not vendor/copy core or touch the legacy nested harness. Current blocker is upstream and concrete: `prolog-rlm/main` has `pack.pl` but no `flake.nix`/`packages.${system}.default`, so #4 stays draft until #141 lands that public package output and exact-head CI can go green. Upstream #144 separately owns the first-class subagent + terse-KB command binding, so this worker did not duplicate it downstream.
Author
Owner

Upstream packaging is now active in prolog-rlm PR #145. It exposes the expected packages.${system}.default/prolog-rlm outputs, packages the existing SWI pack, adds SWIPL_PACK_PATH integration, and verifies library(rlm) from outside the checkout. Keep AgentProlog PR #4 draft until #145's exact-head Nix + core CI are green and the upstream flake is locked; then refresh the downstream lock and re-run its clean runtime-load/app checks. #144 remains separately owned by the subagent/prompt worker.

Upstream packaging is now active in `prolog-rlm` PR #145. It exposes the expected `packages.${system}.default`/`prolog-rlm` outputs, packages the existing SWI pack, adds `SWIPL_PACK_PATH` integration, and verifies `library(rlm)` from outside the checkout. Keep AgentProlog PR #4 draft until #145's exact-head Nix + core CI are green and the upstream flake is locked; then refresh the downstream lock and re-run its clean runtime-load/app checks. #144 remains separately owned by the subagent/prompt worker.
Author
Owner

Hey GPT-5.6 here. Worker A recovery completed: PR #4 is now exact-head green on CI at 2eea5335bc8a8089bda70d81f021c5cd2f2ee1d6, mergeable, and had zero unresolved review threads. The downstream load defect was repaired by using upstream's packaged prolog-rlm-swipl wrapper so SWIPL_PACK_PATH reaches SWI outside the checkout. I promoted #4 and squash-merged it with expected-head protection as 57496fb224712e9ab722be39f4892cda1199e36a.

Standalone AgentProlog now has the merged flake-native package/app/devShell/check baseline consuming merged Prolog-RLM rather than copied core. Next non-conflicting #1 slice is the headless Spec -> Plan -> Execute -> Verify/public-runtime conformance path plus migration of reusable protocol/workflow fixtures; upstream owns unresolved->subagent delegation semantics and downstream must only consume/render that public contract.

Hey GPT-5.6 here. Worker A recovery completed: PR #4 is now exact-head green on CI at `2eea5335bc8a8089bda70d81f021c5cd2f2ee1d6`, mergeable, and had zero unresolved review threads. The downstream load defect was repaired by using upstream's packaged `prolog-rlm-swipl` wrapper so `SWIPL_PACK_PATH` reaches SWI outside the checkout. I promoted #4 and squash-merged it with expected-head protection as `57496fb224712e9ab722be39f4892cda1199e36a`. Standalone AgentProlog now has the merged flake-native package/app/devShell/check baseline consuming merged Prolog-RLM rather than copied core. Next non-conflicting #1 slice is the headless Spec -> Plan -> Execute -> Verify/public-runtime conformance path plus migration of reusable protocol/workflow fixtures; upstream owns unresolved->subagent delegation semantics and downstream must only consume/render that public contract.
Author
Owner

Hey GPT-5.6 here. Worker A continued immediately after merged #4 and opened draft #5 for the headless public-runtime conformance slice. It adds a thin downstream agentprolog_headless composition over upstream rlm_spec + rlm_spec_workflow, preserving Frozen Spec identity through Plan/Execute/Verify and adding a negative check that failed verification is not reported as passed. The new conformance is wired into nix flake check through the packaged upstream SWI wrapper. No scheduler/authority/effect/verifier/subagent logic was duplicated downstream, and the legacy nested harness remains untouched. Exact-head CI has not appeared yet, so #5 remains draft pending real green evidence.

Hey GPT-5.6 here. Worker A continued immediately after merged #4 and opened draft #5 for the headless public-runtime conformance slice. It adds a thin downstream `agentprolog_headless` composition over upstream `rlm_spec` + `rlm_spec_workflow`, preserving Frozen Spec identity through Plan/Execute/Verify and adding a negative check that failed verification is not reported as passed. The new conformance is wired into `nix flake check` through the packaged upstream SWI wrapper. No scheduler/authority/effect/verifier/subagent logic was duplicated downstream, and the legacy nested harness remains untouched. Exact-head CI has not appeared yet, so #5 remains draft pending real green evidence.
Author
Owner

New frontend/platform epic: #undefined — AgentProlog Workbench adds a full desktop UI, shared Android port, and safe Termux-backed local runtime while preserving the canonical agentProlog -> prolog-rlm boundary and prolog_agent_ui_v1 authority.

New frontend/platform epic: #undefined — AgentProlog Workbench adds a full desktop UI, shared Android port, and safe Termux-backed local runtime while preserving the canonical `agentProlog -> prolog-rlm` boundary and `prolog_agent_ui_v1` authority.
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/agentProlog#12
No description provided.