Files
memex/notes/passepartout-whitehead.org
Amr Gharbeia 4e9431ec1d memex: update passepartout submodule → v0.7.2, add notes
passepartout v0.7.2 (Gate Trace + HITL + Search + 11 more features):
- Gate trace visualization with Ctrl+G toggle
- HITL inline panels with styled collapse on approve/deny
- Agent identity file + /identity command
- Safe-tool read-only allowlist
- Message search mode with Up/Down nav and highlights
- Context budget visibility with section breakdown
- Session rewind /sessions /resume /rewind
- Undo/redo per operation
- Context debugging /context why /context dropped
- Tool hardening (timeouts, write verify, read-only cache)
- Tag stack severity tiers + trigger counts
- Merkle provenance audit + audit-verify
- Self-help /help <topic> reads USER_MANUAL.org
- Live CONFIG section in system prompts
- Pads: Page Up/Down scroll by 10 lines

Core 92/92  TUI Main 104/104  TUI View 29/29  Neuro 13/13
2026-05-08 21:56:11 -04:00

12 KiB
Raw Permalink Blame History

Whitehead's Logic & Process Philosophy → Passepartout

Purpose

Alfred North Whitehead's two major bodies of work — Principia Mathematica (19101913, with Bertrand Russell) and Process and Reality (1929) — are assessed for their applicability to Passepartout's architecture, gate stack, knowledge graph, and self-descriptive vocabulary.

Historical Connection: PM → Lisp

Principia Mathematica is a direct ancestor of Lisp. Alonzo Church's lambda calculus (1930s), from which John McCarthy built Lisp (1958), was a response to PM's foundational program. PM's notation:

(x).φx        ≡ (for all x, φ holds of x)
(∃x).φx       ≡ (there exists x such that φ holds)
* x̂(φx)        ≡ (the class of x satisfying φ)
ιx(φx)         ≡ (the unique x satisfying φ)

These map directly to Lisp: (lambda (x) (φ x)), (class (x) (φ x)), (the (x) (φ x)). McCarthy cited PM as an influence. The connection is genetic, not metaphorical.

Contribution 1: Ramified Theory of Types → Gate Stack

The Problem PM Solved

Russell's paradox ("the set of all sets that do not contain themselves") proved that unrestricted comprehension produces contradictions. PM's solution: a ramified theory of types that assigns every propositional function a type level. A function can only apply to arguments of a lower type — self-application is syntactically invalid.

The Problem Passepartout Faces

Passepartout's dispatcher gate stack (vectors 08b active, 918 planned) currently enforces safety through runtime predicates. But there is no structural guarantee preventing a request from modifying the rules that validate it. Gate vector 2 (self-build-core) catches this empirically — a request modifies core → rejected. But this is a heuristic, not a theorem.

The PM-Type Solution

Assign every cognitive tool a :type-level integer. Assign every gate vector a :type-level integer. The dispatcher framework, before running any gate predicate, checks:

(defun gate-type-check (signal gate-vector)
  (let ((signal-type-level (getf (signal-meta signal) :type-level))
        (gate-type-level (gate-vector-type-level gate-vector)))
    (if (>= signal-type-level gate-type-level)
        :reject-type-violation  ; self-referential — reject
        :pass)))                ; safe — proceed to predicate

A request to modify dispatcher rules (type-level 5) cannot pass a gate of type-level 4 or lower. No predicate needed — it's a structural prohibition, just as PM's theory of types makes self-membership syntactically invalid.

Concrete Implementation

  • defgate gains a :type-level keyword argument (default 0)
  • Each cognitive tool registered via def-cognitive-tool inherits a :type-level
  • The dispatcher's run-gates function checks type-level before predicate evaluation
  • Gate vector 2b (self-build-core) at type-level 5; write-file at type-level 3; read-file at type-level 1
  • 30 lines in ~core-dispatcher.lisp~; no new dependencies; v0.7.2 viable

Contribution 2: Theory of Descriptions → Reference Resolution

The Problem PM Solved

PM's theory of descriptions addresses: "the current king of France is bald" — a sentence that seems to refer to something that doesn't exist. PM formalizes:

ιx(φx) = "the unique x such that φ holds"

A statement about ιx(φx) is false (not meaningless) when there is no unique x satisfying φ. This is the origin of definite description semantics in modern linguistics and programming.

The Problem Passepartout Faces

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.

The PM-Description Solution

A cognitive tool that checks descriptional uniqueness before resolution:

(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)))))

~40 lines as a skill in v0.7.2. When VivaceGraph ships (v3.0.0), descriptions become native Prolog queries with uniqueness constraints.

Contribution 3: Process and Reality → Architectural Vocabulary

Whitehead's process philosophy is a metaphysics of becoming rather than being. The fundamental entities are not substances (atoms, objects) but processes (actual entities, occasions of experience. This maps precisely to Passepartout's pipeline architecture.

