PHPackages                             liquidrazor/kernel-state-events - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. liquidrazor/kernel-state-events

ActiveLibrary[Framework](/categories/framework)

liquidrazor/kernel-state-events
===============================

Framework-owned immutable kernel lifecycle event implementations for the LiquidRazor Framework.

v0.1.0(3mo ago)021MITPHPPHP &gt;=8.3

Since Apr 3Pushed 3mo agoCompare

[ Source](https://github.com/LiquidRazor/KernelStateEvents)[ Packagist](https://packagist.org/packages/liquidrazor/kernel-state-events)[ RSS](/packages/liquidrazor-kernel-state-events/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (2)Versions (2)Used By (1)

LiquidRazor Kernel State Events
===============================

[](#liquidrazor-kernel-state-events)

`liquidrazor/kernel-state-events` is a provider-only PHP library that supplies the concrete immutable kernel lifecycle event implementations used by the LiquidRazor Framework.

It provides implementations only. Event contracts, event taxonomy, and event infrastructure remain owned by `liquidrazor/event-manager`.

Documentation
-------------

[](#documentation)

- [Lifecycle Reference](docs/lifecycle-reference.md)

What This Package Is
--------------------

[](#what-this-package-is)

- A library of concrete immutable kernel lifecycle event classes
- A small supporting model around those events
- `KernelState` enum
- `KernelIdentity` value object
- A provider package that implements `EventManager` contracts without redefining them

What This Package Is Not
------------------------

[](#what-this-package-is-not)

This repository does not:

- declare event contracts
- define event taxonomy
- dispatch events
- register listeners
- provide request, response, child, worker, or other process/runtime events
- provide plugin or application event extension systems

If you need event contracts or dispatching, use `liquidrazor/event-manager`. If you need runtime or process events, they belong in a separate package, not here.

Contract Ownership
------------------

[](#contract-ownership)

All event contracts are imported from `liquidrazor/event-manager`.

This includes:

- `LiquidRazor\EventManager\Contracts\KernelStateEventInterface`
- `LiquidRazor\EventManager\Contracts\ImmutableEventInterface`

This package does not declare local replacements or wrapper contracts. `EventManager` owns contracts and taxonomy; `KernelStateEvents` provides the concrete kernel lifecycle implementations only.

Canonical Lifecycle
-------------------

[](#canonical-lifecycle)

The kernel lifecycle represented by this package is intentionally explicit:

`Booting -> Booted -> Compiling -> Compiled -> ContainerLoading -> ContainerLoaded -> Warming -> Warmed -> Ready -> ShuttingDown -> Shutdown`

Compile, container load, and warm are distinct lifecycle phases. That separation is architectural and must not be collapsed into one vague startup state.

Canonical Event Catalog
-----------------------

[](#canonical-event-catalog)

This package provides exactly these concrete events:

- `KernelBootingEvent`
- `KernelBootedEvent`
- `KernelCompilingEvent`
- `KernelCompiledEvent`
- `KernelContainerLoadingEvent`
- `KernelContainerLoadedEvent`
- `KernelWarmingEvent`
- `KernelWarmedEvent`
- `KernelReadyEvent`
- `KernelShuttingDownEvent`
- `KernelShutdownEvent`

See the [Lifecycle Reference](docs/lifecycle-reference.md) for the full class-to-state mapping and phase semantics.

Public Package Surface
----------------------

[](#public-package-surface)

Concrete events live under `LiquidRazor\KernelStateEvents\Event\*`.

Supporting types:

- `LiquidRazor\KernelStateEvents\Enum\KernelState`
- `LiquidRazor\KernelStateEvents\Value\KernelIdentity`

Each concrete event currently accepts a `KernelIdentity` in its constructor and exposes:

- `kernelIdentity(): KernelIdentity`
- `state(): KernelState`

`LiquidRazor\KernelStateEvents\Internal\Event\AbstractKernelStateEvent` exists as shared implementation logic in the internal namespace. It is not the package's contract layer.

Project Structure
-----------------

[](#project-structure)

The repository follows the standard LiquidRazor library layout:

```
include/
  Enum/
  Value/

lib/
  Event/

src/
  Event/

```

Responsibilities:

- `include/` contains public supporting definitions owned by this package
- `lib/` contains reusable implementation logic
- `src/` contains concrete event implementations

Dependency direction remains:

`include
