Files
hermes-brain/projects/passepartout/architecture/repo-organization.org
Hermes c5d0695acf Reorder architecture sidebar using weights: stages first, then foundation, epistemology, design, implications, reference
- Add :WEIGHT: extraction to build script (from Org PROPERTIES into Hugo TOML frontmatter)
- Shorten architecture _index.org staged progression to a single-line summary pointing to stages/ directory
- Weight order (sidebar now reads in this order):
  stages/ (10-20) — the roadmap, early so references make sense
  lisp-foundation.org (21) — why Lisp
  knowledge-layers/ (30-32) — how the system knows
  design-decisions through neuro-comparison (40-45) — design
  systemic-effects (50) — implications
  org-knowledge-base through repo-organization (60-64) — reference
- Rebuild: 148 files, 0 errors
2026-06-04 19:36:53 +00:00

2.9 KiB

— title: Repo Organization type: reference tags: :passepartout:architecture:infrastructure: created: 2026-05-28 —

← Architecture index

Passepartout spans multiple repos across three tiers:

## Tier 1: Core Passepartout

Repo Description Language
passepartout PDS (Personal Data Store) — protocol server, gate orchestration, storage Common Lisp (SBCL)
passepartout-saas SaaS control plane — billing, enterprise dashboard, marketplace listings, usage monitoring Web stack (TBD)
relay Social protocol relay — pub/sub message routing between PDSs Initially sidecar, possibly Lisp when loop generates it

## Tier 2: Client Applications

Repo Description Language
passepartout-app/ios Native iOS client Swift
passepartout-app/android Native Android client Kotlin
hardware-firmware Hardware wallet firmware loop-generated target (small, constrained)

## Tier 3: Extracted Spec Libraries

Each is a published standard implemented as a standalone Common Lisp library. Separated from the PDS early so the core stays lean and the libraries are available to other projects.

Library Spec Dependencies
cl-dag / cl-cid IPLD/Merkle DAG, CID encoding cl-crypto (SHA-256)
cl-did W3C DID specification, did:key method, Ed25519 key management cl-crypto
cl-jose JWE/JWS envelope handling cl-crypto
cl-double-ratchet Signal Double Ratchet algorithm, forward secrecy cl-crypto
cl-bip BIP-32 (HD derivation), BIP-39 (mnemonics), BIP-44 (path scheme) cl-crypto
cl-didcomm DIDComm v2 message packing, forwarding, routing cl-did, cl-jose, cl-double-ratchet

## Sidecar Strategy (Initial Release)

The first release ships spec-compliant behavior via battle-tested C/Rust implementations before native CL libraries mature:

Domain Initial approach Target replacement
DAG/CID storage IPFS HTTP API (sidecar daemon) cl-dag native
Double Ratchet CFFI → libsignal (Signal's C library) cl-double-ratchet
DID operations CFFI → didkit (Spruce, Rust + C bindings) cl-did
DIDComm CFFI → didcomm-rust (DIDComm WG, C bindings) cl-didcomm
BIP derivation Sidecar script or CFFI → libbitcoin cl-bip
JOSE envelopes CFFI → libjose or OpenSSL CMS cl-jose

Each replacement is independent and non-blocking. The gate (Stage 2) can verify sidecar responses against policy while the library is still a black box.

## Key principle

Published specs → separate library. Internal design choices → stay in the PDS repo until a second consumer appears.

→ SaaS Architecture → Stage 1 — Social Protocol