[EPIC][semantic-memory] Durable general semantic memory: arbitrary knowledge → append-only symbolic world model #45
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#45
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?
Depends on: #1
Upstream compiler: lost-rob0t/prolog-rlm#388
Upstream semantic IR: lost-rob0t/prolog-rlm#392
Mission
Make
symbolic-memorythe durable long-term consumer of Prolog-RLM's general semantic knowledge compiler.The goal is not merely to remember facts or
how-toprocedures. The store must be capable of retaining essentially any semantic knowledge expressible through the upstream extensible knowledge algebra:Knowledge scope
Symbolic Memory must persist and query all upstream semantic classes, including combinations of them:
Do not flatten these into generic text tags or one undifferentiated triple table if doing so loses modality, scope, time, attribution, rule structure, procedure structure, quantification, uncertainty or provenance.
Universal kernel + open domain vocabulary
Symbolic Memory persists the upstream versioned semantic kernel and domain vocabulary declarations/refs.
It must remain possible to ingest knowledge from new fields—biology, history, engineering, law/policy, personal notes, software, scientific papers, web research, etc.—without redesigning the memory database each time.
Unknown domain concepts are symbolic knowledge, not executable code.
Motivating examples
Procedural
Recall an ordered procedure with branch conditions and success criteria.
Declarative/taxonomic
Answer from definitions/type/part-whole knowledge.
Causal/diagnostic
Reason over possible causes, diagnostic tests and evidence.
Temporal
Reason over roles/events/validity intervals rather than returning all historical statements as simultaneously current.
Conflicting research
Return attributed supporting/conflicting claims with provenance and unresolved truth status.
Constraints
Hand the safe upstream constraint representation to trusted Prolog constraint reasoning.
Repository boundary
Prolog-RLM owns
Upstream #388/#392-#396 own:
symbolic-memory owns
This repository owns:
Dependency direction remains
symbolic-memory -> prolog-rlm, never reverse.Preserve #1 source invariant
Exact natural-language/source memory remains independently durable.
Projection failure cannot destroy or invalidate the remembered source.
Append-only semantic world model
Do not overwrite old knowledge to manufacture one clean current state.
Represent evolution explicitly:
Current semantic memory is a materialized/query view over immutable history.
Historical and current knowledge must remain distinguishable through explicit validity/time/lifecycle semantics.
Cross-memory identity and reconciliation
Large corpora will mention the same concepts repeatedly.
Provide bounded reconciliation for:
Entity merging must be reversible/provenance-preserving. Do not destroy original compiler identities.
Epistemic semantics
Preserve distinctions such as:
A model-extracted fact does not silently inherit user/system authority from the source memory.
Normative remembered knowledge such as
forbidden(X)is knowledge about a policy and does not itself become host execution authority.Query/world-model requirements
The durable layer must support current/history/query surfaces over arbitrary semantic classes rather than APIs specialized only to facts/procedures.
Conceptual forms:
Specialized convenience calls such as
memory_proceduremay exist on top of this general query substrate.Retrieval / bounded projection
Never dump the whole symbolic world model into a model prompt.
For a goal:
This must work even when the durable knowledge base contains millions of semantic records.
Corpus/backfill scope
The ingestion path should handle:
The point is to compile material meaning once and reuse it symbolically instead of rereading the source corpus every time.
Child issues
Existing children remain, but all must consume the full general semantic IR, not a procedural-only subset:
Upstream implementation issues:
North-star acceptance
Ingest a heterogeneous corpus containing operational instructions, technical docs, historical/event records, scientific claims, policy text, quantitative constraints, organization/role descriptions and conflicting web research.
After restart and with original source text absent from model context, demonstrate symbolic queries that:
No LLM/provider is required for recall/reasoning once semantic projections exist, except optional conversational rendering or explicitly chosen fallback reasoning.
Non-goals
Child issue map
The semantic-memory implementation set is now decomposed as:
Dependency direction remains
symbolic-memory -> prolog-rlm#388. #1 stays the source-durability foundation and should not be widened to implement these features before its current RAGE slice is complete.Scope extension: add #10 as the dedicated cross-memory identity/ontology-reconciliation child. The semantic-memory program is now explicitly required to preserve and query the full general semantic IR from prolog-rlm#392, including entity/type/taxonomy, rules/defaults/exceptions, procedures, events/time, causality, quantities/constraints, spatial relations, modalities, goals/preferences, attributed claims, uncertainty/hypotheses/scenarios, cases, and provenance/meta-knowledge. Do not reduce implementation to a fact/rule/procedure subset.
Machine Spirit pass prolog-rlm#398 reached one storage-relevant design decision that should constrain this epic: persist abstract proposition identity separately from assertion/context/provenance identity.
Recommended downstream shape:
Implications:
same_as; entity/proposition reconciliation remains explicit reversible knowledge (#10);Full alternatives, sources, complexity and safe-lowering reasoning are preserved in prolog-rlm#398. This comment is only the downstream storage consequence.
Machine Spirit #398B materially deepened the upstream semantic IR contract. Downstream durable memory should now plan to preserve first-class context/theory identity, explicit theory bridges/imports, scoped existential witnesses, and justification/derivation dependencies in addition to propositions/assertions/provenance. Source-context assertions must remain distinguishable from promoted/domain-world assertions; a parsed Wikipedia/news/LLM-log statement does not become global truth merely by entering memory. Canonical append-only semantic history should remain separate from rebuildable derived/materialized state. See
lost-rob0t/prolog-rlm#398depth addendum and updated#392.MACHINE-SPIRIT Depth 5C canonical handoff
prolog-rlm#402C is complete with CLFM — Causal Ledger Federation Mesh. The durable-world-model epic should treat federation as composition of independent logical ledgers through typed/versioned links, not as one global log or universal CRDT merge.
Key invariants for #4:
Federated query/replay uses explicit per-ledger frontiers/checkpoints (
federation_cut) with link/mapping/admission/redaction/integrity generations and completeness status. Physical federation/storage implementation remains unproven and is deferred to #402D. Refs #5-#10.Library-first implementation decomposition
#4 remains the canonical durable general semantic world-model domain epic under new umbrella #11. It is not superseded.
Implementation ownership is now decomposed across subsystem epics #12-#19 and ordered slices #20-#45. The most direct #4 implementation path is:
Large-corpus, learning-history, scaling/federation, transport, and conformance continue through #31-#45. Workers should pick dependency-ready slices, not code directly from this broad epic.