[EPIC][CORE] Library-first Symbolic Memory v1: durable semantic world model, learning history, federation, and zero-model recall #38
Labels
No labels
accessibility
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/symbolic-memory#38
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?
Mission
Turn
symbolic-memoryinto a reusable library-first SWI-Prolog semantic memory system with optional native/MCP/service adapters.The repository is the durable world-model half of Machine Spirit. It stores exact source evidence and versioned symbolic semantics, exposes bounded query/projection/replay surfaces, and persists learning/promotion history without becoming a second semantic compiler, planner, expert runtime, or authority system.
Dependency direction remains:
prolog-rlmmust remain usable entirely in-memory without this repository.Existing implementation family to retain
memory_remember+memory_getvertical sliceDo not replace these with duplicates. New epics/slices refine and complete them.
Core architectural boundary
Symbolic Memory owns
Prolog-RLM owns
Symbolic Memory persists promotion inputs/outputs/history; it does not independently decide that a learned rule is safe.
Library shape
Target public modules conceptually:
Exact module split follows implementation evidence; transport adapters call these modules and own no semantics.
Delivery model
Implementation is organized as subsystem epics plus ordered vertical slices. A slice should land one coherent capability with local tests and integrate through the existing library boundary. Avoid one-ticket-per-function micro-slicing.
The intended progression is approximately:
Global hard invariants
Known symbolic recall/query/replay/learning-history operations target providers disabled and
model_calls = 0.North-star executable acceptance
After restart, with original prose absent from model context:
model_calls = 0;Scale/distributed claims require benchmark/failure-injection evidence, not design prose.
Program management
This epic is the umbrella implementation graph. Child epics may close independently when their executable acceptance passes. Existing #4-#10 remain canonical for their subject areas and should be cross-linked rather than superseded without evidence.
Canonical implementation graph — library-first Symbolic Memory v1
The implementation decomposition is now complete. Existing #1/#4-#10 remain canonical requirements/legacy verticals; the new epics/slices make them executable in bounded PR-sized work.
Subsystem epics
Existing #4 remains the durable-general-semantic-world-model domain epic and cross-cuts the implementation graph.
Ordered slices
memory_remember+memory_getvertical sliceParallelism / worker lanes
The numbering is conceptual delivery order, not a requirement to serialize every later task.
Hard early spine:
After #23, workers may branch subject to each issue's explicit dependencies:
The issue
Depends on:fields override this shorthand.Worker rule
Workers must implement the smallest currently dependency-ready slice. Do not treat #11, #4, or subsystem epics as direct coding tickets. Do not widen a slice to pull later semantic/scaling/federation work forward merely because the API has an extension point.
Definition of v1
#45 is the only integration issue allowed to claim Symbolic Memory v1 implementation complete, and only after executable provider-disabled north-star acceptance passes. It does not claim Machine Spirit complete; that remains gated by
prolog-rlm#405.Machine Spirit #405A baseline synthesis handoff
Depth 8A in
prolog-rlm#405adopts COVENANT-MS and preserves this repository's library-first boundary.Symbolic Memory is the durable half of the contract spine: exact source, append-only/bitemporal semantic history, exact world/frontier cuts, indexes/provenance/source-dependence/identity, bounded projection mechanics, corpus jobs, experience/candidate/promotion history and replay/invalidation. It does not become the semantic compiler, epistemic consequence engine, planner/expert runtime, VERIFY authority or promotion-decision engine.
Required direction remains:
COVENANT adds a cross-layer
ms_run_envelope/conformance capsule so durable query/projection results name exact world cut, schema/profile and relevant generations. A cached/current view is never the canonical history, and a memory/learned-object record never grants host authority.The bounded single-ledger functional spine for the first Machine Spirit fixture is roughly #1 -> #20/#21 -> #22 -> #23 -> #24 -> #25 -> #26 -> #27 -> #28 -> #29, plus experience/promotion-history #33-#36. SAFIRE #37/#38 is required before exact scalable frontier/replay claims; federation/redaction claims require their own gates.
Refs lost-rob0t/prolog-rlm#397/#405 and #4-#10 #19 #43 #45.
Machine Spirit #405D executable-conformance handoff: current
mainprovides the useful RAGE-001 exactmemory_remember → durable source/memory/audit → memory_getfoundation, but it does not yet satisfy the Machine Spirit durable-world-model/replay bar. The repo's ownIMPLEMENTATION-STATUS.mdcorrectly says authored tests are not green until actually executed; #402 also records that the current whole-snapshot backend is not SAFIRE. #405D therefore assigns this repoMSD-LEDGER-*,MSD-ATTN-*, learning-history and replay/fault evidence: append-only semantic records/frontiers, restart/rebuild/current/history equivalence, identity/provenance/dependence generations, cold/warm/cache-drop/incremental differential results, crash injection, resource ceilings and provider-disabled known-symbolic paths. Parent prolog-rlm#397 now contains a proposed Cycle-2 ranking, blocked on operator authorization.