orchestrata_ultimate.factory.projection

Reference › orchestrata_ultimate › factory › projection › init

Package marker for rule-driven projection and the completeness meta-check (SPEC-033 row B5, ADR-0006, ADR-0025). It defines no code of its own; see the package page.

At a glance

Source src/orchestrata_ultimate/factory/projection/__init__.py
Lines of code 31
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

Permalink: https://gitlab.com/MSamy/orchestrata-ultimate-architecture/-/blob/a4cbc2bdf/src/orchestrata_ultimate/factory/projection/__init__.py

"""SPEC-033 rule-driven projection + completeness meta-check (B5, ADR-0006/0025).

No ``@traces`` decorators in this package: SPEC-033 §4 (this work's home,
"Storage") defines no ``REQ-033-*`` ids -- those belong to §6. Requirement-id
authoring for §4 is a spec change outside this lane, same precedent as
``factory.enforcement`` (§3).

Modules
-------
analyzer        ``required_predicates`` -- derives a rulebase's transitive
                predicate call graph (name/arity) by static analysis and
                partitions it into intensional/extensional/builtin, per
                ADR-0006 ("the projection is generated from the rules, not
                chosen by hand"). Raises :class:`ProjectionUndecidable` on
                the ADR-0025 banned constructs (non-ground ``call/N``,
                ``assert``/``retract`` in a rule body, ``=..`` goal
                construction). ``verify_declaration`` cross-checks an
                optional manual ``%! requires:`` header -- never authoritative.
completeness    ``assert_projection_complete`` -- the pre-run gate: raises
                :class:`IncompleteProjection` when a required extensional
                predicate is absent from what a caller is about to project.
                ``projection_manifest`` renders a JSON-able provenance record.

Wiring note (B5 brief): this package delivers the CONTRACT a projection call
site must satisfy; wiring each existing per-gate assertion call site
(ADR-0005 ground-fact discipline) to call ``assert_projection_complete``
before consulting a rulebase is a separate, reviewed change -- see the
seam comment in ``completeness.py``.
"""

from __future__ import annotations