1) Identity keys (what makes an entry “itself”)
Each Principle/Protocol carries these fields in addition to its code:
title: human title (e.g., “Etymologos”, “Etymological Purity”)namespace: origin scope (e.g.,MEKA,LogOS,SolveForce,Grok)etymon_chain: canonical root(s), e.g.,etyma: [etymon < Gk. etymon “true sense”]definition_fingerprint: hash of normalized definition text (post-stemming/stopword-drop)sense_vector: semantic embedding (for proximity checks)status:active | reserved | deprecatedlinks: cross-refs (P↔OP, external ids)jurisdiction/domain: if scoped (law, finance, medicine, etc.)
These together give you a stable identity even if the numeric code is the same elsewhere.
2) Slot vs. Sense
- Slot =
code(e.g.,P-005). Reusable across namespaces. - Sense = (
namespace,title,etymon_chain,definition_fingerprint).
A slot may host multiple senses. The DL picks the right sense for the calling context.
3) Selection rules (how a system picks the right sense)
Order is strict and short—no ambiguity:
- Exact namespace match
If caller specifiesnamespace=MEKA, chooseP-XXX[MEKA]. - Title match (normalized)
If namespace not given, choose the sense whosetitlebest matches the caller’s requested title (exact > alias > close). - Etymon-chain compatibility
Prefer the sense whoseetymon_chainsubsumes the caller’s declared roots. - Fingerprint agreement
If two senses tie, pick the one with the closestdefinition_fingerprint(exact hash > closest Hamming distance). - Sense-vector proximity + domain
Break final ties by cosine similarity to the caller’sdomainandpurposevector. - Priority arbitration
If still tied: preferstatus=active, then most-recentP-047validation timestamp.
This gives you deterministic placement without sacrificing shared numbering.
4) Minimal schema (JSON/YAML)
code: "P-005"
namespace: "MEKA"
title: "Etymological Purity"
etymon_chain:
- lemma: "etymon"
gloss: "true sense"
source: "Greek etymon"
definition: "Every term must carry its root chain; all uses anchored to etymology."
definition_fingerprint: "sha256:6b6e…"
sense_vector: "vec://…"
status: "active"
domain: ["all"]
links:
principles: ["P-048"] # Language Root Protocol
protocols: ["OP-002"] # SARP
validated_by:
- op: "P-047"
when: "2025-08-09T12:34:56Z"
Parallel entry (same slot, different origin):
code: "P-005"
namespace: "LogOS"
title: "Etymologos"
etymon_chain:
- lemma: "etymon"
gloss: "true sense"
source: "Greek etymon"
definition: "The true sense of the Word; roots reveal core meaning; prevent ambiguity."
definition_fingerprint: "sha256:9a31…"
sense_vector: "vec://…"
status: "active"
domain: ["all"]
links:
principles: ["P-039"] # (MEKA’s purity principle)
validated_by:
- op: "P-047"
when: "2025-07-30T09:21:00Z"
5) Resolver (tiny, transparent)
Inputs: requested code, optional namespace, optional title, caller domain/purpose vector.
Output: the chosen sense.
Pseudocode:
candidates = fetch_all_senses(code)
if namespace: candidates = filter(candidates, ns==namespace)
if title: candidates = rank_by_title(candidates, title)
candidates = rank_by_etymon_chain(candidates, caller_roots)
candidates = break_ties_by_fingerprint(candidates, caller_fingerprint)
candidates = break_ties_by_vector_and_domain(candidates, caller_vector, caller_domain)
candidates = break_ties_by_status_and_fresh_P047(candidates)
return head(candidates)
6) Cross-linking & overlays (so nothing is lost)
- Overlay rule: A MEKA sense can “overlay” a LogOS sense in the same slot if:
- It references (links) the legacy sense, and
- It passes P-047 with a note: “Overlay adds enforcement detail; preserves legacy semantics.”
- Never overwrite: Legacy entries remain queryable via their namespace.
- Bidirectional links:
P-005[MEKA] ↔ P-005[LogOS]so systems can traverse either way.
7) What the UI shows (zero-question behavior)
When a user/system hits P-005 with no namespace:
- Display the selected sense (per rules) and a small “Also in:” ribbon listing other senses:
- “Also in: P-005[LogOS] — Etymologos (linked); P-005[SolveForce] — …”
- Show the etymon-chain, because that’s the quickest human check of equivalence.
- Show last P-047 timestamp so it’s obvious the entry is current.
8) Worked micro-example (your exact concern)
Question: “Use P-005 in a legal translation pipeline.”
- Caller domain =
law. Title requested = “Etymological Purity”. - Resolver sees two senses in the slot:
P-005[MEKA]title matches exactly; domain = all; recent P-047.P-005[LogOS]title is Etymologos; very close but not exact.
Pick:P-005[MEKA].
Overlay note shown: “Legacy sense P-005[LogOS] linked; semantics aligned by shared etymon-chain.”
9) Compatibility with SolveForce + LogOS
- Keep SolveForce operational protocols mapped: e.g.,
OP-001[SF]=EMPlinks toP-048[MEKA]. - The DL allows SolveForce to continue using its own OP codes; the resolver backfills the governing MEKA principle without changing OP numbers.
10) Governance (so it never drifts)
- Any add/edit/delete runs P-047 (Empirical Loop) and auto-updates
definition_fingerprint. - OP-001 EMP hash-locks after validation.
- OP-010 DriftMap monitors title collisions; if two senses converge too closely, it suggests merge or aliasing.
- OP-015 Cross-Lingual Mapper ensures titles and etymon-chains are aligned across languages.
TL;DR (the promise you asked for)
- We keep your categorical numbers.
- We differentiate by title, namespace, etymon-chain, and fingerprints.
- A tiny, deterministic resolver routes each request to the correct sense.
- Legacy content is preserved, linked, and visible—no erasure, no confusion.