45 lines
2.9 KiB
Org Mode
45 lines
2.9 KiB
Org Mode
---
|
|
title: The Gate-to-Fact Bootstrap — Extracting the First Ontology from Code
|
|
type: reference
|
|
tags: :passepartout:architecture:
|
|
---
|
|
|
|
* The Gate-to-Fact Bootstrap — Extracting the First Ontology from Code
|
|
:PROPERTIES:
|
|
:ID: 28a8caf7-c0a1-4154-8ca3-3a0d11cf121a
|
|
:ID: design-gate-bootstrap
|
|
:CREATED: [2026-05-08 Fri]
|
|
:WEIGHT: 40
|
|
:END:
|
|
|
|
The Dispatcher gate stack already encodes an implicit ontology. Every gate vector asserts the existence of a category of things:
|
|
|
|
- Gate vector 2 asserts there exists a class of files called /secrets/.
|
|
- Gate vector 7 asserts there exists a class of commands called /destructive/.
|
|
- Gate vector 8 asserts there exists a class of domains called /trusted/.
|
|
- The self-build boundary asserts there exists a class of files called /core-harness/ and a class called /skills/.
|
|
|
|
These claims are currently expressed as code — Lisp functions that pattern-match against file paths, shell commands, and URLs. They are not facts the symbolic engine can query, derive from, or check for consistency. But they can be made explicit.
|
|
|
|
The bootstrap makes every gate a set of initial symbolic facts:
|
|
=(:file ".env" :member-of-class :secret-files :source gate-vector-2)=,
|
|
=(:command "rm -rf /" :classified-as :catastrophic :source gate-vector-7)=,
|
|
=(:domain "api.telegram.org" :classified-as :trusted :source gate-vector-8)=.
|
|
|
|
This produces 50-70 entity classes directly from the existing gate stack, without any new infrastructure:
|
|
|
|
| Source | Count | Example categories |
|
|
|----------------------------------------+-------+----------------------------------------------------|
|
|
| ~*dispatcher-protected-paths*~ | 11 | :secret-config-file, :ssh-key-file, :gpg-key-file |
|
|
| ~*dispatcher-shell-blocked*~ | 8 | :catastrophic-command, :injection-pattern |
|
|
| ~*dispatcher-network-whitelist*~ | 2 | :trusted-domain, :untrusted-domain |
|
|
| Self-build boundary | 2 | :core-harness-file, :skill-file |
|
|
| Privacy tags | 3 | :private-content, :financial-content |
|
|
| Permission table | 3 | :read-only-tool, :write-tool, :eval-tool |
|
|
| Cognitive tools | 6 | :code-search-tool, :file-io-tool, :shell-tool |
|
|
| Relations (all gates) | ~15 | :member-of-class, :classified-as, :depends-on |
|
|
| Qualities | ~8 | :catastrophic, :dangerous, :moderate, :harmless |
|
|
| Provenance sources | 4 | :gate-outcome, :human-authored, :deduced, :llm-proposed |
|
|
|
|
This is the seed. It gives Screamer a domain to reason about immediately, without any LLM involvement. It proves the pattern — code becomes facts, facts enable reasoning — at the cost of approximately 30 lines of Lisp.
|