orchestrata_ultimate.factory.amendment
Reference › orchestrata_ultimate › factory › amendment › init
Package marker for the amendment-direction classifier (SPEC-033 row B16, ADR-0009, ADR-0020, ADR-0021). It defines no code of its own; see the package page for classify and its helpers.
At a glance
| Source | src/orchestrata_ultimate/factory/amendment/__init__.py |
| Lines of code | 28 |
| Classes | 0 |
| Functions | 0 |
| Imports (internal) | none |
| Imported by | none |
| Tests that import it | none |
Class diagram
No classes; see Functions.
Dependency diagram
No internal imports and no importers.
API
No public API: the module defines no classes, functions or constants.
Source
"""SPEC-033 amendment-direction differential classifier (B16, ADR-0009/0020/0021).
Classifies a rulebase amendment (old text -> new text) as
:class:`~orchestrata_ultimate.factory.amendment.models.Direction`
``TIGHTENING`` / ``LOOSENING`` / ``UNDETERMINED``. Direction gates who may
ratify the amendment (ADR-0009): tightening needs only the amending quorum,
anything else needs the human.
Modules
-------
models ``Direction``, ``ChangeKind``, ``ClauseChange``, ``DirectionVerdict``.
syntactic The decidable fragment (ADR-0020 step 1) -- clause/body parsing,
per-predicate diffing, and the provably-tightening/-loosening
syntactic test.
coupling ADR-0021 transitive-closure coupling accounting + boundary-change
detection (component merge/split/move is loosening by definition).
classify ``classify_amendment`` -- the fail-closed cascade (ADR-0020 step
3): syntactic first, downgraded to UNDETERMINED whenever the
ledger screen or coupling signal contradicts a syntactic
TIGHTENING verdict. ``ledger_screen`` -- the ADR-0020 step 2
refutation-only screen over an explicitly passed fingerprint set.
No ``@traces`` REQ id exists for this package (SPEC-033's requirement
enumeration does not yet carry one for the amendment classifier) -- omitted
throughout on that basis, per the brief.
"""
from __future__ import annotations