67 lines
2.9 KiB
Markdown
67 lines
2.9 KiB
Markdown
# 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.
|