[RESEARCH/IDEA] Reusable evolutionary-search library for RLM callers #441
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm#441
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Companion to
lost-rob0t/agentProlog#2.Mission
Research and design a domain-neutral evolutionary-search library in Prolog that can be used with
prolog-rlmand consumed by downstream harness integrations, especially the AgentProlog DeepSeek Harness plugin.This is intentionally split across two repositories:
The algorithmic/evolutionary machinery belongs here when it is reusable beyond AgentProlog. DeepSeek-specific lifecycle, UI, service registration, plugin packaging, and adapter glue belong downstream in
lost-rob0t/agentProlog.Why a library, not product code
The reusable layer should support RLM callers without depending on DeepSeek Harness, Node, Cordis, a particular coding-agent product, or a frontend.
Likely library responsibilities include:
Do not invent a second scheduler, authority system, effect ledger, verifier stack, or async model. Reuse existing
prolog-rlmcontracts.Initial hypothesis
Start with configuration-space evolution, not model-weight evolution.
A candidate could represent a typed agent/program configuration such as:
Lineage/evidence should be first-class data:
Exact API/schema must follow repository conventions after inspecting current code.
Research basis
Compare at minimum:
The design should also reconcile against existing
prolog-rlmruntime contracts and current AgentProlog migration work, rather than treating papers as architecture authority.Hard invariants
Evolution must never be able to mutate away or bypass:
Generated candidates are data. Do not pass arbitrary generated terms to unrestricted
call/1or expose mutation as ambient code execution.Required upstream/downstream split
prolog-rlmOwn reusable evolutionary primitives and RLM integration hooks.
agentPrologOwn the DeepSeek Harness plugin, Cordis service/event/effect lifecycle, TypeScript-to-Prolog bridge, product presets, coding-agent genotype fields, UX, and benchmark/product composition.
DeepSeek Harness is currently developer preview and warns that compatibility-breaking changes are expected, so keep the adapter narrow/versioned and prevent DeepSeek-specific types from leaking into this library.
Research questions
prolog-rlmmodules can be reused unchanged, and which minimal generic APIs are actually missing?Proposed research deliverable
Produce a design note that defines:
GO / HOLD / REJECTrecommendation for a first implementation slice.Research/design only until that gate is complete. Do as much useful research as possible per loop rather than stopping after one paper summary.
Duplicate of #142 (pre-existing Forgejo mirror with GitHub number parity). Closing this accidental duplicate created by today's open-state sync; #142 stays canonical on Forgejo.