Search by

kumwe / integration

llewellyn

Portable event catalogs, bounded payload validation, process state and neutral integration ports.

Package info

github.com/kumwe/integration

pkg:composer/kumwe/integration

Statistics

Installs: 124

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v0.2.3 2026-09-08 19:59 UTC

This package is auto-updated.

Last update: 2026-09-12 15:10:57 UTC


README

Latest version Integration CI PHP requirement License

Versioned event envelopes and schemas, validated consumer and webhook declarations, atomic catalog replacement, immutable process state and work, and neutral inbox, outbox and process-store ports.

Installation

composer require kumwe/integration:0.2.3

Requires PHP ^8.5, ext-mbstring and the dependencies in composer.json. Pre-1.0 Kumwe dependencies and consumer installations use independently verified exact version pins.

use Kumwe\Integration\PayloadSchemaValidator;

(new PayloadSchemaValidator())->assertPayload([
    'type' => 'object',
    'required' => ['record_id'],
    'properties' => ['record_id' => ['type' => 'string', 'minLength' => 1]],
    'additionalProperties' => false,
], ['record_id' => 'record-7']);

Run the standalone example with composer examples. An installed consumer can run php vendor/kumwe/integration/examples/consumer.php vendor/autoload.php from its root, or include the example after loading its own Composer autoloader.

Contract with Kumwe Core

Integration owns event and consumer declarations, bounded payload validation, deterministic catalogs, process transitions and neutral persistence ports. Core owns transactions, transport delivery, dispatch, webhook signing and egress policy, authorization, extension activation and retention enforcement.

JSON-dependent constructors and factories require Kumwe\CanonicalJson\CanonicalEncoder explicitly. Core supplies that encoder. Declaration inputs reject floats, objects, resources, depth over 32 and collections over 512 before invoking it. Payload and event-envelope profiles keep their own documented bounds; see architecture.

The optional ConfigProvider and explicit container factory support Laminas/Mezzio composition. Core supplies admitted declarations and the encoder, controls generation transitions, and synchronizes shared mutable catalogs when its runtime permits concurrent execution. The factory discovers no extensions and registers no storage, transport or authorization implementation.

API and development

See host composition, public API, charter and release contract record. The record preserves source provenance, symbol mappings, manifest digests and consumer verification requirements.

npm ci --prefix tools/governance --ignore-scripts
composer install
composer check

The full gate verifies schemas and rejection cases, PHP source and API drift, static analysis, style, behavior, test ownership, examples, security and release automation. composer clean-consumer builds and installs the actual ZIP into a fresh Composer consumer, then tests installed classes and examples through its authoritative autoloader. Node.js and schema dependencies are development tooling only.

Releases and license

Live badges identify the published package and actual default-branch CI status. Publication and passing package tests do not establish Core adoption or independent release verification. Release policy defines immutable artifact identity, exact pins and consumer evidence.

Licensed under Apache-2.0.