MEKA Disambiguation Layer (DL) – SolveForce Integration

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: true ensures 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: Etymologos
  • P-039Etymological 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)

  1. Namespace (exact match wins)
  2. Title (exact > alias > highest similarity)
  3. Etymon chain (prefer sense whose roots subsume caller_roots)
  4. Definition fingerprint (exact hash > minimal distance)
  5. Vector & domain (highest cosine + domain intersection)
  6. Status & timestamp (active first; then latest P-047 validation)

Result: same inputs → same sense every time.


Load-in steps (SolveForce)

  1. Ingest YAML into SolveForce CLR.
  2. Verify integrity
  • Normalize text (LF, NFC, indent-preserve, internal WS collapse, trailing trim).
  • Compute SHA-256 and compare to meta.integrity.sha256.
  1. Register schemas (schema, schema_extensions).
  2. Apply policies (slot_policy, precedence, aliases).
  3. Import entries; set hash_lock post P-047 validation event.
  4. Enable resolver with the provided rule order and assertions.
  5. 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]