[semantic-memory] Integrate Prolog-RLM semantic compiler and add independent projection lifecycle #44
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#44
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?
Parent: #4
Depends on: #1
Upstream: lost-rob0t/prolog-rlm#388
Goal
Add the adapter that takes an already-durable memory source and compiles its natural-language semantics through Prolog-RLM's reusable semantic compiler, without coupling source durability to projection success.
Required lifecycle
Source remember success must never be rolled back by semantic compilation failure.
API direction
Provide native library semantics equivalent to:
Exact naming follows repository conventions.
Requirements
Acceptance
how to do Xmemory yields procedure/rule IR rather than only claims/entities.memory_remember/memory_get.Scope clarification from #4/#388/#392: this adapter must treat the upstream compiler result as a general semantic package, not a procedure-only projection. Projection lifecycle, fingerprints, provenance, retries, stale status, and generation semantics must work uniformly for every upstream semantic record class and future compatible domain-vocabulary extensions.
Machine Spirit #399A downstream compiler contract
Depth 2A in
prolog-rlm#399refines what a successful semantic-compiler call may return.Symbolic Memory should not duplicate or durably own Prolog-RLM's ephemeral Semantic Compilation Lattice (SCL). The SCL is compiler-local evidence/hypothesis state. This repository should consume the resulting validated #392 records plus a bounded compiler receipt sufficient to explain interpretation provenance.
Projection lifecycle must therefore tolerate outcomes equivalent to:
Exact status vocabulary should follow repository conventions; the important invariant is unresolved semantic ambiguity is not automatically compiler failure and must not be silently collapsed before persistence.
For committed records retain interpretation provenance sufficient to traverse:
Do not treat parser/model confidence as world/source trust. Compiler confidence concerns interpretation only.
If an
induced_rule,pragmatic_candidate,cross_sentence_synthesized, orcompiler_repairresult is persisted, preserve that induction class separately from source trust/authority.This does not change #1's source-durability invariant and does not authorize storing every temporary parser hypothesis forever.
Machine Spirit depth 2B downstream semantic-projection requirement
Upstream
prolog-rlm#399B/#393now distinguishes linguistic commitment/derivation from world epistemic status via compiler-local SCL/SCC plus an export receipt.memory_symbolizeshould persist the final exported semantic distinction + export receipt, not the ephemeral compiler lattice itself.Hard downstream invariants:
A newer compiler may create a new projection generation with a different interpretation, but old projection lineage remains inspectable. Never rewrite an older presupposed/pragmatic/reconstructed record so it later appears source-explicit.
For every material projection record, preserve enough of the upstream export receipt to trace:
This keeps source durability independent from interpretation while allowing later #400 epistemics to reason over the distinction.
Upstream Machine Spirit #399C projection-lineage requirement
Semantic projections must now bind the interoperability lineage used by the Prolog-RLM compiler, not only source/compiler/model/schema versions.
Persist replay-critical references/fingerprints for:
Hard invariants:
See lost-rob0t/prolog-rlm#399 subpass C for the full Semantic Interoperability Fabric design.
Upstream Machine Spirit #399D projection replay requirement
Depth 2D distinguishes semantic projection lineage from execution replay class.
memory_symbolize/ projection metadata should retain enough upstream compile-receipt state to distinguish:Hard invariants:
Symbolic Memory owns durable retention policy; Prolog-RLM only defines the artifact/replay contract and remains usable without this repository.
Full rationale and execution model: lost-rob0t/prolog-rlm#399D.
Machine Spirit #402A projection-commit handoff
Depth 5A (
prolog-rlm#402A) sharpens this issue's independent projection lifecycle:This should compose directly with #399D's compiler replay classes and symbolic-memory#6's BSLPF ledger contract. No storage ownership moves into Prolog-RLM.
MACHINE-SPIRIT #402B handoff — projection publication/integrity
Projection lifecycle now depends on GRIE from prolog-rlm#402B. A projection generation is publishable only against an exact source/ledger frontier plus schema/upcaster/admission/redaction/integrity generations. Staged immutable objects may exist before commit, but no half-package becomes active until one atomic publication group validates every mandatory ref/digest.
Add lifecycle outcomes for at least
quarantined,integrity_failed,source_redacted/replay-degraded where applicable. An upcaster is a versioned interpretation artifact; semantic-changing migration cannot be labeled exact historical replay. A stale/corrupted projection is discarded/rebuilt and may never append or repair canonical history by itself.Full mechanisms/fixtures: prolog-rlm#402B.
MACHINE-SPIRIT #402C handoff — external/federated projection admission
External projection/import work needs a stable identity stronger than source text alone: remote logical-ledger ID + authenticated remote event/statement identity + digest + observed remote frontier/checkpoint + federation-link/adapter version.
Re-import of the same authenticated identity+digest is idempotent. Reuse of the same remote identity with a different digest is an integrity conflict, not a new projection generation. External schema/provenance formats (e.g. PROV or signed/transparency envelopes) remain inert typed input; adapters record exact/lossy/unsupported interpretation and cannot import remote authority.
Projection publication is still independent of exact-source durability and remains atomic. Full CLFM design: prolog-rlm#402C.
Implementation decomposition
#5 remains the canonical requirement for independent semantic projection lifecycle. Its focused implementation slice is #22.
Downstream continuation:
Do not add corpus scheduling/backfill orchestration directly to #5's adapter layer; keep source durability independent from projection success.