Mapping Whiteheadian Concepts to Passepartout

Whiteheadian Concept Passepartout Mapping Significance
Actual entity (actual occasion) An event/signal in the pipeline The fundamental unit — everything else is abstraction
Prehension A gate's grasping of a signal How one entity "takes account of" another
Positive prehension A gate passing a signal The signal is included in the concrescence
Negative prehension A gate rejecting a signal The signal is excluded from the concrescence
Concrescence The pipeline process from input to output Many prehensions → one satisfaction
Subjective aim The agent's active goal / plan The telos directing which prehensions matter
Eternal objects Pure concepts in the knowledge graph Universals — types, functions, categories
Nexus A cluster of related memory objects A Merkle subtree
Satisfaction The final agent response The "completed" entity — determinate output
Transition From one signal to the next The pipeline's forward motion
Causal efficacy The agent's past context (memory) What is prehended from the settled past
Presentational immediacy The current signal (user input) What is prehended from the immediate present

The Foveal-Peripheral Model in Whiteheadian Terms

Passepartout's foveal-peripheral model (near focus = current signal, far periphery = context window + memory) maps to Whitehead's distinction:

  • Presentational immediacy (perception of the contemporary world, vivid but superficial) = foveal focus on the current signal
  • Causal efficacy (prehension of the past, dim but causally powerful) = peripheral context from memory

This is not merely poetic. Whitehead argues that all perception is in the "mixed mode" of symbolic reference — the synthesis of presentational immediacy and causal efficacy. Passepartout's think() function does exactly this: it synthesizes the current signal (presentational immediacy) with context from memory (causal efficacy) into a response.

Why This Matters for Self-Documentation

Passepartout already has the pipeline. Whitehead gives it a descriptive vocabulary:

  • "I am concrescing signal 47 through gates 0-8" ≠ poetry — it's a precise description of dispatcher operation.
  • "Gate 3 has negatively prehended signal 136" = "the secret-content gate rejected signal 136."
  • "The satisfaction includes a file-write prehension with Merkle commit abc123" = "the response contains a file write with the given merkle hash."

The agent can use this vocabulary in its /why output (gate trace in human-readable form) and in the ARCHITECTURE.org documentation. The terms are precise, standard (Whitehead's Process and Reality is a recognized philosophical text), and already map perfectly to Passepartout's design.

Contribution 4: VivaceGraph + PM Types (v3.0.0)

When the knowledge graph ships in v3.0.0, every entity inherits PM's type hierarchy:

  • Entities have :pm-type-level metadata
  • Queries cannot return entities of the same level as the querying function
  • Self-referential knowledge becomes structurally impossible — no "this entity defines its own type level"
  • The KG query layer enforces this at the Prolog level, not through runtime checks

This is the same contribution as Contribution 1, but applied to the knowledge base rather than the execution layer. The dispatcher prevents self-referential actions; the KG prevents self-referential facts.

What Would NOT Be Useful

Implementing PM's Full Formalism

PM takes 300+ pages to prove 1+1=2. The notation (*54·43) is notoriously unreadable. Using it as a reasoning engine would be a catastrophic waste of effort — the ideas (type theory, descriptions, propositional functions) are what matter, not the notation. Implement the ideas, not the pages.

Process Theology

Whitehead's later work includes a concept of God (the "principle of concretion," the "Eros of the Universe") that has no useful mapping to an agent architecture. Skip it.

Full Whiteheadian Metaphysics

The 25 categories of existence, the eight categories of explanation, the nine categoreal obligations — these are philosophical commitments, not engineering requirements. Select the concepts that map to the architecture; don't build a process-philosophy engine.

Summary: What to Ship and When

Contribution Lines Depends On Earliest Release Impact
Type-level gates ~30 dispatcher v0.7.2 Provable safety against self-modification
Description tool ~40 search v0.7.2 Better reference resolution
Whiteheadian doc vocabulary prose docs/ anytime Sharper architectural self-description
KG type hierarchy built-in VivaceGraph v3.0.0 Structural anti-self-reference in facts

Whitehead is the rare case where philosophy is directly engineerable. PM's type theory is the solution to a real Passepartout problem; the process ontology describes the pipeline more precisely than any existing vocabulary.

Relation to Passepartout's Neuro-Symbolic Architecture

Passepartout is level 4 neuro-symbolic (symbolic gates + neural LLM, deterministic components coordinate heterogeneous systems). PM's type theory adds level-5 properties: structural safety guarantees rather than empirical ones. The dispatcher becomes not just a runtime gate stack but a type-theoretic framework where category errors are impossible by construction — just as PM made Russell's paradox impossible by construction.

The Whiteheadian vocabulary reinforces the architectural identity: Passepartout is not a chatbot with safety checks. It is a process — a continuous concrescence of prehensions producing satisfactions — whose safety is guaranteed by the type structure of the prehending entities.