Version: v1.0.1
Artifact: MEKA DL Bundle
Purpose: Allow multiple semantic “senses” to coexist in the same numeric slot (e.g., P-005, OP-002) across namespaces (MEKA / LogOS / SolveForce) without collisions—while preserving enforcement, provenance, and drift control.
Why SolveForce cares
- Interoperability: Map legacy LogOS and new MEKA entries into a single Canonical Lexicon Registry (CLR) without renumbering.
- Backwards compatibility:
never_overwrite_legacy: trueensures older SolveForce contracts/tools resolve to their intended meanings. - Deterministic resolution: A strict resolver rule order guarantees the same sense is selected every time, given the same call context.
- Auditability: Every sense carries etymon chains, fingerprints, and a validation trail (P-047 Empirical Loop).
What’s inside the Bundle
dl_policies: Slot rules, precedence order, alias normalization.schema/schema_extensions: Required fields (code, namespace, title, etymon_chain, definition, fingerprint, etc.).entries: Worked, dual-namespace examples for:P-005— MEKA: Morphemic Integrity ↔ LogOS: EtymologosP-039— Etymological Purity (MEKA + LogOS overlays)OP-002— SARP (MEKA) ↔ SARP (Legacy in LogOS)resolver_spec: Pseudocode for a stable selector.resolver_assertions: Behavioral test vectors.
Resolver precedence (deterministic)
- Namespace (exact match wins)
- Title (exact > alias > highest similarity)
- Etymon chain (prefer sense whose roots subsume caller_roots)
- Definition fingerprint (exact hash > minimal distance)
- Vector & domain (highest cosine + domain intersection)
- Status & timestamp (active first; then latest P-047 validation)
Result: same inputs → same sense every time.
Load-in steps (SolveForce)
- Ingest YAML into SolveForce CLR.
- Verify integrity
- Normalize text (LF, NFC, indent-preserve, internal WS collapse, trailing trim).
- Compute SHA-256 and compare to
meta.integrity.sha256.
- Register schemas (
schema,schema_extensions). - Apply policies (
slot_policy,precedence,aliases). - Import entries; set
hash_lockpost P-047 validation event. - Enable resolver with the provided rule order and assertions.
- Run assertions to confirm operational parity.
Minimal Resolver (reference)
“`python
def resolve_sense(code, namespace=None, title=None, caller_roots=None,
caller_fingerprint=None, caller_vector=None, caller_domain=None):
candidates = fetch_all_senses(code)
if namespace:
candidates = [c for c in candidates if c['namespace'] == namespace]
if title:
candidates = sort_by_title_similarity(candidates, title) # exact > alias > similarity
if caller_roots:
candidates = sort_by_etymon_compatibility(candidates, caller_roots)
if caller_fingerprint:
candidates = sort_by_fingerprint_distance(candidates, caller_fingerprint)
if caller_vector or caller_domain:
candidates = sort_by_vector_domain(candidates, caller_vector, caller_domain)
candidates = sort_by_status_then_latest_validation(candidates)
if not candidates:
raise ValueError("No matching sense found")
return candidates[0]