Separation and responsibility
BuiltRendered from separation_and_responsibility.md in the public repository. Edits belong there.
This page states what this repository contains, what it publishes, and what belongs elsewhere.
This repository
| Directory | Content | Published |
|---|---|---|
micyte/ | The software: core engine, ports, adapters, shell, tools, channels, routines. | Yes, as MiCyte/MiCyte (AGPL-3.0). |
fnd_app/ | Fruitful Network Development's hosting application. Depends on micyte/. | No. |
scripts/ | Repository tools. Six are published; the rest serve one host. | Partly. |
docs/ | Contracts, standards and this wiki. | Mostly. |
The dependency runs one way: fnd_app imports micyte; micyte does not import fnd_app. fnd_app/tests/architecture/test_micyte_fnd_boundary.py enforces both directions. One exception, a function-level import in micyte/adapters/filesystem_datum/__init__.py, is named in that file.
micyte/ owns:
- the datum engine, the MOS store contract and the SQLite adapter;
- the port contracts and the write and external-call policies;
- the shell, surfaces, tools, channels, routines and lenses;
- the package declarations.
Outside this repository
| Concern | Where it belongs |
|---|---|
| Web server, process supervision, containers, the identity provider | The host's infrastructure. |
| Website source and generated pages (micyte.com and client sites) | The site repositories. |
| An instance's live state (its store, configuration, keys) | The instance's private directory on its host, outside git. |
Outside services (mail, hosting, payments, AI providers, cloud status) are reached through ports and adapters (92), not owned by the core. Infrastructure health is read through bounded read-only ports (aws_read_only_status), not by moving infrastructure into the core.
Documentation
docs/contracts/states rules.docs/standards/states authoring rules.docs/wiki/explains how things work and links to the rules.