[P0] Remove legacy nested harnesses and leave prolog-rlm runtime-only #186

Closed
opened 2026-08-25 03:10:13 +00:00 by lost-rob0t · 2 comments
lost-rob0t commented 2026-08-25 03:10:13 +00:00 (Migrated from github.com)

Parent/related: #141, #184, #124, PR #125

Goal

Clean prolog-rlm back to a domain-neutral reusable runtime before implementing the approved plugin-only DeepSeek Harness architecture.

The user has explicitly authorized removal of the old harnesses. The prior #141 OLD HARNESS REMOVAL GATE is therefore lifted.

Required end state

prolog-rlm contains reusable runtime/library code only. Product/frontend harnesses live downstream.

standalone AgentProlog / a0-symbolics / DeepSeek Harness plugin / other frontends
                         |
                         v
                    prolog-rlm
               reusable runtime APIs

a0-symbolics is one downstream frontend/consumer, not the owner or replacement for the code-harness product.

Remove / retire

  1. Retire the obsolete nested agentProlog/ product harness from this repository.
  2. Retire the old DeepSeek Harness implementation direction in PR #125 and issue #124; #184 is the approved architecture authority.
  3. Remove old product-specific CLI/TUI/UI fixtures, launchers, product settings ownership, duplicated provider/control loops, and harness-specific build plumbing from prolog-rlm.
  4. Remove stale documentation/tests/CI that only validate deleted harness implementations.
  5. Remove any private Harness settings/runtime path that competes with canonical Prolog-RLM/AgentProlog configuration.

Preserve / relocate before deletion

Do not delete reusable generic runtime contracts merely because they currently live under agentProlog/.

Audit and relocate any genuinely generic pieces first, especially the renderer-independent protocol/facade semantics currently represented by:

  • agentProlog/prolog/prolog_agent_ui_v1.pl
  • agentProlog/prolog/prolog_agent_ui_facade.pl
  • protocol fixtures that are still useful as generic conformance tests

If these remain generic, move/rename them into normal core prolog/, test/, and docs/ locations with domain-neutral names. If they are product-specific, move them downstream instead.

Invariants

  • no deletion of generic authority/effect/async/provider/graph/agent/conversation/project/SPEC/VERIFY APIs;
  • no loss of reusable frontend protocol semantics without an explicit replacement;
  • no dependency from prolog-rlm back to standalone AgentProlog or a0-symbolics;
  • no second agent scheduler/provider loop/settings authority survives cleanup;
  • no old Harness branch becomes the basis of #184 implementation;
  • clean SWI pack and Nix flake consumption remain green outside the checkout;
  • repository docs/README/TODO/issues describe the runtime-only boundary after the cut.

Acceptance

  • agentProlog/ no longer exists on main as a nested product harness.
  • Any reusable generic protocol/facade code has been relocated into normal core paths or explicitly moved downstream.
  • Old product-specific UI/CLI/fixtures/build glue is removed.
  • PR #125 is closed/retired and cannot be mistaken for the approved Harness implementation.
  • #124 is closed as superseded by #184.
  • #141 records that the old-harness removal gate was explicitly lifted by the user.
  • README/TODO/docs contain no instructions that treat the nested harness as current architecture.
  • aggregate deterministic tests pass.
  • clean SWI pack install/load passes.
  • nix flake check passes.
  • no runtime import depends on deleted agentProlog/ product paths.

Ordering

Do this cleanup before building the #184 plugin-only Harness core. The new Harness work starts from the cleaned runtime boundary rather than preserving or refactoring the obsolete product harness in place.

