Files
hermes-brain/projects/passepartout/architecture/design/engineering-infrastructure/definite-description-resolution.org

41 lines
1.8 KiB
Org Mode
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Definite Description Resolution
type: reference
tags: :passepartout:architecture:
---
* Definite Description Resolution
:PROPERTIES:
:ID: 3f4573b2-aa55-44a7-a6c8-861dc443ac32
:ID: design-description-resolution
:CREATED: [2026-05-14 Thu]
:WEIGHT: 40
:END:
When the user says "the function that validates secrets," the agent must resolve this to a specific code entity. Natural language is ambiguous — there might be multiple functions matching the description. Resolving to the wrong one causes incorrect actions.
/Principia Mathematica/'s theory of descriptions addresses this: "the current king of France is bald" — a sentence that seems to refer to something that doesn't exist. PM formalizes ~ιx(φx)~ as "the unique x such that φ holds." A statement is false (not meaningless) when there is no unique x satisfying φ.
A cognitive tool that checks descriptional uniqueness before resolution:
#+BEGIN_SRC lisp
(def-cognitive-tool :resolve-reference
(query-string &key (max-candidates 10)
(context-path *current-context*))
"Resolve a definite description to a unique referent."
(let ((candidates (search-knowledge-graph query-string
:source-path context-path
:limit max-candidates)))
(cond
((null candidates)
(values nil :no-referent query-string))
((> (length candidates) 1)
(values nil :ambiguous candidates))
(t
(values (first candidates) :unique nil)))))
#+END_SRC
~40 lines as a skill in v0.7.2. When VivaceGraph ships (v3.0.0), descriptions become native Prolog queries with uniqueness constraints.
For the philosophical foundations, see the Whitehead analysis in the Validation section below.