Immutable, composable objects for the Logoverse.
Each object is both code and data, with identity grounded in cryptographic content addressing.
-
Identity = CID
Every object has a stable content address (Cid()). -
Immutability
All changes yield new CIDs. Objects are append-only. -
Composability (β)
Objects compose into objects viaCompose(...). -
Dual Representation (Code/Data)
Executable and portable data are one. -
Addressable Projections (Probes)
Paths probe into object state:ToPath / FromPath. -
Renderability
Any object renders into surfaces: UI (RenderForm), visual (SVG), semantic (JsonLD). -
Determinism
Pure functions only: same inputs β same outputs. -
Permissionless + Attribution
Anyone can register; attribution is carried in metadata. -
Interoperability via JSON-LD
Objects expose meaning with@context,@type. -
Observability
Each object has semantic, visual, and cryptographic views. -
Evolvability by Versioning
Explicit versions (v0)βupgrades create new objects. -
Sealed Views
(CID β Path)defines a sealβa pinned, canonical projection.
// Visual + semantic + identity
type LogoGraph interface {
SVG(...string) string
JsonLD(...string) eve.JsonLDMap
Cid(...string) string
Thumbnail(...string) string
}
// Addressable projections + composition
type Projectable interface {
ToPath(...interface{}) string
FromPath(...string) interface{}
Compose(...interface{}) eve.JsonLDMap
}
// Render surfaces
type Editable interface {
RenderForm(...string) string
}type OfficeHours struct {
Status string
StartDate string
EndDate string
Settings map[string]string
}
func (o OfficeHours) Compose(...interface{}) eve.JsonLDMap { /* ... */ }
func (o OfficeHours) ToPath(...interface{}) string { return "/tz/UTC" }
func (o OfficeHours) FromPath(p string) interface{} { /* ... */ }
func (o OfficeHours) JsonLD(...string) eve.JsonLDMap { return o.Compose() }
func (o OfficeHours) Cid(...string) string { return o.Compose().Cid() }
func (o OfficeHours) SVG(...string) string { return `<svg>Office Hours</svg>` }Cid()β Identity, immutabilityCompose(...)β Composability, determinismToPath/FromPathβ Probes / sealed viewsSVG/JsonLDβ Dual representation
[ Object O ] --probe p--> [ View Vp ]
|
| Compose β
v
[ O β O' ] --probe p'--> [ View Vp' ]
- Objects = nodes
- Probes = morphisms into views
- Seals = (Cid, path) as canonical edges
Logoverse Objects = falsifiable, composable, censorship-resistant atoms of the semantic internet.
Enables the Render Function to be a widget