chaos

A shared type-system substrate: the type runtime that lets capture plugins express full types, and lets any consumer (madder, cutting-garden, dodder, …) resolve them natively — rather than each consumer re-declaring what a plugin's objects mean.

chaos is the type runtime layer of a four-tier stack:

piggy            markl (digests, signatures), ids (id structs)
   ▼
hyphence         the wire format (the `---`-fenced metadata+body document
   ▼             format; typed blob references). code.linenisgreat.com/hyphence
chaos            the TYPE RUNTIME — this repo: the type-blob model (fields,
   ▼             references config, the null type `!`, meta-types), the
                 dispatch contract (project / execute / validate /
                 extract_refs / exports), and the codec-carrier abstraction.
{ madder , cutting-garden , dodder , … }   consumers / peers

The driving idea is an inversion: today the type system lives downstream in dodder, and capture tools produce opaque receipts a consumer must re-interpret. chaos makes the type system a shared upstream so a plugin carries its own types and any consumer resolves and even drives them (create/update) through one uniform contract. WASM is the eventual codec-carrier; the near-term carrier is the subprocess plugin model cutting-garden already ships.

Status

Exploring. No code yet. The architecture, layering, and phased plan live in:

RFC 0001 supersedes the direction of dodder FDR-0013 / FDR-0014 and realizes dodder FDR-0000's cosmology with a subprocess codec carrier. It is grounded in a dependency-edge trace of dodder's type core (see the RFC's § Seam Analysis).