HPPR Specs

Tags: overview

HPPR is Hyper Plex Packet Repository.

Purpose

HPPR specifies a layered protocol for storing, signing, addressing, exchanging, and routing content-addressed packets.

The specs are written for implementers of packet libraries, repository daemons, clients, transports, and route-aware applications.

Architecture at a Glance

  1. Encoding and crypto: B64A and HSB3.
  2. Stored packet format: Blob, Plex, and Seal packets.
  3. Addressing: hash addresses and coordinates.
  4. Command messages and flows: session and message command execution.
  5. Transports: TCP/WebSocket/QUIB session flow; HTTP/UDP message flow.
  6. Repository service: commands, envelopes, ACL, Ring1/Ring2 auth, storage.
  7. Higher-level conventions: links, chunks, replication, admin workflows, routes, names, and attestations.

Reader Paths

Reader Start with Then read
Packet-library implementer 006, 009, 010 011, 012, 070
Client implementer 020, 030, 031, 032 033-036, 041-045
Repository implementer 040-045 050-060, 080-090
Route/application implementer 100 110

Conformance Profiles

MUST and SHOULD requirements apply to implementations claiming the relevant profile.

Profile Required specs
Packet profile 006, 009, 010
Repository client profile 020, 030-035, 041-045
Repository service profile 040-045, 050-060, 080-090
QUIB profile 036 plus repository session-flow specs when used with hpprd
Route resolver profile 100, 110 plus repository client profile

Reading Order

The specs are numbered in recommended reading order. Tags describe each spec’s primary layer or role.

No. Spec Tags
006 Base64-Ascend packet, encoding
009 HSB3 Signatures packet, crypto
010 Packets packet, stored-format
011 Basic Packet Examples packet, example
012 Create Examples packet, example
020 Unified Resource Coordinate packet, addressing
030 Command Messages wire, command
031 Command Flows wire, command-flow
032 HELLO and Endpoint Metadata wire, command-flow, metadata
033 Via Syntax wire, transport
034 HTTP Transport wire, transport, message-flow
035 UDP Datagram Transport wire, transport, message-flow
036 QUIB wire, transport, session-flow
040 Repository Service repo, overview
041 Repository Commands repo, command
042 Repository Request Envelopes repo, command-flow, auth
043 Repository Session Flow repo, command-flow, session
044 Repository Message Flow repo, command-flow, message
045 Repository Identity Text repo, auth, client
050 Repository Access Control repo, auth, policy
051 Ring1 Repository Authentication repo, auth
052 Ring2 Group Authentication repo, auth
060 Filesystem Repository repo, storage
070 Packet Links and Chunks packet, content-convention
080 Replication and Streams repo, command, streaming
090 Admin and Join Conventions repo, workflow
100 Content Routes scheme, route
110 Routes, Names, and Attestation scheme, route, name, attest

Reference Implementation

hpprd is the reference daemon implementation. It implements the repository service specs tagged repo.