libertaria-stack/core/l0-transport
Markus Maiwald 07ccd484f1
refactor: restructure repository with tiered licensing
Major restructuring of libertaria-sdk -> libertaria-stack:

FOLDER REORGANIZATION:
- core/          - L0-L3 layers (Commonwealth LCL-1.0)
  - l0-transport/
  - l1-identity/
  - l2_session/
  - l2-federation/
  - l2-membrane/
- sdk/           - L4+ and bindings (Sovereign LSL-1.0)
  - janus-sdk/
  - l4-feed/
- apps/          - Examples (Unbound LUL-1.0)
  - examples/
- legal/         - All license texts

LICENSES ADDED:
- LICENSE_COMMONWEALTH.md (LCL-1.0) - Viral reciprocity for Core
- LICENSE_SOVEREIGN.md (LSL-1.0) - Business-friendly for SDK
- LICENSE_UNBOUND.md (LUL-1.0) - Maximum freedom for docs/apps

BUILD.ZIG UPDATED:
- All paths updated to new structure
- Examples imports fixed

README.md REWRITTEN:
- Documents new folder structure
- Explains tiered licensing strategy
- Clear SPDX identifiers per component

NO CLA REQUIRED - contributors keep copyright
2026-02-05 20:12:32 +01:00
..
ipc refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
opq refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
utcp refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
README.md refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
dht.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
gateway.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
lwf.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
mimic_dns.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
mimic_https.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
mimic_quic.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
mod.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
noise.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
opq.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
png.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
quarantine.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
relay.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
service.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
time.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
transport_skins.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00
utcp.zig refactor: restructure repository with tiered licensing 2026-02-05 20:12:32 +01:00

README.md

L0 Transport Layer

Layer: L0 (Transport)
Purpose: Wire protocols, frame encoding, time primitives
RFCs: RFC-0000 (LWF), RFC-0105 (Time L0 component)


Overview

The L0 Transport layer provides low-level wire protocol implementations for the Libertaria network. It handles packet framing, serialization, and transport-layer timestamps.

Components

LWF (Libertaria Wire Frame) - lwf.zig

RFC: RFC-0000
Wire protocol implementation for fixed-size headers and variable payloads. Supports CRC32-C and Ed25519.

Time - time.zig

RFC: RFC-0105
Nanosecond precision transport-layer time primitives.

UTCP (Unreliable Transport Protocol) - utcp/socket.zig

RFC: RFC-0010
Fast-path UDP wrapper for LWF frames. Features rapid entropy validation (DoS defense) before deep parsing.

OPQ (Offline Packet Queue) - opq/

RFC: RFC-0020
High-resilience store-and-forward mechanism using a Segmented WAL (Write-Ahead Log) for 72-96 hour packet retention.

L0 Service - service.zig

The integrated engine that orchestrates Network -> UTCP -> OPQ -> Ingestion. Handles automated maintenance and persona-based policies.


Usage

const l0 = @import("l0_transport.zig");

// Create LWF frame
var frame = try l0.lwf.LWFFrame.init(allocator, 1024);
defer frame.deinit(allocator);

// Set header fields
frame.header.service_type = 0x0700; // Vector message
frame.header.timestamp = l0.time.nowNanoseconds();

// Encode for transport
const encoded = try frame.encode(allocator);
defer allocator.free(encoded);

Testing

Run L0 tests:

zig test l0-transport/lwf.zig
zig test l0-transport/time.zig

Dependencies

  • std.mem - Memory management
  • std.crypto - CRC32, hashing
  • std.time - System time access