Metadata-Version: 2.5
Name: oak-domain-understory
Version: 0.6.7
Summary: Tier 1 — the Understory host: the one package that touches the platform.
Requires-Python: >=3.13
Requires-Dist: oak-understory-common<3,>=2
Requires-Dist: timber-common>=0.6.16
Provides-Extra: dev
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Description-Content-Type: text/markdown

# oak-domain-understory

**Tier 1 — the Understory host.** The one package that touches the platform, and
the only one besides a faculty that earns the word `domain`: it registers a
tenant-facing capability across four layers, and it does so *on behalf of* every
faculty, so no faculty ever owns a mount point.

It depends on `oak-understory-common` and nothing else of Understory's. Officers,
faculties and checkers are **discovered through the registers** (entry points) and
never imported — which is what makes swapping the Custodian for an A2A proxy a
one-line edit to the instrument rather than a rebuild.

```
registry/     who is a member          discover → accredit → infuse
governance/   what happens to a question   pitch → gate → charter → verdict → harvest
plugin.py     the four platform faces (Timber, Grove, Grove workers, Acorn)
understory.toml   the instrument of government — Steward-owned
```

**Bootstrap fails closed.** A Cabinet post with no installed package, an
officeholder outside its accredited version range, or an accredited faculty that
is not installed all refuse the start. Exactly one discrepancy is non-fatal: a
faculty installed but *not* accredited, which is a package sitting inert awaiting
a decision. Missing governance is fatal; unaccredited capability is pending.

Authority: `understory/docs/registers-and-the-instrument.md`, `faculty-contract.md`.

```bash
make test
```
