Concepts¶
ABC-C0 - Construct¶
An encapsulated unit of infrastructure logic that can represent an Application Stack, Logical Unit, Resource Group, or any reusable component. It exposes a single Instantiation Interface and implements its behavior internally, independent of other constructs.
ABC-C1 - Application Stack¶
The top‑level construct representing the entire deployment boundary of an application. It composes multiple Logical Units, orchestrates their instantiation, and mediates all data flow between them. It exposes a single, coherent input/output surface for the whole system.
ABC-C2 - Logical Unit¶
A first‑level subdivision within the Application Stack that encapsulates a major functional domain (e.g., Data, Logic, Presentation). It contains one or more Resource Groups and defines explicit input/output contracts for interaction with the Application Stack.
ABC-C3 - Resource Group¶
A fine‑grained construct within a Logical Unit that provisions a cohesive set of related resources. It receives only the inputs it requires from its parent Logical Unit and returns outputs upward; it never communicates directly with sibling Resource Groups.
ABC-C4 - Input Contract¶
A formally defined set of parameters that a Construct (ABC‑C0) MUST receive from its parent. It specifies all required configuration, contextual values, and dependencies needed for correct instantiation. It prohibits implicit or global state; every dependency must appear explicitly in this contract.
ABC-C5 - Output Contract¶
A formally defined set of values that a Construct (ABC‑C0) MUST expose upward to its parent. It represents the complete set of externally consumable identifiers, endpoints, or computed values produced by the construct. It ensures that all upward dependencies are explicit and traceable.
ABC-C6 - Instantiation Interface¶
The single, explicit mechanism through which a Construct (ABC‑C0) is created and provided with its Input Contract (ABC‑C4). It defines how callers supply inputs and how the construct exposes its Output Contract (ABC‑C5). The interface is stable, minimal, and framework‑agnostic, ensuring that internal implementation details never leak into parent constructs.
ABC-C7 - Capturing Down¶
A parent‑to‑child data‑flow mechanism in which a Construct (ABC‑C0) provides its children with the exact subset of inputs they require. It ensures that all downward dependencies are explicit, scoped, and passed only through the child’s Input Contract (ABC‑C4). No child may access parent state except through this mechanism.
ABC-C8 - Bubbling Up¶
A child‑to‑parent data‑flow mechanism in which a Construct (ABC‑C0) exposes its outputs exclusively through its Output Contract (ABC‑C5). Parents receive these outputs, may aggregate or transform them, and may optionally pass them further down to other children via Capturing Down. No lateral or implicit communication is permitted.