Skip to content

Latest commit

 

History

History
110 lines (79 loc) · 5.8 KB

File metadata and controls

110 lines (79 loc) · 5.8 KB

Glossary — BE Framework Terms and Canonical Examples

A reverse index from the philosophical vocabulary used throughout this repository to the concrete PHP file that best illustrates each term. If you are an AI assistant, this is the fastest way to ground the six-layer model in actual code.

Paths are relative to the repository root.


Dynamis (δύναμις) — "Input"

Definition. The raw potential that enters the system before any transformation. In code this is an Input class: a final readonly DTO that carries only user-supplied data and declares its successor via #[Be].


Dasein — "Being"

Definition. An existential state whose properties are computed at construction time from its #[Input] parameters and injected Reason services. A Being has no mutable state and no side effects beyond the pure transformation captured in its constructor.


Keiki (契機) — "Moment"

Definition. A transitional part of a larger whole, carrying a deferred Potential. A Moment implements MomentInterface; its constructor creates the Potential object (e.g. reserving inventory) and its be() method commits it. Moments are Hegelian "moments of a whole" and Aristotelian "dynamis" simultaneously — they exist in-order-to be realized by an enclosing Final.


Energeia (ἐνέργεια) — "Final"

Definition. The fully actualized result; the convergence point at the end of a flow. A Final that owns Moments realizes them via self-completion: it takes each Moment through #[Inject], calls $moment->be() in its constructor, and derives its own actualized fields from the committed state.


Sinn — "Semantic"

Definition. Domain validation rules. A Semantic class has a single #[Validate] method that throws a domain-specific exception on bad input. Semantic classes often link to schema.org via @link in the docblock when a standard term exists.


Sufficient Reason — "Reason"

Definition. The business logic and external integrations that a Being or Moment needs in order to become what it is. Reason classes are always injected through an interface (never used concretely), so they can be replaced in tests. Think of them as the "why this Being is able to exist" layer — the ground of the transformation.


Supporting vocabulary

  • Potential: the object a Moment holds between construction and be(). Lives under src/Moment/Potential/ (e.g. InventoryReservation). Calling its be() is the idempotent commit.
  • #[Be]: Framework attribute declaring successor class(es) for an Input or Being. Defined in Be\Framework\Attribute\Be.
  • #[Input]: Ray\InputQuery attribute marking constructor parameters fed from the prior state's public properties.
  • #[Inject]: Ray.Di attribute marking parameters resolved from the DI container.
  • #[Validate]: Framework attribute marking the method that runs during Semantic validation.
  • Qualifier attributes (e.g. #[ProductId], #[Quantity]): per-demo attributes under src/Attribute/ that act as Ray.Di qualifiers to disambiguate parameters of identical primitive types.

See CLAUDE.md for the recommended reading order and hard invariants, and patterns.json for the full demo catalog in machine-readable form.

If you arrived here via the be skill from be-framework/be-skills, this glossary is the resolution layer between the philosophical vocabulary that skill uses and the concrete files in this repository.