Skip to content
View tompassarelli's full-sized avatar

Block or report tompassarelli

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tompassarelli/README.md

Tom Passarelli

Building graph-native systems from the bottom up: an operating system, fact-graph database, a typed language projected from it, and a coordination layer that humans and AI agents share. The thesis running through all of it — a program's source of truth should be a fact graph, not text files.

Building

Fram — append-only fact-graph database (triples + Datalog). Every fact is an immutable, addressable triple; lifecycle is derived, never stored. Agents commit facts to one canonical log, so a whole class of merge conflict is impossible by construction — and renames re-point references by identity, not spelling.

Beagle — a typed Lisp where one source compiles to Clojure, JavaScript, Nix, and Odin, each rendered idiomatically. Built as an authoring surface for AI coding agents: a warm, def-level type checker returns pointed errors fast enough to collapse the repair loop. Beagle text is a projection of the Fram graph — delete the file, re-render it from the log, and it recompiles clean.

North — human + agent coordination/orchestration on Fram. Capture an intention as facts, then ask what's ready, blocked, and highest-leverage; the board is derived, never hand-maintained. The same coordinator drives multi-agent work: spawn, steer, dispatch.

Declarative Systems, Tooling, and Apps

  • firn — typed authoring layer for NixOS / nix-darwin; catches config errors at the source line, before rebuild.
  • gjoa — a Firefox fork where the power-user stack — blocking, tree-style tabs, vim navigation, workspaces — is native, not bolted on through extensions.
  • wake — declarative web-app compiler; one checked entity graph projects to direct-DOM UI, SQL, a REST server, and tests — no virtual DOM, no runtime.

Contributor

Now

Founder at Passer, building products on that substrate. Fractional CTO at MSA, leading a platform rebuild in TypeScript and Postgres.

Writing

Essays on process-primitive ontology, evaluation gates, and agency theory, published CC0 — start with The Consistency Gate.


tompassarelli.org · tom.passarelli@protonmail.com · in/tom-passarelli-33759b229

Pinned Loading

  1. palefox palefox Public

    palefox, an early Firefox customization prototype, superseded by Gjoa

    TypeScript 69 5

  2. beagle beagle Public

    a typed programming language that emits to multiple backends

    Racket 24

  3. gjoa gjoa Public

    A browser at your command

    JavaScript 10

  4. firn firn Public

    a typed authoring layer for NixOS/nix-darwin; catches config typos and type errors at the source line, before rebuild

    Shell 7 1

  5. fram fram Public

    A fact database engine

    Clojure 3 1

  6. north north Public

    An agent harness with project management

    TypeScript 3