Expand description
ONT-4: the world doors, in one implementation.
harness.v1.world.load|save|compile|decompile|import|export and
supercode world <verb> are two transports over the functions here, which
are themselves a thin wrapper over the ONT-3 codecs
(supercode_interchange::world::codec). Nothing in this module decides
anything a codec does not: it picks the codec the caller named, keeps the
io bookkeeping a decompile needs, and shapes the answer for the wire.
One rule the wire adds: a vault VALUE never leaves. A load or a compile
answers with the vault’s KEY NAMES only — the caller that needs a value
reads the home’s own .env. That rule is why import and export exist
as verbs of their own: a migration moves credentials between homes, and
composed from the value-level verbs by a client it could not — the
credential would have to cross the wire. Here it stays in this process.
Structs§
- Refusal
Row - A refused write, on the wire.
- World
Decompiled - What a decompile did.
- World
Imported - What an import did: the world as saved, the vault’s key names, and the unmodeled files carried by path.
- World
Read - What a load or a compile answers: the world, and the vault’s key names.
- World
Saved - What a save answers.
Enums§
- Home
Flavor - Which layout a folder is read as (
harness.v1.world.load’sflavor). - Source
Flavor - What kind of home
decompile’ssourceis. - World
Harness - Which source harness a world is compiled from or decompiled back to.
Functions§
- compile
harness.v1.world.compile: read another harness’s home as one world value.- decompile
harness.v1.world.decompile: write a world back as the source harness’s home.- export
harness.v1.world.export: our folder becomes another harness’s home.- import
harness.v1.world.import: another harness’s home becomes our folder.- load
harness.v1.world.load: read a home folder as one world value.- save
harness.v1.world.save: write a world into our own folder.