Parent/related: #141, #184, #124, PR #125 ## Goal Clean `prolog-rlm` back to a domain-neutral reusable runtime before implementing the approved plugin-only DeepSeek Harness architecture. The user has explicitly authorized removal of the old harnesses. The prior #141 `OLD HARNESS REMOVAL GATE` is therefore lifted. ## Required end state `prolog-rlm` contains reusable runtime/library code only. Product/frontend harnesses live downstream. ```text standalone AgentProlog / a0-symbolics / DeepSeek Harness plugin / other frontends | v prolog-rlm reusable runtime APIs ``` `a0-symbolics` is one downstream frontend/consumer, not the owner or replacement for the code-harness product. ## Remove / retire 1. Retire the obsolete nested `agentProlog/` product harness from this repository. 2. Retire the old DeepSeek Harness implementation direction in PR #125 and issue #124; #184 is the approved architecture authority. 3. Remove old product-specific CLI/TUI/UI fixtures, launchers, product settings ownership, duplicated provider/control loops, and harness-specific build plumbing from `prolog-rlm`. 4. Remove stale documentation/tests/CI that only validate deleted harness implementations. 5. Remove any private Harness settings/runtime path that competes with canonical Prolog-RLM/AgentProlog configuration. ## Preserve / relocate before deletion Do not delete reusable generic runtime contracts merely because they currently live under `agentProlog/`. Audit and relocate any genuinely generic pieces first, especially the renderer-independent protocol/facade semantics currently represented by: - `agentProlog/prolog/prolog_agent_ui_v1.pl` - `agentProlog/prolog/prolog_agent_ui_facade.pl` - protocol fixtures that are still useful as generic conformance tests If these remain generic, move/rename them into normal core `prolog/`, `test/`, and `docs/` locations with domain-neutral names. If they are product-specific, move them downstream instead. ## Invariants - no deletion of generic authority/effect/async/provider/graph/agent/conversation/project/SPEC/VERIFY APIs; - no loss of reusable frontend protocol semantics without an explicit replacement; - no dependency from `prolog-rlm` back to standalone AgentProlog or a0-symbolics; - no second agent scheduler/provider loop/settings authority survives cleanup; - no old Harness branch becomes the basis of #184 implementation; - clean SWI pack and Nix flake consumption remain green outside the checkout; - repository docs/README/TODO/issues describe the runtime-only boundary after the cut. ## Acceptance - [ ] `agentProlog/` no longer exists on `main` as a nested product harness. - [ ] Any reusable generic protocol/facade code has been relocated into normal core paths or explicitly moved downstream. - [ ] Old product-specific UI/CLI/fixtures/build glue is removed. - [ ] PR #125 is closed/retired and cannot be mistaken for the approved Harness implementation. - [ ] #124 is closed as superseded by #184. - [ ] #141 records that the old-harness removal gate was explicitly lifted by the user. - [ ] README/TODO/docs contain no instructions that treat the nested harness as current architecture. - [ ] aggregate deterministic tests pass. - [ ] clean SWI pack install/load passes. - [ ] `nix flake check` passes. - [ ] no runtime import depends on deleted `agentProlog/` product paths. ## Ordering Do this cleanup **before** building the #184 plugin-only Harness core. The new Harness work starts from the cleaned runtime boundary rather than preserving or refactoring the obsolete product harness in place.
lost-rob0t commented 2026-08-25 04:49:02 +00:00 (Migrated from github.com)

#186 first structural slice: PR #187

Cleanup is now implemented on cleanup/186-remove-legacy-harnesses in draft PR #187.

Current verified structure:

  • nested agentProlog/ product harness is removed from the branch;
  • Bun/OpenTUI renderer/client/tests and its dedicated workflow are removed;
  • prolog_agent_ui_v1 is relocated to normal core prolog/ with the exact original blob (no wire/protocol code change);
  • the golden NDJSON fixture is an exact-byte relocation under test/fixtures/;
  • the renderer-independent facade is in core and the deterministic fixture/server is under test/support/;
  • PLUnit/static-load paths are rewired to the retained core/test contracts;
  • current protocol, async, authority, repository-agent instructions, and AgentProlog roadmap docs now describe standalone/downstream product ownership rather than a nested harness;
  • #184 remains the approved next Harness architecture and must start from this cleaned boundary, not PR #125.

CI is running for the exact current head across deterministic CI, Nix flake, clean SWI pack install, Tree-sitter FFI, and paid OpenRouter. #186 stays open until those gates and final stale-reference review are complete.

## #186 first structural slice: PR #187 Cleanup is now implemented on `cleanup/186-remove-legacy-harnesses` in draft PR #187. Current verified structure: - nested `agentProlog/` product harness is removed from the branch; - Bun/OpenTUI renderer/client/tests and its dedicated workflow are removed; - `prolog_agent_ui_v1` is relocated to normal core `prolog/` with the exact original blob (no wire/protocol code change); - the golden NDJSON fixture is an exact-byte relocation under `test/fixtures/`; - the renderer-independent facade is in core and the deterministic fixture/server is under `test/support/`; - PLUnit/static-load paths are rewired to the retained core/test contracts; - current protocol, async, authority, repository-agent instructions, and AgentProlog roadmap docs now describe standalone/downstream product ownership rather than a nested harness; - #184 remains the approved next Harness architecture and must start from this cleaned boundary, not PR #125. CI is running for the exact current head across deterministic CI, Nix flake, clean SWI pack install, Tree-sitter FFI, and paid OpenRouter. #186 stays open until those gates and final stale-reference review are complete.
lost-rob0t commented 2026-08-25 04:50:49 +00:00 (Migrated from github.com)

#187 exact-head gate is green

PR #187 head 7387cbaa4d19b66aa89b55688618c945902e85ea has now passed every triggered gate:

  • deterministic CI (static load, PlUnit, benchmark/conformance, deep recursion, CLI/trace, fresh-process graph/artifact restart, whitespace);
  • CI REAL OpenRouter integration;
  • paid OpenRouter workflow;
  • Nix flake;
  • clean SWI pack install/load;
  • Tree-sitter FFI.

The PR is now ready for review. It is intentionally not merged yet; #186 should remain open until the cleanup lands on main and the post-merge tree/docs are rechecked. After that, #184 is the next Harness implementation track.

## #187 exact-head gate is green PR #187 head `7387cbaa4d19b66aa89b55688618c945902e85ea` has now passed every triggered gate: - deterministic CI (static load, PlUnit, benchmark/conformance, deep recursion, CLI/trace, fresh-process graph/artifact restart, whitespace); - CI REAL OpenRouter integration; - paid OpenRouter workflow; - Nix flake; - clean SWI pack install/load; - Tree-sitter FFI. The PR is now ready for review. It is intentionally not merged yet; #186 should remain open until the cleanup lands on `main` and the post-merge tree/docs are rechecked. After that, #184 is the next Harness implementation track.
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#186
No description provided.