abc-ai/concepts.md
Tiara Rodney 41481636d8
init
2026-02-05 01:51:29 +01:00

67 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 toplevel 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 firstlevel 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 finegrained 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 (ABCC0) 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 (ABCC0) 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 (ABCC0) is created and
provided with its Input Contract (ABCC4). It defines how callers supply inputs
and how the construct exposes its Output Contract (ABCC5). The interface is
stable, minimal, and frameworkagnostic, ensuring that internal implementation
details never leak into parent constructs.
## ABC-C7 - Capturing Down
A parenttochild dataflow mechanism in which a Construct (ABCC0) 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 childs
Input Contract (ABCC4). No child may access parent state except through this
mechanism.
## ABC-C8 - Bubbling Up
A childtoparent dataflow mechanism in which a Construct (ABCC0) exposes its
outputs exclusively through its Output Contract (ABCC5). 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.