diff --git a/projects/passepartout/architecture/_index.org b/projects/passepartout/architecture/_index.org index 26ba699..2c1d91c 100644 --- a/projects/passepartout/architecture/_index.org +++ b/projects/passepartout/architecture/_index.org @@ -27,7 +27,7 @@ There is no MMU boundary between components because there are no separate proces **The knowledge subsystem: Org-mode as unified memex.** -The knowledge subsystem is built on [[id:0a33bd83-ff3c-4eac-bc97-83eb6702051a][Org-mode]] — one format for human and machine, with sparse tree retrieval keeping context lean (2,000-4,000 tokens). The Org file IS the data, not a representation of it. See [[id:0a33bd83-ff3c-4eac-bc97-83eb6702051a][design-decisions.org]] for the full analysis. +The knowledge subsystem is built on [[id:0a33bd83-ff3c-4eac-bc97-83eb6702051a][Org-mode]] — one format for human and machine, with sparse tree retrieval keeping context lean (2,000-4,000 tokens). The Org file IS the data, not a representation of it. See [[id:e32290a0-a02a-4af7-ae22-243d04a7ac82][Design Decisions]] for the full analysis. **Two indices over the Org prose:** @@ -38,7 +38,7 @@ The prose is always ground truth. Both indices are derived views that can be reb The same principle extends beyond prose to structured data. Empirical parameters, validity envelopes, provenance chains, and benchmark results live in Org as property drawers and tables — the same format the user reads and edits. The system maintains a derived representation — the provenance store — optimized for machine queries. Like the two indices, it is a derived view rebuilt from Org, not a separate canonical copy. When the system learns something new, it writes back to the Org files, keeping the human layer current. -This is what sovereignty means in technical terms — the user owns the data in a format they can access, and the system operates on the same format. See [[id:0a33bd83-ff3c-4eac-bc97-83eb6702051a][design-decisions.org]] for the full argument. +This is what sovereignty means in technical terms — the user owns the data in a format they can access, and the system operates on the same format. See [[id:e32290a0-a02a-4af7-ae22-243d04a7ac82][Design Decisions]] for the full argument. **The verification subsystem: the gate.** diff --git a/projects/passepartout/architecture/design-decisions.org b/projects/passepartout/architecture/design-decisions.org deleted file mode 100644 index e11deec..0000000 --- a/projects/passepartout/architecture/design-decisions.org +++ /dev/null @@ -1,23 +0,0 @@ -:PROPERTIES: -:ID: 76597d16-4e64-4e3f-b5af-543f39f0d0ca -:CREATED: [2026-05-07 Wed] -:END: -#+title: Design Decisions -#+filetags: :passepartout:architecture: - -This document has been split into the [[file:design/][design/]] subfolder, one file per major design domain. - -See the [[file:design/_index.org][design index]] for the full list. - -** Sections - -- [[file:design/foundation.org][Foundation]] — non-negotiable identity, single agent, unified memory, Org-mode as AST, homoiconicity -- [[file:design/the-two-brains.org][The Two Brains]] — probabilistic-deterministic split, four pillars, dispatcher as learning system -- [[file:design/safety-self-preservation.org][Safety & Self-Preservation]] — self-preservation, type-level gates, layered signal authentication -- [[file:design/the-symbolic-engine.org][The Symbolic Engine]] — options, gate bootstrap, cardinality policies, ontology, Merkle DAG -- [[file:design/knowledge-sources.org][Knowledge Sources]] — Wikidata, MOMo -- [[file:design/implementation-properties.org][Implementation Properties]] — performance, provenance chain -- [[file:design/engineering-infrastructure.org][Engineering Infrastructure]] — REPL, cybernetic loop, observability, literate programming, evaluations, MCP, local-first, token economics, time awareness -- [[file:design/validation.org][Validation]] — Whitehead, McCarthy, Marcus, CREST, competitive argument -- [[file:design/open-questions.org][Open Questions]] -- [[file:design/relation-to-passepartouts-existing-architecture.org][Relation to Existing Architecture]] diff --git a/projects/passepartout/architecture/distinguishing-features.org b/projects/passepartout/architecture/distinguishing-features.org index e4373b6..8d59f27 100644 --- a/projects/passepartout/architecture/distinguishing-features.org +++ b/projects/passepartout/architecture/distinguishing-features.org @@ -11,7 +11,7 @@ This is a working list of what distinguishes Passepartout's architecture from al **1. Neurosymbolic (vs pure neural)** -Not an LLM bolted onto a database. The system fundamentally bridges neural and symbolic representations, not as an integration layer but as a unified semantics. See [[id:1c3ec48b-446c-50d2-b53e-126a81f5143f][architecture.org]] and [[id:0a33bd83-ff3c-4eac-bc97-83eb6702051a][design-decisions.org]] for the full architecture and design reasoning. +Not an LLM bolted onto a database. The system fundamentally bridges neural and symbolic representations, not as an integration layer but as a unified semantics. See [[id:1c3ec48b-446c-50d2-b53e-126a81f5143f][architecture.org]] and [[id:e32290a0-a02a-4af7-ae22-243d04a7ac82][Design Decisions]] for the full architecture and design reasoning. **2. Symbolic above neuro (vs other neurosymbolic architectures)** @@ -19,15 +19,15 @@ The Gate is the mechanism: an ACL2-verified deductive layer that is authoritativ **3. Org-mode data store + neural index + symbolic index** -One file format for human and machine. The Org file is not a representation of the data — it IS the data. Both indices (neural embeddings for semantic search, symbolic assertions for formal reasoning) are derived views that can be rebuilt from the Org source. No translation layer, no schema migration, no vendor lock-in. See [[id:design-org-unified-ast][design-decisions.org]] for the full analysis. +One file format for human and machine. The Org file is not a representation of the data — it IS the data. Both indices (neural embeddings for semantic search, symbolic assertions for formal reasoning) are derived views that can be rebuilt from the Org source. No translation layer, no schema migration, no vendor lock-in. See [[id:design-org-unified-ast][Org-Mode as Unified AST]] for the full analysis. **4. Wikipedia bootstraps general knowledge, LLM bootstraps specialized domains** -General world knowledge seeds from structured sources (Wikidata, Wikipedia infoboxes) at minimal cost. Specialized domains (regulatory compliance, physics, medicine) are extracted by LLM from prose, then verified by the Gate. The bootstrapping is cheap and incremental, not a 24.5M-assertion Manhattan project. See [[id:0a33bd83-ff3c-4eac-bc97-83eb6702051a][design-decisions.org]] for details on the Wikipedia knowledge seed strategy. +General world knowledge seeds from structured sources (Wikidata, Wikipedia infoboxes) at minimal cost. Specialized domains (regulatory compliance, physics, medicine) are extracted by LLM from prose, then verified by the Gate. The bootstrapping is cheap and incremental, not a 24.5M-assertion Manhattan project. See [[id:e32290a0-a02a-4af7-ae22-243d04a7ac82][Design Decisions]] for details on the Wikipedia knowledge seed strategy. **5. Lisp and homoiconicity — one address space** -Editor, shell, browser, and agent run in the same Lisp image. The Gate is in the evaluation loop itself, not interposed as an OS layer. There is no MMU boundary between components because there are no separate processes. No IPC, no kernel boundary to attack. The system verifies code at the level where code and data share representation. See [[id:1c3ec48b-446c-50d2-b53e-126a81f5143f][architecture.org]] for the full address space argument, and [[id:0a33bd83-ff3c-4eac-bc97-83eb6702051a][design-decisions.org]] for the homoiconicity foundation. +Editor, shell, browser, and agent run in the same Lisp image. The Gate is in the evaluation loop itself, not interposed as an OS layer. There is no MMU boundary between components because there are no separate processes. No IPC, no kernel boundary to attack. The system verifies code at the level where code and data share representation. See [[id:1c3ec48b-446c-50d2-b53e-126a81f5143f][architecture.org]] for the full address space argument, and [[id:e32290a0-a02a-4af7-ae22-243d04a7ac82][Design Decisions]] for the homoiconicity foundation. **6. Social protocol** @@ -51,7 +51,7 @@ Because code and data share the same representation in a Lisp address space, the **11. Cost inversion (80% symbolic at near-zero marginal cost)** -Symbolic reasoning is typically expensive (knowledge engineering, ontology maintenance). Passepartout inverts this: the LLM generates symbolic assertions cheaply, the Gate verifies them deductively, and the Org source stores them as a human-readable byproduct. The expensive part becomes the verification, which compounds with every use. See [[id:0a33bd83-ff3c-4eac-bc97-83eb6702051a][design-decisions.org]] for the token economics analysis. +Symbolic reasoning is typically expensive (knowledge engineering, ontology maintenance). Passepartout inverts this: the LLM generates symbolic assertions cheaply, the Gate verifies them deductively, and the Org source stores them as a human-readable byproduct. The expensive part becomes the verification, which compounds with every use. See [[id:e32290a0-a02a-4af7-ae22-243d04a7ac82][Design Decisions]] for the token economics analysis. **12. Potential revenue streams from the Social Protocol** diff --git a/projects/passepartout/architecture/lisp-foundation.org b/projects/passepartout/architecture/lisp-foundation.org index 2f3ee79..1fff417 100644 --- a/projects/passepartout/architecture/lisp-foundation.org +++ b/projects/passepartout/architecture/lisp-foundation.org @@ -7,7 +7,7 @@ #+filetags: :passepartout:architecture:common-lisp:prover:ACL2:HOL: #+STATUS: active -Passepartout's architecture — verified gate, single address space, self-modifying agent — depends on running on a Lisp that can be proved correct. This document explains why Lisp is the right foundation, what gaps remain in the current ecosystem, and how the prover bootstraps from ACL2 to a verified HOL kernel to a self-verifying stack. It is the "Lisp layer" of the architecture, alongside the four-subsystem description in [[id:1c3ec48b-446c-50d2-b53e-126a81f5143f][architecture.org]] and the design rationale in [[id:0a33bd83-ff3c-4eac-bc97-83eb6702051a][design-decisions.org]]. +Passepartout's architecture — verified gate, single address space, self-modifying agent — depends on running on a Lisp that can be proved correct. This document explains why Lisp is the right foundation, what gaps remain in the current ecosystem, and how the prover bootstraps from ACL2 to a verified HOL kernel to a self-verifying stack. It is the "Lisp layer" of the architecture, alongside the four-subsystem description in [[id:1c3ec48b-446c-50d2-b53e-126a81f5143f][architecture.org]] and the design rationale in [[id:e32290a0-a02a-4af7-ae22-243d04a7ac82][Design Decisions]]. * What It Is and Why diff --git a/projects/passepartout/architecture/split-design.py b/projects/passepartout/architecture/split-design.py deleted file mode 100644 index a42b947..0000000 --- a/projects/passepartout/architecture/split-design.py +++ /dev/null @@ -1,56 +0,0 @@ -import re -import os - -with open('design-decisions.org', 'r') as f: - content = f.read() - -lines = content.split('\n') - -in_code = False -sections = {} -current_heading = None -current_lines = [] - -for i, line in enumerate(lines): - if line.startswith('#+BEGIN_SRC') or line.startswith('#+BEGIN_EXAMPLE'): - in_code = True - elif line.startswith('#+END_SRC') or line.startswith('#+END_EXAMPLE'): - in_code = False - - if not in_code and re.match(r'^\* [^*]', line): - if current_heading is not None: - sections[current_heading] = '\n'.join(current_lines) - current_heading = line.replace('* ', '', 1).strip() - current_lines = [line] - elif current_heading is not None: - current_lines.append(line) - -if current_heading is not None: - sections[current_heading] = '\n'.join(current_lines) - -print(f"Found {len(sections)} sections:") -for h in sections: - slines = sections[h].split('\n') - print(f" {h} ({len(slines)} lines)") - -for hname, body in sections.items(): - slug = hname.lower().replace(' & ', '-').replace(' \u2014 ', '-').replace(' ', '-') - slug = slug.replace("'", '').replace('#', 'sharp').replace('(', '').replace(')', '') - slug = slug.strip('-') - - body = body.strip() - - out = f"""--- -title: {hname} -type: reference -tags: :passepartout:architecture: ---- - -{body} -""" - path = f'design/{slug}.org' - with open(path, 'w') as f: - f.write(out.strip() + '\n') - print(f" Wrote {path}") - -print("Done")