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.
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).