# ADR-021: Integration Module as Facade

| Field     | Value                                    |
|-----------|------------------------------------------|
| Status    | Accepted                                 |
| Type      | 2 — Reversible                           |
| Score     | 0.82                                     |
| Date      | 2026-02-18                               |
| Decider   | Conductor                                |

## Context

The CLI needs to compose Rings 1-3 (kernel, credit, fabric, intelligence)
into high-level operations. Direct imports from each ring would couple
the CLI tightly to internal module structure.

## Decision

An integration module (`integration.py`) provides high-level facade methods
that compose the rings. The CLI calls facades only. Users wanting a Python
API also use these facades. Internal ring imports are lazy (inside methods)
to keep startup fast.

## Consequences

- **Thin CLI**: CLI is pure argparse plumbing, no business logic.
- **Python API**: `OrxaqEngine` is the programmatic entry point too.
- **Testable**: integration tests mock no ring internals, just verify outputs.
- **Lazy imports**: first call to a ring-specific method triggers import.
