Metadata-Version: 2.5
Name: oak-understory-common
Version: 2.8.1
Summary: Tier 0 — the Understory constitution (typed claims, status taxonomy, exit envelope).
Requires-Python: >=3.13
Requires-Dist: cambium-ai<0.5,>=0.3
Requires-Dist: pydantic<3,>=2.5
Provides-Extra: dev
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Provides-Extra: signing
Requires-Dist: cryptography<46,>=42; extra == 'signing'
Description-Content-Type: text/markdown

# oak-understory-common

Tier 0 — the Understory constitution (typed claims, status taxonomy, exit envelope).

The **contract** (Tier 0) of [Understory](https://github.com/oakquant-ai/understory). It is `constitutive`: it declares the vocabulary and the shapes every other package in the family is bound by. It imports nothing of Understory's.

Expertise — a faculty's standing claim about itself, and the Scout's stoplist.

What a faculty says it can do, read by the Scout when it de-domains an idea and by
the Convener when it collects bids. It is a *declaration*, not a measurement: a
faculty asserting it provides an affordance does not thereby have standing, which
is checked against a calibrated track record elsewhere.

## What each version added

- **2.5.0** — `construct`: CONSTRUCT VALIDITY as declared vocabulary. ExperimentSpec says what an experiment RUNS and never what its data must CONTAIN, and that omission produced the same failure twice a day apart — a run correct in every respect answeri
- **2.6.0** — NavigatorPort becomes seatable: it was the ONE port not marked `@runtime_checkable`, so `isinstance(nav, NavigatorPort)` RAISED and no conformance suite could assert the Navigator satisfied its own port — the office could be declared in the
- **2.7.0** — ⭐⭐ THE ANSWER POLICY (plan-new-faculties §1A.1), contract-level and inherited by all nineteen faculties: `answer.py` adds the seven-item AnswerEnvelope and narrows `Decline` to a HARM GATE or an answer that would be FABRICATED OUTRIGHT — th
- **2.8.0** — ⭐ WHAT THE ENGINE MAY NOT KNOW ON ITS OWN. Principle 8 says the engine is discipline-agnostic, and the `location_discipline` check has reported the host breaking it since 0.6.4: `harm.py` held biomedical vocabulary ("disease", "drug", "clin

## Install

```sh
pip install oak-understory-common
```

Part of the OakQuant `oq-sync` set. See `understory/docs/repositories-and-packaging.md` for where this package may live and what it may import.
