gbrain: sync converted org-mode brain files
This commit is contained in:
68
projects/passepartout/architecture/repo-organization.org
Normal file
68
projects/passepartout/architecture/repo-organization.org
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Repo Organization
|
||||
type: reference
|
||||
tags: :passepartout:architecture:infrastructure:
|
||||
created: 2026-05-28
|
||||
---
|
||||
|
||||
← Architecture index
|
||||
|
||||
# Repo Organization
|
||||
|
||||
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
|
||||
|
||||
:PROPERTIES:
|
||||
:CREATED: [2026-05-11 Mon]
|
||||
:ID: af9ce196-24a5-4035-bc02-83ddd60c1b09
|
||||
:END:
|
||||
Reference in New Issue
Block a user