MiCyte

← The wiki

MiCyte — overview and glossary

BuiltRendered from 00-overview-and-glossary.md in the public repository. Edits belong there.

This page states what MiCyte is, maps its layers to packages, lists every wiki page, and defines the terms the wiki uses.

What MiCyte is

MiCyte is software for keeping records and building applications on them. An instance holds its own records at its own address and is the unit of identity on the network. Applications written and hosted by anyone work with an instance through the same data standard. Running the software needs no account and no rented service (96).

Records are datums: rows addressed <layer>-<value_group>-<iteration>, grouped into datum documents, stored in one per-instance database (MOS, Mycelial Ontological Schema). Primitive datums at 0-0-* (rudis) are the base units; other datums reference them. A datum's dependency closure gives it a content-derived identity (its hyphae value).

Layers

LayerContentPackagesPage
L1 coreAddresses, the datum engine, MSS identity, SAMRAS and HOPS structures, the WORKBOOK-YAML codecmicyte/core/datum_semantics/, micyte/core/mss/, micyte/core/datum_ops/, micyte/core/datum_io/, micyte/core/structures/10
L2 persistenceThe datum store port and its SQLite adapter, canonical document idsmicyte/ports/datum_store/, micyte/adapters/sql/, micyte/core/document_naming/20
L3 shellSurfaces, shell state, tool eligibility, the workbenchmicyte/state_machine/portal_shell/, micyte/tools/workbench_ui/30
RegistersTools, channels, routines, lensesmicyte/tools/, micyte/channels/, micyte/automation/, micyte/state_machine/lens/40
PortsSeams to outside servicesmicyte/ports/, micyte/adapters/92
NetworkKeys, contracts, channelsmicyte/core/crypto/, micyte/domains/contracts/, micyte/channels/90

The hosting application in fnd_app/ runs on micyte/ and is not published (separation and responsibility).

Pages

Standards

Architecture

Applications

Datum identity

How-to

Network, ports, marketplace, hosting

About the wiki

Glossary

Where this glossary and docs/contracts/portal_vocabulary_glossary.md differ, the contract is canonical.

  • datum — one row of a datum document: a datum_address, a raw cell list, and references to other datums. Modelled by AuthoritativeDatumDocumentRow in micyte/core/datum_documents.py.
  • datum address — <layer>-<value_group>-<iteration>, for example 0-0-1 or 3-1-4. Parsed by parse_datum_address in micyte/core/datum_semantics/engine.py. An address is local to its document.
  • rudi — a primitive datum at layer 0, value group 0 (0-0-*).
  • hyphae value — a datum's content-derived identity, computed over its dependency closure and the rudi chain 0-0-1 … 0-0-K (derive_hyphae_chain in micyte/core/mss/datum_identity.py). See 60.
  • hyphae flag — a registered binding from a hyphae value to a tool or lens. The registry exists and is empty (60).
  • MSS — the canonical single-sequence encoding of datums and the version hash computed over it. See 61.
  • hyphae (payload) — an MSS payload for one focused datum and its dependencies, naming its document (micyte/core/mss/hyphae.py). The network's citation form.
  • SAMRAS — the structural model for breadth-first child-count trees: encode, decode, address derivation (micyte/core/structures/samras/; docs/contracts/samras_structural_model.md).
  • HOPS — mixed-radix coordinate decoding for time and place (micyte/core/structures/hops/).
  • datum document — a named set of datum rows, stored in MOS. Modelled by AuthoritativeDatumDocument in micyte/core/datum_documents.py.
  • canonical document id — lv.<msn>.<sandbox>.<name>.<version_hash> for sandbox documents; stl. and cptr. ids carry no sandbox (micyte/core/document_naming/; docs/contracts/datum_document_naming_taxonomy.md).
  • msn — an instance's node address in the registrar's msn tree. It must be non-empty and contain no ..
  • sandbox — a named group of datum documents inside an instance. The shell focuses one sandbox at a time.
  • anchor — the document in a sandbox that holds the primitive, magnitude, abstraction and babelette rows the sandbox's other documents reference (82).
  • archetype — the declared shape of a kind of document; a viewscope declares how it is drawn (41). Archetype tokens decide which tools a document is offered.
  • WORKBOOK-YAML — a YAML rendering of datum documents used as a transport format, never as storage (micyte/core/datum_io/codec.py).
  • tool — a registered object that draws a panel for a selected document (80).
  • lens — a codec between a datum's stored value and its displayed value (81).
  • channel — a read-only session surface for callers outside the instance (91).
  • routine — a registered writer that runs when a condition holds (40).
  • package / app / extension — an installable unit declared in micyte/tools/_packages.py. An app ships tools; an extension fills a port (93).
  • port — a seam to an outside service; works when its type, extension, binding and grant all hold (92).
  • contact card — an instance's registrar entry. Carries public_signature (3-1-17) and instance_endpoint (3-1-18) (90).
  • contract — an encrypted relationship between two instances, formed by a signed handshake and run on a minted symmetric key (90).
  • magnet reference — hy.<msn>.<sandbox>.<document>.<version_hash>.<address>, a reference to one datum in another instance. Resolving one across instances is not built.

Page conventions

Each page starts with a title, a > Status: line (see README) and a link back to this page. Statements about code name the file they are true of. Something not built is stated in one line as not built. Rules belong in docs/contracts/; pages link to them.